I am working on a large sculpture, comprised of hundreds of different parts, all of which are cut from aluminum plate. I need to locate a “pick point” so that I can lift the entire assembly with a crane. How might I locate the center of gravity of the entire sculpture?
That’s what I thought as well. But then I thought maybe it’s if you have a lot of plain surfaces without being able to join them together. But then again volume centroid wouldn’t work, I guess?
It actually does seem to work on disjoint surfaces as well, but I have no idea in that case if that would represent the real center of gravity… If you run _VolumeCentroid you will get a popup that tells you the objects are not closed but lets you continue. If you run _-VolumeCentroid with the dash, it works without the popup.
Sounds like anyone who wants to use it seriously should run a few manually computed test cases to compare with. Or maybe McNeel should put a clear statement in the help about whether it works the way you describe.
AreaCentroid calculates the area centroid of surfaces, for both open and closed surfaces.
VolumeCentroid calculates the volume centroid of closed surfaces / solids. If VolumeCentroid is used on an open surface a warning message appears. If the user proceeds it is not obvious what the result represents.
Both calculate the total centroid if multiple surfaces or solids are selected. Pascal’s script may be redundant.
For a sculpture made of a single thickness of plate the center of gravity should coincide with the area centroid. Any discrepancy in center of gravity vs area centroid should be less than the thickness of the plate.
Many thanks to everyone who responded. I could have sworn I tried the VolumeCentroid and it failed. As it was, I used Pascal’s Python script—Thanks, Pascal and Sieman—and it worked fine…However…It threw up an error message that I tracked down to a few of the sculptural skin panels being simple groups of surfaces. Converting those to closed polysurfaces fixed the problem. I’m wondering if the VolumeCentroid failure was due to the same issue.