Center of gravity from different software

Hi there,

for the kinetic behavior when hoisting facade elements, I want to calculate the mass & the centre of gravity.

So I get copy from Revit, Vertex, Tekla, Solidsworks, Orgadata, etc, which I want to assemble, and add the complete weight and center of gravity.

I found some clues on the forum, but they are ment for native Revit copy.

Let’s simulate the procedure, I take from copy Advance Steel, so I can see what I should get.

I imported this copy twice, once as IFC (containing solids), and once as a.dwg.



I guess IFC is my beste chance, there has to be a way…

OK, I should look for columns & structural framing

Hmmn…I can’t get any of the nodes, I’ll have to ask the author…

Any thoughts on whether this is possible are welcome.

Kind regards,


Both your IFC and DWG warnings are because you are attempting to explode an element, not the geometry from the element. Place an Element.Geometry node between either one and you should have no issues. You could also use an Element.Solids node, and even pull the category or material of each (may require stepping into each of the associated family document and looking at the material values of the ordered list of solids provided therein, mapping those materials to the solids in the element instances) so you can assign a weigh to each solid as you calculate the centroid of more complex shapes.


Thank you Jacob.

Let’s try…hmmm…the only way I can reach the geometry, is when I select the.dwg, but they get exploded to the level of surfaces.

But it’s the .ifc we’re after, as we need to retrieve materials too.

I am looking at an emty collection of solids now…

I did find the other routine above, bit it’s not working neither.

But a non - native solid within Revit is not a category, no?

I guess I have to find it in the IFC as a structural framing or a column…or is there a way to select it by the 'type of geometry"?

Kind regards,


If you bring the geometry in as one solid, no matter where it comes from (DWG, IFC, 3DM Family) it’s going to only have one item. How many solids do you see on the content?

Hi there,

I do not get any solids, it’s all empty.

The fact that I would get all the copy at once is maybe not too bad, then I don’t have to union it neither.

I might map material in another way, if the .ifc doesn’t work out…

The only way I got a solid was with the .dwg, let’s do this again.

Hmm, these are acceptable tolerances.

Now the volume…and the mass…

This is tolerable too.

OK, now I have to do this for another material, so I can combine the momentums.

Let’s take 3, and name the .dwg’s by the material. I put them in the same component.

All right, I see three center points, & three volumes.

What would be a good way to have Dynamo go after the names of the .dwg’s, in order to have the proper specific weight assigned?
I guess I am looking at 9 to 15 different materials depending if the’re windows involved, so It would be nice when the mapping goes automatically.

Again, this depends on how you built the element. In this case I would guess you could use one layer per material, but as I don’t have your data set I can’t confirm.

zwaartepunt IFC 02.dyn (56.4 KB) (49.6 KB) Concerning layers we are talking Autcad, No?

Using the name of a layer as a container for the material was of my mind, as Revit selects all the copy in a .dwg at once, so we cannot assign different materials to different volumes.

I thought to contain the material in the name of the file…let see if I can get it.
Hmm, I get the name of the Component.

Let me insert three files separately.

Hmm, that’s not the name of the file…

Can I acces this name?

Please find the script & two files, one with three separate imports, the other one with three imports within one Component…hmm, too heavy, I will send them.

Kind regards,