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?
Thanks, in advance, for any help or suggestions.
Hello - see if this python does the right thing -
MultiVolumeCentroid.py (711 Bytes)
To use the Python script use
RunPythonScript, or a macro:
_-RunPythonScript "Full path to py file inside double-quotes"
Please verify before hooking anything up!
Pascal - Thanks for your quick reply. Unfortunately, here’s what I get:
Is there something else I need to do?
I tried removing the errors from Pascal’s script but didn’t test it on any geometry:
MultiVolumeCentroid.py (652 Bytes)
Doesn’t the normal Rhino _VolumeCentroid command work to create a “common” volume centroid point for multiple selected volumes?
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.
Well as surfaces have no thickness thus no mass, I don’t really know what it’s calculating, but unlikely center of “gravity”…
Probably area centroid in this case…
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.
Again, thanks to everyone for the help!