Skip to content

2025.0.8

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Jun 21:23

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