2025.0.8
Addins dependency isolation. End of DLL hell
In this release, RevitLookup now runs in an isolated container for addin dependencies.
This new capability prevents conflicts and compatibility issues arising from different library versions between plugins, ensuring a more stable and reliable environment for plugin execution.
This enhancement uses the Nice3point.Revit.Toolkit
to manage the isolation process, effectively eliminating DLL conflicts.
By integrating this package, RevitLookup ensures a consistent and predictable user experience.
Detailed description how it works: https://github.com/Nice3point/RevitToolkit/releases/tag/2025.0.1
Dependency isolation is available starting with Revit 2025.
Note that the isolation mechanism is implemented by an additional library that must be loaded into Revit at first startup for it to work.
Therefore, if your other plugins use Nice3point.Revit.Toolkit
, it must be updated to version 2025.0.1, which introduces this feature
Concept explanation from @ricaun https://www.youtube.com/watch?v=cpy4J_6-8WY
Improvements
- Added new extensions for Part and PartMaker classes by @SergeyNefyodov in #255
- Added new extensions for Element class in #257
Type | Extension | Description |
---|---|---|
Part | IsMergedPart | Is the Part the result of a merge. |
Part | IsPartDerivedFromLink | Is the Part derived from link geometry |
Part | GetChainLengthToOriginal | Calculates the length of the longest chain of divisions/ merges to reach to an original non-Part element that is the source of the tested part |
Part | GetMergedParts | Retrieves the element ids of the source elements of a merged part |
Part | ArePartsValidForDivide | Identifies if provided members are valid for dividing parts |
Part | FindMergeableClusters | Segregates a set of elements into subsets which are valid for merge |
Part | ArePartsValidForMerge | Identifies whether Part elements may be merged |
Part | GetAssociatedPartMaker | Gets associated PartMaker for an element |
Part | GetSplittingCurves | Identifies the curves that were used to create the part |
Part | GetSplittingElements | Identifies the elements ( reference planes, levels, grids ) that were used to create the part |
Part | HasAssociatedParts | Checks if an element has associated parts |
PartMaker | GetPartMakerMethodToDivideVolumeFW | Obtains the object allowing access to the divided volume properties of the PartMaker |
Element | GetCheckoutStatus | Gets the ownership status of an element |
Element | GetWorksharingTooltipInfo | Gets worksharing information about an element to display in an in-canvas tooltip |
Element | GetModelUpdatesStatus | Gets the status of a single element in the central model |
Element | AreElementsValidForCreateParts | Identifies if the given elements can be used to create parts |
Solved issues
- Dependency conflicts #210, #252
- Request for adding
WorksharingTooltipInfo
properties #254 - Discussion about
AssemblyLoadContext
implementation #246
Full changelog: 2025.0.7...2025.0.8
RevitLookup versioning: https://github.com/jeremytammik/RevitLookup/wiki/Versions