This PR is to fix a regression in the FamilyType.ByGeometry node. Specifically a change in the Revit API behavior with Delete(elementID) method is causing the node to throw an exception. This is regression between Revit 2024 and Revit 2025 API behavior. In this case the D4R code temporarily imports an SAT file to get geometry to use in the FamilyType creation. The code deletes the SAT import once the geometry has been converted to a Revit Solid. The Revit API change in behavior impacts the ability to Delete the SAT import. The workaround is to unpin the imported Element so that the Delete will not throw.
While there are many use of the Delete element method in the D4R code, it appears the behavior change is limited to the SAT import.
Declarations
Check these if you believe they are true
[x] The code base is in a better state after this PR
Purpose
This PR is to fix a regression in the FamilyType.ByGeometry node. Specifically a change in the Revit API behavior with
Delete(elementID)
method is causing the node to throw an exception. This is regression between Revit 2024 and Revit 2025 API behavior. In this case the D4R code temporarily imports an SAT file to get geometry to use in the FamilyType creation. The code deletes the SAT import once the geometry has been converted to a Revit Solid. The Revit API change in behavior impacts the ability toDelete
the SAT import. The workaround is to unpin the imported Element so that the Delete will not throw.While there are many use of the
Delete
element method in the D4R code, it appears the behavior change is limited to the SAT import.Declarations
Check these if you believe they are true
*.resx
filesReviewers
@mjkkirschner @sm6srw
FYIs
@Mikhinja