hi guys,
i know this is just basic but since rhino is a very powerful software i think there’s some tools and commands to do it… which i couldn’t find…i want to create some different looking shapes like cube, cuboid, 3d hexagon, sphere etc to have same volume. Through calculations it can be done for simple forms but for complex forms some commands needed, i m trying to make some examples for my presentation please do help
Volume scales as the length cubed. To scale object A to be the same volume as object B, first use Volume to measure the volumes of A and B. Then Scale A with the ratio of cube root of (volume of B divided by volume of A).
Do you use grasshopper? If so Pufferfish has has Scale To Area, Scale To Volume, and Scale To Length components that will let you scale any geometries (that are measurable) to those specified sizes, uniformly or non uniformly.
In grasshopper the area component will give you surface area. For the Pufferfish Scale To Area component you just plug in the geometry and then in the area just input the desired surface area and it will resize it to be that surface area.
Should be… As Scale1D is direction-dependent, you would need to supply a scaling direction - either user input (2 points or something like that) or perhaps in one of the axis directions of the active viewport… So by “height” you want it to scale in World Z? From the bottom of the object up? From the object center?
pick 2 pts would likely be the most versatile. i tried to analyze your script to change it myself but i am not up to it. i simply need a cubic object which matches the volume of a cylinder by only scaling its height.
Hi Mitch. I’ve just been playing around with your Scale1DToMatchVolume.py script. I’m trying to get the volume of the blue ring (please see attached image) to match that of the green ring, but so it shrinks the height (or depth) of the ring and not the width. The thin red circle on the inside of the blue ring is the finger size so the blue ring needs to stay that size - only the height of the ring is allowed to reduce. The whole purpose of this is to create different sized wedding rings, say for example 6mm wide, but all weighing the same in different finger sizes - the smaller finger sizes will have a thicker depth, while the larger finger sizes will have a shallower depth. I was wondering whether you might be able to tweak your script to allow 2D sizing (if that would work?) Many thanks, Mike.