Specific gravity wish

I’ve used work-arounds for the last 100 years to figure out part weights. Can Rhino 6 please have a spot for specific gravity in materials?

I think it would be wonderful if the Rhino material database entry was extensible to allow the user to define anything he’d like. I can certainly see many users adding density, thermal expansion and structural properties. Maybe acoustic properties. Etc.

I can also see many users never adding anything at all, but using hundreds of different materials in their project. They probably wouldn’t want memory allocated in every material for stuff they never use.

Thus: user extensible materials. It would also be great if McNeel would define some standards for the likely most commonly used add ons and provide some editing and SDK functions for them.

There was an interesting discussion at the Euromold (about the only one I found) about the future of file formats and having to adapt to what is currently possible with materials technology. Classically the Brep (Boundary Representation) has always considered the model as a hollow shell with nothing inside, and with one single surface/volume material.

This model falls down when you consider that today, the material in one single object might no longer be homogeneous or isotropic - it might be a material with variable density, variable micro or macro structure, have color/texture integrated into it in depth or on the surface, and many other “non-uniform” properties…


I’ll bet that really was a very interesting discussion! You raise an interesting point about properties defined over space by continuos functions - kind of like the difference between sub-D and nurbs. For the time being, though, plenty of work is being done with homogeneous materials and layered materials like composites that can be handled by single-value material properties. Being able to conveniently store those properties right in the model they belong to would be a major step up from where we are. Certainly variable properties is something to keep in mind as the basic database design is being done.

Is there something about using SetUserText for this type of information that does not work for you?


Text key=phcreates-specific-gravity-water
Text value=1.2345

It would be convenient and more generally useful, I think, on a material than an object - assign Copper, and you get the specific gravity info along with. I messed with a scripty thing years ago where, if I remember right, I used a material’s Notes field to store this info - that worked pretty well, as the notes are accessible from scripts, as I recall.



I guess where this information would be used is in a text field on a layout. So then you would need a system where you select an object and the result of its volume times specific gravity appears in the text.

That’s exactly right, Pascal. The specific gravity is really more useful as part of a material definition, so that every time I apply my copper material to my object, it gets the same specific gravity attribute as other coppers in my project. And my guess is that weight is a very useful output for many users. If it were in the material definition, I think weight could be included when you export as .csv, which makes finding the weight of your parts super simple. Great for organizations too, because they can include those specific gravities in their own materials library that they can distribute to everyone.

Wim, yes that would be one very useful way to use it. Also when you export as .csv, you could output weights. Or custom BOM scripts could use it.

Pascal, a more general request for V6 could be to provide a gui for usertext. This could be used for weights or any other data. Something like a spreadsheet or database would be amazing.

1 Like

Something that would allow the volume/mass centroid for a composite (I use that word in the sense of a mix of materials - wood plastic, metal etc - as opposed to composite like GRP) collection of parts to dynamically update as the constituent parts are moved or modified would be extremely useful. That’s been discussed on here before, I believe.

A facility for allocating specific gravity would go some way towards this.