Any ideas on how something like this can be accomplished?
What I have done before is create a parameter ‘Is Vertical’ and then use dynamo to check all relevant elements (get the end coordinates of pipes and ducts, compare the Z coordinates) and set this to true or false. Then you can filter a view to show only verticals and tag, or tag all automatically.
In this case Im wondering what they are tagging. If its the pipe or duct then it will need to contain parameters for penetration size and can only have one value for multiple levels. Or maybe they place a family at every intersection with a level and tag that.
To show the UP or DN tags I guess they are getting the levels from the active view, checking if the ducts intersect one or both, then using a tag type that has UP, DN or UP/DN in it.
So something like:
- Get all ducts and pipes in view.
- Find and mark vertical elements’
- Get view levels
- check intersection of vertical elements and levels. filter out elements with no intersection
- Sort vertical elements by level above, level below and both.
- Select correct tag type for each element (That tags with Size + UP/DN)
- Place tag, with some offset from the element.