Clash check with bimorph node Element.IntersectsElement

Dear Sirs,

I’m having problem with one dynamo script. Can you please help me with that?

Main problem is with Revit linked model elements (walls) that bimorph node LinkElement.OfCategory interprets incorrect. I’m using node Element.IsElementSupported to check. All elements that are not supported are from linked model that is made from same template as main model
Later in script i’m trying to use that elements to check clashes with some other revit elements with bimorph node Element.IntersectsElement but it doesn’t work

How many Links do you have?
Can you try just one link at the time?

I have only one revit link, with only 4 walls

Some times i get next error

Can you try downloading the script at the bottom of the page and rebuild the first (input) nodes to suit your needs?

1 Like

Is your second link loaded as that’s what’s causing the bimorph node to throw that exception?

No. I always get that exception. I tried with only one link

I already have that in my script, but i don’t want to manual select linked models. I need to go trough all the revit links and i tried with all elements of type node.

I wanted to add revit models and links but I’m new here, and i can’t send them. Is there some way to share script and models for you to try find the error?

Seems like the issue is with the link. When you collect them are any null? Are they imported IFC or RVTs? If you test on one link and it fails have you opened that file and collected the walls using OOTB nodes to rule out possible causes? Also which version of Revit and Dynamo are you using as that might also be the problem - I’m aware BimorphNodes is affected by differences with Dynamo Categories and Revit categories (which shouldn’t be the case but :man_facepalming:) so that may also be the cause.

Even if i manually select link instance bimorgh node produces walls that are not compatible with bimorgh.
Did someone had that sort of problem?

Good day Thomas,
I’m using Revit 2019.2 an Dynamo 2.0.2. Maybe, the problem is with versions of software.

Share a file with a few walls that exhibits the problem and ill take a look.

All models and dynamo script included.

Thanks @petrovic_zoran this is a bug in BimorphNodes. Basically that node verifies if the input element is a linked element. If it is it then checks if the element is a BimorphNode LinkElement and thats where the bug occurs; the check is done on the internal Element not the LinkElement, so the final check always returns false…and thats why you see false with all link elements. This will be fixed in the next version. As a workaround, use live elements to check or use this python code:

import clr

clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

elements = UnwrapElement(IN[0])

def IsSupported(element):
	return ElementIntersectsFilter.IsElementSupported(element) and ElementIntersectsFilter.IsCategorySupported(element)

OUT = [IsSupported(e) for e in elements]

Maybe we don’t understand each other. I’m having problem is with clash node, as you can see on first picture i posted. That node doesn’t work because some elements from previous selection have failed.

@petrovic_zoran thanks again - you were seeing this exception? 7

This was misfiring and another bug! The node samples your input list for efficiency reasons to verify if linked elements are in your list and the sampling was out of sync with the input list of elements which resulted in false positives. This is fixed and due for release in the next version. As a workaround, you’ll need to separate the clash detection for linked elements and live elements - dont mix and match them until the update is released (possibly June - depends on free time) then everything will work as expected.