I haven’t used Dynamo to collect IFC elements, but I assume you have converted the IFC into Revit geometry, which in turn converted the columns into in-place generic models.
If there is anything these columns all have in common (such as a name or parameter), you could collect all elements in an active view, filter them so you are only dealing with your column elements, use Element.Geometry to convert them to Dynamo geometry, take the bottom face of the geometry, get boundary as a poly-curve, verify the outline types (arc or rectangular/square).
You could check the diameter for arcs and the long/short side lengths for rectangular/square bases. I would then export these to excel, modify a column family so it contains all of these types (and name them in a way which allows you to tell the dynamo script to match these profiles with family type names - e.g. 400x800).
This would allow you to create actual families with types set up based on the outlines at their base. You would also need to identify their height at base/top to verify their level at base/top and any relevant offsets.
It would be a long script, but if you are dealing with 4000 elements and need to take them into a Revit model for documentation setting up this script should save you a lot of time in the mid-long run.
Sounds like a fun one… crank out the elbow grease I guess. You could try to at least handle the more regular elements using scripting with simpler geometry (maybe by converting to geometry, converting that to polysurface, and filtering out anything with more than 6 surfaces?).
I can create a “material” shared paramter and project paramter and link them together.
In revit edit in-place mode, I can assign the shared parameter to element.
Then I can assign required material in the project parameter.
I have to do this 4000 times in revit.
The problem is how to assign the the shared parameter to element (in-place component) in Dynamo?
Hi Mark.Ackerley
I create a family using generic model.rft and apply “Default” material, then save it as Family1.rft.
How do I use it to import IFC, sorry for the ignorance.
Change ext from rvt to rft. Family1.rvt (344 KB)
I forgot to mention that I want to keep the ralative locations of all 4000 elements.
So converting to rfa will make me to insert rfa into revit and relocate all 4000 elements
Download and try out the Orchid package, there are a lot of parameter add/edit nodes in there - although I haven’t tried them out for in place families. I am unsure how you would be able to apply the material parameter to all the geometry - might be a limiting factor.
Thanks for the tag Mark.
Geometry Gym have a 3rd part IFC importer as an alternative to out of the box Revit.
You can download and try it from the downloads page at www.geometrygym.com
There’s a higher success rate at making native revit elements based on symbols.
You can also manipulate an IFC file prior to importing to Revit, this is most convenient in Grasshopper but you can zero touch load the open source toolkit in Dynamo.
We can help with strategy on this process if you can post or privately share a representative IFC file.
The problem is related to in-place component, you can apply material either by two methods
enter “Edit in-place” mode and you can apply material there, but I can’t find such a node or package to do the same thing in Dynamo.
Just like I showed in my 1st post, create a shared parameter and corresponding project parameter “Material” and assign the shared parameter to the material property in “Edit in-place” mode. Then I can use project parameter to assign material, and I can do the same thing in Dyanmo. The difficult part in this method is that I have to “assign the shared parameter to the material property in “Edit in-place” mode” for 4000 elements by hand, and there is no corresponding dynamo node or package.
Based on my research, Dynamo has limitation on in-place component.
After directly importing IFC, I can actually assign the materials, but only in “Edit in-place” mode. Look like Dynamo has limitation on “Edit in-place” mode.
So @Xiaofei_Ying is there final verdict for this problem ? Similarly, I have the same problem. I created generic model family from Solid blocks from Dynamo. Then added Material Shared parameter for these. But these shared parameters do not link to the Family Material Parameter. With that being said, if i have 4000 blocks, i will have to go in family editor mode for each one of them to link the material shared parameter to the family actual material parameter.
I would like to know if you or anyone in this topic have a final solution for this. Please help me, Thanks.
In-Place families are not editable with the help of Dynamo.
If the nested family is “Shared” you can set parameters with the help of Dynamo.
If this doesn’t answer your question, please make a new topic
This topic is a year old at least