How to analyse how a 3D ‘organic’ volume would sit on a surface

Hello,

I am currently drawing an object which has an soft organic shape.

What I am trying to find out is how this shape would sit in real life on a surface, such as a table.

the surface of the object that will touch the ‘table’ surface is a smooth organic shape, and does not have a flat surface to sit flat on.

And if you pushed this object it would rock backwards and forwards.

What I am trying to find out is, is what would be the natural resting position of this object once it settles and finds its centre of gravity.

Is there an easy kind of tool in rhino to analyse and find this ‘natural’ testing position?

Very much looking forward to hearing if anyone has a way to do this.

Many thanks…

Andrew

Hi Andrew -

You can use Kangaroo in Grasshopper to do that.
Example threads:

-wim

Hi Wim,

Many thanks for your reply -

It looks like Bongo would have been a great option for this, but appears not to be being developed for Mac unfortunately.

the other option is the blender - so think I might try that -[I am finding it difficult to find a simple ‘how to’ with kangaroo grasshopper.]

if you had a link to a really simple how to video on how to make this work would be great. Or even, is there an option to import a code that I can use directly for my own models?

Hi @a.p.haythornthwaite

Here’s a basic example of dropping a curved solid onto a plane to see how it rests:
rigid_drop_example.gh (44.6 KB)

4 Likes

I have a tool in Nautilus that gave most of the stable positions

2 Likes

Many Thanks @DanielPiker - I just loaded that up and managed to play it via the reset button.

by any chance do you Abe a how to on hw I could ‘attach’ my object to this script?

Hi @laurent_delrieu _ wow - looks like some pretty amazing work there - on the nautilus plug in page - Would you happen to have a ‘how to’ to be able to add my geometry to use your nautilus plugin?

Hi Andrew -

If your object already is a mesh object, right-click on the Mesh parameter at the start of the definition and pick Set one Mesh.
image

If your object is a NURBS object, you can drop a Brep parameter on the canvas, right-click and Set one Brep and then connect that parameter with the existing Mesh parameter.
image

-wim

2 Likes

For me it is quite the same as said by @wim but my component accept quite all type of geometry. But is is better to have a closed one in order to be able to have a volume and a center of Gravity
Right click on geometry component in Grasshopper

Select geometry in Rhino, then type enter

Et voilà !
rigid_drop_example_Nautilus.gh (148.6 KB)

1 Like

Great - thanks @wim I have got that working - fantastic… : ] and that works well with the prep function as I am working with nurbs objects…

One thing I am trying to figure out - is the object that I am dropping, is an assembly of objects - and so I would like all of those items to stay together as they drop and not change positon in relation to the assembly - do you know ho I can do that apart from maybe boolean union all the ‘parts together’?

One option is to use ShrinkWrap to combine the objects for the calculation. You can still get the Brep objects out at the end like this:


rigid_drop_example_sw.gh (235.9 KB)

…edit - I just realised you can use Mesh join here instead, which will also work in Rhino 7
rigid_drop_example_join.gh (225.4 KB)

1 Like

HI Laurent -

Aha - great - thanks - I have got this working - I was struggling for awhile because I am working quite a few meters off of 0,0,0 and so until I scrolled out I then saw the output was located at 0,0,0…

I really like the function that you can add objects to the group so they stay together, and also how it is giving all possible options in which way it could sit on the ground, thats great! : ]

one thing which I would like to know is if there is away to remove the line, so that the objects are sitting flat on the ground plane?

many thanks.

The line was just used to show you the center of gravity.
Select component and delete
Middle button Diasable preview
image

Or right click on light grey component and click on the head, component will become darker
image

Thanks, and they are sorted by surface on ground area. Sort of stability criteria I took. It is not the best but it gives a quite good idea of the most stable positions.

one funny shape is the sphericon (in Nautilus Examples), depending on the precision of the meshing there are lot of stable positions !!! A bit like a sphere


2 Likes

oh wow - Thats amazing! - thats a super handy function to be able to check all possible ‘resting positions’

Thanks so very much for your help - this is super handy!

If you want to see where it come from look at this link

1 Like

Great!

Many thanks Daniel - the Mesh join di the trick perfectly - I added in a brep module prior to the geo model and was able to select all the beeps I wanted to be part of the assembly to drop

An edit - update question please @DanielPiker - is there away to be able to smooth the animation out of the object dropping? at the moment It has a lot of steps in it as it drops to the ground… Thanks

Hello All -

just wanted to say a big thank you to you all for helping out with this - its was most appreciated.

many thanks again!

Andrew

2 Likes