Collect.linkedInstanceElements and Element.Geometry


Im new to this forum and to dynamo working my way through tutorials, LinkedIn courses and the get started example in Dynamo…My question below isn’t project specific. I am just experimenting to understand how some nodes work.

I have linked an IFC into a blank Revit model. The IFC contains 1 wall, 2 duct elements and 2 Generic Face based openings. and used the following nodes (shown in the image below) to collect all elements from the IFC.

My question:

A. While my intent is to collect Generic Model, I get a list of 6 element 2 of which are wall elements (ind. 0 & 1). I have just in the IFC!! why is that? I have 1 wall element in the IFC, any logic behind it?

B. I am assuming that the elements named port_(XXXXXX) are the 2 ducts and 2 Generic FB opening? is this correct? if yes is there a way to filter out just the 2 Generic Face based families?

C. When I use Element.Geometry I see in the model 2 yellow geometries (I am assuming those are the two generic model families) … Element.Geometry help section says Get all Geometry, so I am not getting although what happened to the other solids/geometries listed under each index…

Many thanks in advance…

1 Like

IFCs are odd ducks, I suggest testing with RVT links in the immediate future as you get up to speed on Dynamo, and come back to IFC later. This is because IFCs have a unique conversion process, which depending on the file you brought in and the means which you did it can create some odd results.

That said it’d be good to get this answered for you, but we need the data set. Can you provide the rvt which was linked into the file (the IFC would have been converted to an RVT file on linking)?

1 Like

Not really sure why the walls are coming in under this category.

It might be useful to convert the IFC-File to a Revit file by opening and saving the IFC file in Revit.

Maybe the result will be different?

The import has a higher degree of accuracy than opening IFCs directly, so best to import in all cases (there is a resulting RVT created by the import anyway).

Why does the import have a higher degree of accuracy?

I have little experience with IFC links.

Can you point me to some good literature?

No literature to be had, but if you dig around the web there are a few sources (mostly in the form of people MUCH smarter than I complaining about the stuff they have to do in order to work out interpreters).

Generally speaking (again based on me reading others thoughts on the topic), when you have the option to OPEN or IMPORT (what link is really doing, but to a 2nd Revit file) a 3rd party file format you want to import.

This is because open is a core part of any program and has to happen first in order to do any testing on any function. Imagine trying to debug Dynamo without being able to open any files - it’d be a nasty business. Once you can open your native file format you can start testing all the functions you have in it (every command via UI and via API, as well as every graphic display, tool bar, pallet, and the like), and begin looking at bringing other content into the file format via imports (which require interpreters that are of a bonkers level of complexity). Once you get the importer working you can can go back to step 0 and try to append that import code into the open code - maybe it’ll work flawlessly, more likely it won’t and you’ll have to update things. Either way because the open code changed all the other testing of every other part of the code also has to be re-run.

To avoid the ”back to step zero” issue, the file format would have to be perfectly set and 100% consistent before anyone starts working on the ‘open’ command. The very nature of IFC prevents that, and as such working via link is your best bet when dealing with Revit-IFC exchanges.

Tried With the .RVT file and seems to work fine…but when the link is .IFC the output starts getting odd

  1. element marked blue is captured as expected (Provision-Test)
  2. the openings hosted on the wall’s face seem to inherit the name of their host, Basic wall…same when I hosted them on a roof face they were called Roof element - generic (marked red)
  3. When hosted on a floor face … marked in yellow (no name at all just an ID which is not found in the model)
  4. When hosted ob a beam or face of a mass (they are not captured by the collector node…(marked purple)

Can you upload the IFC?

The forum isn’t letting me upload IFC…I uploaded on wesendit both the IFC and native Revit file which the IFC was created from

https: //wsi. li/tGUoSCKh0FlKQx

Working on exchanging technical openings between planers?

Sorry for the late reply, I was outside town for the past 3 weeks.

I am working on both learning dynamo on the go and exchanging technical openings from the IFC received from consultants (IFC is the case here almost 99% of the time) and our Revit…I found this no collect.LinkedinstanceElements quite helpful but it doesn’t seem to capture everything from IFC

Hi @Bob_Dw,

Maybe you can use this link for learning purposes