- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
We have reproduced REVIT-120608 in Revit 2026: Room.GetBoundarySegments() called on a Room inside a linked model can silently omit boundary edges when the bounding element is in another linked model. No exception is thrown; the loop is simply incomplete. BoundarySegment.LinkElementId was not a reliable diagnostic signal in our case.
We found a reliable workaround:
1. Take the linked Room.Location.Point.
2. Transform it to host coordinates using RevitLinkInstance.GetTransform().
3. In the host document, start a SubTransaction.
4. Create a temporary host Room on the host level at the transformed point.
5. Call doc.Regenerate().
6. Call GetBoundarySegments() on the temporary host Room.
7. Immediately serialize the returned curve data to plain numeric data.
8. Roll back the SubTransaction.
9. Rebuild curves from the serialized data and use those for Area Boundary Lines.
This works because Revit computes the temporary Room boundary in host context, where all relevant sibling links are loaded directly, avoiding the nested linked-room traversal issue.
No synthetic gap geometry is used. The workaround still uses Revit-generated boundary geometry.
Could Autodesk please confirm whether this is a safe workaround for REVIT-120608, and whether the API team could consider exposing an official read-only host-context boundary calculation method for linked Rooms?
Can Autodesk confirm that this SubTransaction + rollback host-room probe is safe, provided that no API geometry objects are kept after rollback and only serialized numeric curve data is used?
Solved! Go to Solution.