Filter linked model elements (cable trays) by specific view

I’m creating a Dynamo script to place sleeves where cable trays intersect with walls. Both the cable trays and walls are coming from linked Revit models (electrical and architectural).

I’m currently using the BiMorph LinkElement.OfCategory node to collect all cable trays from the linked electrical model. However, this node returns all cable trays in the model.

I want to filter the linked cable trays so that I only get the ones that are visible in a specific view for example

Is there a reliable way to filter linked elements by those visiblein view?

iirc, that package itself has some utilities to help you filter elements by geometry where essentially it uses pre-transformed bounding boxes and solids to probe what could be in the current view.

additionally, if you are using rvt 2024 or more recent builds, it supports filtering linked elements in active view natively.

1 Like

ty for reply but i could you tell the node name to limite the selection to only those in spesificview

something along this line. Bimorph Nodes Element.IntersectsElement | Dynamo BIM
Bimorph Nodes BoundingBox.GetElementsIntersect | Dynamo BIM where essentially you filter them by boundingbox first to get a rough result then go with solid/element intersections. or just straight brute-force solid intersection in the first place.

but come to think of it, active view isn’t really what you need. would be better to focus on which MEPCurves are intersecting with the wall.

on the other hand, might want to take a look at this, it has a free tier.
Cut Opening Free | Revit | Autodesk App Store

unless you have something unique you want to implement, otherwise it covers a pretty wide range of situations.

Hi @abdelrahmanelfeky6 you could try element ByCategoryInHostView from genius loci as support link i guess :wink:

See this post for OOTB nodes

ty it worked with walls
but not with cable trays any idea why?

edit: it was the view range xD

2 Likes