Box Morph in Rhino 8 or script?

Greetings,

I could really use a Morph command in Rhino, that does what Morph does in Grasshopper: morphing geometry from a Box to a Twisted Box.

Would be good for testing complex geometry that needs to be morphed or morphing geometry which is too heavy for Grasshopper.

User should specify the Reference Box, the Target Box and, I guess, 3 points for correct orientation.

I see that I’m not the only one asking:

Can I hope for such a thing in the near future?
Thanks!

@Bogdan_Chipara - sample code that you can adapt to your use.

SampleCsBoxMorph.cs

– Dale

1 Like

For sure I am doing something wrong, I copy-pasted the cs and when I run it does nothing.
(implementation in Rhino 8 would be ideal for people like me that are not good with programming)

@dale , I’m curious , how much will it cost to hire someone from McNeel (or affiliate) to implement this ?

I don’t know if these kinds of deals are possible, but they might benefit everyone.

Hi @Bogdan_Chipara,

The part I don’t see is how you define the source and target “boxes.” I quote these because they are really a collection of 8 points that define a closed volume. A twisted box for example. You can prompt the user to pick 16 points; seems clunky.

I’m open to suggestions.

— Dale

Yes but for a correct orientation 3 ponts on the Reference and 3 on the Target should be enough, no ?
(somehow similar to Orient3Pt situation)

What I mean, is that If you input the Reference Box and the Target Twisted Box, and 3 points on both, there’s enough information, the other points get deduced.

Hi @Bogdan_Chipara,

image

You cannot define the above with 3 points.

Perhaps all you need is Orient3Pt with Scale=Yes?

You might consider pointing a “before” and “after” so we know what you’re looking for.

Thanks,

– Dale


This is indeed what I am looking for, but I am under the impression that if a face of the Box/TBox is specified (by 3-4 points), the additional 4 points can be determined by some “edge analysis”.

Here are some possible steps:

Specify 4 points that create a face:
If I consider point 0.
Then check for the points which 0 is connected to: and those are 1 and 3 and 4.
But 1 and 3 are already specified at input
therefore, point 4 is what I need.

Hi Bogdan - I am not sure I undestand the whole problem but are you not describing CageEdit with a degree 1 cage, two points in each direction?

image

-Pascal

Yes, CageEdit is also very similar.
But, instead of having one cage generated by CageEdit over some geometry, the user can select one initial Box and one Twisted Box to act as modifier.

There is a difference though, with Morph (this is what I am looking at as reference for this idea) , the geometry can stick outside the boxes, with CageEdit the geometry cannot stick outside the cage.