Cage edit command that can adapt to any form automatically

Hello Daniel @DanielPiker thanks for this very useful addition. I have now an application for it but I have a slight problem withe the component.
My cage is an hexagon extruded. My mesh that I need to morph and my cage have points on the plane.
image

In this configuration also if I use exactly the same cage the morphed shape is not good

If I move slightly (but not too) the cage, it works


bug cage morph .gh (7.3 KB)

1 Like

Thanks, this makes a lot of things easier.

1 Like

I agree this is a bit of a limitation. I’m using weaverbird mesh offset when some of the points are exactly on the reference mesh…

1 Like

Yes, I’ll post an updated version of this component shortly handling these cases where the points lie exactly on faces.

Also, as part this tool, I created another SpaceMorph which works on a polygonal prism, that could be useful here.
I’ll make another example showing that spacemorph on its own.

3 Likes

Here’s a fixed version that should now work also for cases when points lie exactly on faces/edges/vertices of the cage
MeshCageMorpher.gha (11.5 KB)

6 Likes

Thanks!

and here a (Rhino 8 only) example of the prism morph class I was mentioning above

meshmorphexample.gh (15.9 KB)
meshmorphexample2.gh (18.4 KB)

3 Likes

Is there a way to deform my SubD Object with crease edge?
Actually, the Grasshopper plugin uncrease it and I need to crease edges manually after bake.

thanks

Hi @Pierrafee

Sorry I didn’t see this sooner. Yes, using the modified version posted here

you can keep subd creases and unwelded mesh edges when morphing. here’s an example
morphdemo2.gh (10.8 KB)

6 Likes

Thanks a lot! I did not notice this newer version of MeshCageMorph.
I will experiment with this updated component.

Extracting the control mesh of the SubD, morphing that mesh and reconstructing the mesh is not neccesary anymore to keep the creases I see.
MeshCageMorph has become an indispensable tool for my work as an orthopaedic shoemaker.

1 Like

Any plans to add this tool to Rhino 8? It’s quite useful.

1 Like

What about polysrf’s? …

Love this idea

Hi Daniel,

Is it possible to reference multiple geometry inputs for the same reference polygon within the Morph to Mesh class? I’m thinking it could be a nice tool for randomly setting various truchet (esq) geometries.

1 Like

I guess this did answer my question. I’ll have to experiment with this stuff to see for my self.

I’ll have to post a challenge related to this.

I’m wondering if this could potentially be a type of solution to a problem I’ve seen inherently throughout every one of Rhino’s transformation tools.

I think it would be sweet if Rhino could transform objects without them behaving like a loaf of bread, but rather like a shell that grows.

If I could scale an object non-uniformly, in XY and not Z, and do it in a way where wall thickness doesn’t change, and wall angle doesn’t change. Then that would be great. :coffee: :slightly_smiling_face:

Maybe some sort of advanced cage edit tool could be a step in the right direction…

I’m trying to imagine if a cage edit tool could adapt and conform to a shelled geometry to enable the user to transform it while having control over thickness and angle … :thinking:

You want parametric functionality, and unfortunately Rhino is not an inherent parametric modeler and I don’t think it ever will be unless McNeel decides they want to sell to a different market and increase the cost, significantly no doubt.

Constraints may be coming, allowing for limited parametrics. Some people are doing some amazing parametric stuff in grasshopper. That’s great if your application benefits from the time invested in grasshopper in a specialized workflow. That typically is not conducive to a parametric workflow that can be used on every project.

Not sure I’m doing it right…

Here’s another simple example of the MeshCageMorph2 component with just a curve.

meshcagemorph2.3dm (57.8 KB)
meshcagemorph2.gh (17.1 KB)

3 Likes

I think my thread got buried, but this is an example of what I’m facing: