Bounding Box Get element intersect tolerance isn't working properly when using elements from link

I have been using this node since long time and it is working perfectly, However, when i use it for detecting intersection between native elements and elements from link model, the tolerance isnot working properly as it detects other elements out of the boundary even if the tolerance is 0 .does someone has a solution for that ?

You need to use Element.IntersectsElement node if you want intersections/clashes. The bounding box nodes are used primarily for collecting surrounding elements as Revit uses AABBs.

Thanks for your reply , However, the node of element.intersectElement node works only for Native elements but not for elements from Links. However, i have tried another node get surrounding elements in a document but it didnot work neither. that is why i have used this method to collect the surrounding elements. However, the question still here, why it collects elements out of tolerance’s value ?

The Element.Intersection nodes are 100% compatible with linked elements. All the details you need to know about it can be found here:

One reason why you might be seeing your results is because a bounding box is axis aligned and…a box. So its no good looking purely at your geometry and asking your question; get their bounding boxes - do they overlap or are any of the sides of one BB coincident with another? If they are, they intersect, and therein lies your answer.

I should also clarify the BoundingBox.GetElementsIntersect node extracts and evaluates the bounding box of the element, not its geometry and then performs the intersection check. This nuance is probably whats caused you to question its behavior.

There are no outputs when iam using this node with linked elements. the only two nodes that detects the intersection with linked elements is “Bounding Box , Get surrounding elements in a document” .
each time i use Element.intersectsElements node, it doesn’t give any output. do you know why it doesn’t work if it is 100 % compatible

the first elements are Generic models in native models and second elements are Ducts from linked models

You’re getting quite confused and talking about two different things. If you are asking if linked elements are compatible with the Element.IntersectsElement node (and all the other intersection nodes), the answer is yes, there is 100% compatibility - just input LinkElement's from one of the BimorphNodes LinkElement classes.

If on the other hand you want to know if every element type in Revit is supported by the Element.IntersectsElement node, the answer is no as the Revit API call that’s used to perform the intersection doesn’t support all element types. This has nothing to do with whether they are linked or not, its simply a limitation in Revits API.

You can easily find out if the element types you want to use for intersection checking are supported using the Element.IsSupported node.

I suspect the Rectangular Face Opening elements are not supported and that’s why you are seeing empty results (typically, elements which don’t have geometry are not supported, and certain element geometry typologies such as cylinders give unexpected results).

If you upgrade to the latest version of BimorphNodes this check is even easier as the ElementIntersectionResult that’s returned includes an IsSupported property so you can check first-hand in the output dialog or the reports’ query node. If its not supported then you cant use the Element.IntersectsElement node.

The BoundingBox nodes use a different API call and do not have the same restrictions on element types which is why you might see different results. Using bounding boxes for intersection checks are only useful as an optimization step prior to performing geometry intersections as the latter provides precision whereas the former is just dealing with AABBs and is used for gathering a coarse search set very rapidly.

Therefore, if the Rectangular Face Opening elements are the problem, you’ll need to look at using Dynamo nodes like Geometry.Intersect and see what kind of solids you can extract from them for this purpose. Just don’t expect it to be performant - and this is why the bounding box intersection is so useful as you can optimize the intersection set.

1 Like

Hello , Thanks for your comprehensive reply.
i will try to be more tentative. I have tried the node “Element.Is Supported” and it reported that the elements “Rectangular Face Opening” are true. it means that these elements are suppoerted by the node “Element.Intersects Element”.

Moreover, I understand that the bounding box of an element doesn’t give you the precision of the geometry of that element. that is why i have tried to create the bounding boxes uses the minimum and maximum points from the node “Element.location+” to maximize the precision. However, i still don’t have the precision associated with the tolerance


You need to upgrade to the latest version of BimorphNodes as the version you are using doesn’t include the update made to the Is Supported node a long time ago where certain elements who’s category is supported by type isn’t would report incorrectly.

Rectangular Face Openings are not supported:

Hello, i will update it to the latest version , However, you have mentioned that the “Rectangular Face Openings” are not supported ? how did you check that as i havenot shared the family ?

Thanks.

I simply created an Opening by Wall in Revit and assumed it to be the same type as the type displayed in your screenshot. Best thing to do is check your end with the latest version and share a simple file with your family if it IsSupported.

Thanks for the clarification, I have noticed something in the test that you have done. Actually , it is normal that you don’t have output because first you have modelled the two elements in the same file and second there is no interference between the wall and the opening as it is embedded in the wall. so there will be no intersection.

what i have done is in one file i have the wall and the opening as you have modelled and in the linked file, i have solid element that has modelled in the same place than the void. so it is different.

Please check the attached files. i have attached the native file and linked file with Dynamo script.

Link : WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Moreover, i have tried this node and also it reports the same thing. However, i bind the link to be in the hosted model then run the script between voids and solid elements “both of them are native” it reports properly. that is why i was mentioning that it is dysfunctional with links.

@arsanious.abtnagoZG5 can you share a two Revit files: one with a wall, the other with your opening (solid?) family linked and send a graph which only includes the bimorph nodes and expected outcome and I can take a look.