Crystal manipulator

Hey there,

I’m trying to make an interactive crystal manipulator that will relieve the tedium of maintaining planarity on faces with more than 1 triangle, keep some points on the ground, and others on a plane.

2508_PROG_Manipulateur cristal.gh (23.7 KB)

I thought it would be a walk in the park with Kangaroo, but I can’t figure out why one of my corners keeps splitting apart when I try to move it around…
Any ideas ?

It looks like some of those points are not exactly coincident in the input geometry. Changing the tolerance in Kangaroo to 0.001 is enough to combine them.

You should look into the new pushpull command. Either use it in Rhino or within a script component in Grasshopper. I think for basic shapes like yours it is easier than the Kangaroo approach.

Hi Daniel.

This is strange because Edge analysis suggests that the vertices are coincident.
If they weren’t, I’d have a naked edge.

Yet, I understand it can be a tolerance disrepancy between Rhino and Kangaroo at play here.

Also, I’m surprised that the problem is not avoided by the “Magnet snap” goal…

I don’t think that you understand what I’m doing here.
Pushpull adds a bunch of faces, doesn’t care of my geometrical contraints…

Ok nevermind :joy:

If you bake this mesh:


Then zoom selected on these 2 almost coincident vertices

You will see that they are 0.0001232 millimeters apart

Also - It looks like only one of this near coincident pair are input to MagnetSnap. If instead you give it all the points from your joined mesh, then the snapping of nearby points does work:

1 Like

Sorry Martin, but I’ve got no idea what point you are trying to get across here.
Maybe if you sent an animation of how you manipulate your geometry ?
All I see here is a bunch of flat faces and dots…

1 Like

I’m not sure I get the logic here…
My understanding of “Magnetic snap” is that it will merge whatever points are thrown at it.
I see it as a kind of override of the “Tolerance” input of the main KG component as KG always merges points below the tolerance threshold anyways…Right ?

Yes, it will snap together the points you give it, but in your definition only one of the points you wanted to snap was being input.

1 Like

All the climbing wall stuff in my last post have planar faces. I’m using a combination of Kangaroo and pushpull to manipulate the geometry. Some of the vertices are constrained on planes or at a certain Z-height.

In this first video you can see how I get rid of a kink in a boulder. The pink sphere shows the largest proximity distance between diagonals. Towards the end I’m adding two points, these are the ones which are free to move.

Here’s a screen video of a rotation translation with pushpull in Grasshopper:

1 Like

Hmm… I see no “Pushpull” component in GH.
What’s the actual name ?

“Pushpull” in Rhino works only on faces, thus I don’t really understand what you’re talking about.

Also, using the gumbal on a sub-object like an edge will sure-as-tax make a flat surface curved, so…yeah, Kangaroo needs to be used here.

Maybe if you would send a capture of your definition ?

Ok, I get it, but this requires to reference the geometry and fiddle with sliders to select what you want.
Besides, I rather pull on vertices.

I’m a bit confused with the Rhino “Pushpull” command. In the online reference, I read it has command line options to choose between “Extrude” and “Extend”.
In practice, there are NO command line options

250217_IMG_PushPull No command line options

I cannot share my definition.

Pushpull is only available in Grasshopper by using a script component. And yes, it only works with surfaces so it means one has to go back and forth between mesh and polysurface.

Look here:

Is it possible to Pull/Push through Rhino Common? - Rhino Developer - McNeel Forum

Yep, got it. see my answer above

1 Like

Fine.

Since you seem to know a lot about this “Pushpull” thing, any idea why there is no command line option ?
I tried pre-selecting, post-selecting… No options.

For me both pre- ad post selection works fine. However, using just the command in Rhino let’s you only extend or extrude a sub surface.

If you’re using the rhinocommon version in a script, the translation can also be a scaling operation or rotation.

I think it’s an interesting new way of modeling / manipulating geometry.

Got it. Probably got to invest in cleaning fluid for my glasses.

That sounds lazy on the part of McNeel.
“The features exist, but let’s not bother making them accessible in the UI.”

Well, it’s been there for ages in many CAD platforms, but yay !
Also, I’m not sure what the “Extend” option adds to the existing ability to move a Brep face by selecting that face as a sub-object…

On a truncated pyramid, use the push pull command to move either the top or bottom surface…

1 Like