-
Notifications
You must be signed in to change notification settings - Fork 15
Configuring Revit objects comparison (RevitComparisonConfig)
As we've seen in the Diffing and Hash pages, we can customise how objects are compared to each other (either using Diffing or by comparing their Hashes) through the ComparisonConfig
object.
In addition to the basic ComparisonConfig
that we can use with any object, we also have a Revit-specific RevitComparisonConfig
object that expands the available options.
Below is an example of how the RevitComparisonConfig
looks in Grasshopper. Note that most of them are already covered by the ComparisonConfig
object base wiki, while the Revit-specific options are only the first 4 (explained below).
The "default"
comparisonConfig
object inherits from theBaseComparisonConfig
abstract class, which defines all the "basic" options. This abstract class can be extended by the "Toolkit-specific"comparisonConfig
s, so you can include additional options to deal with certain objects in your Toolkit, of whichRevitComparisonConfig
is an example.In general, if you implement your own Toolkit-specific
comparisonConfig
object, you will need to implement the functions that deal with it, i.e. a toolkit-specificDiffing()
method and a toolkit-specificHashString()
method.The
RevitComparisonConfig
is in fact used by theRevitDiffing()
method, and, when hashing, by Revit'sHashString()
method. These two methods can be invoked manually, to deal with Revit Objects, or are automatically invoked by the IDiffing() method when the input objects are Revit objects.
Allows to specify Revit Parameter names that should not be considered while Diffing or computing an object's Hash.
This supports *
wildcard matching.
The ParametersToConsider
input allows you to add parameter names that should be considered while Diffing or computing an object's Hash.
If you add a parameter name in this field, only the value held in that parameter will be considered.
If the parameter name that you specified is not found on the object, then no parameter will be considered for that object.
This input supports *
wildcard matching.
This works similarly to the PropertyNumericTolerance
option, but it applies to Revit Parameters only. See that wiki section for more details on how to use it.
This works similarly to the PropertySignificantFigures
option, but it applies to Revit Parameters only. See that wiki section for more details on how to use it.
For a description of all remaining options, see https://github.com/BHoM/documentation/wiki/Configuring-objects-comparison:-%60ComparisonConfig%60.
-
Introduction to the BHoM:
What is the BHoM for?
Structure of the BHoM
Technical Philosophy of the BHoM -
Getting Started:
Installing the BHoM
Using the BHoM
Submitting an Issue
Getting started for developers -
Use GitHub & Visual Studio:
Using the SCRUM Board
Resolving an Issue
Avoiding Conflicts
Creating a new Repository
Using Visual Studio
Using Visual Studio Code -
Contribute:
The oM
The Engine
The Adapter
The Toolkit
The UI
The Tests -
Guidelines:
Unit convention
Geometry
BHoM_Engine Classes
The IImmutable Interface
Handling Exceptional Events
BHoM Structural Conventions
BHoM View Quality Conventions
Code Versioning
Wiki Style
Coding Style
Null Handling
Code Attributes
Creating Icons
Changelog
Releases and Versioning
Open Sourcing Procedure
Dataset guidelines -
Foundational Interfaces:
IElement Required Extension Methods -
Continuous Integration:
Introduction
Check-PR-Builds
Check-Core
Check-Installer -
Code Compliance:
Compliance -
Further Reading:
FAQ
Structural Adapters
Mongo_Toolkit
Socket_Toolkit