Trying to ''control the height of points through 3d model

Hi, i am Christos and i am PHD student, i am trying to create a pin bed visualization using actuators on grasshopper, my main focus is to put 3d curved models and i want my ‘‘12 actuators’’ (12 points on grasshoper) to take the correct height in order the generated surface to take the shape of the bottom part of the breb

i have create a grasshopper algorithm till the creation of the pin bed and the generation of the surface but i cant find a way to controll the points deepens the 3d model i import into
do you have any idea or suggestion?

i will attach my algorithm too

thanks alot

Actuators (897.4 KB)


This can’t be right. It’s just not “The Grasshopper Way”.

1 Like

do you mean the plugin is working?

I don’t have the plugin so can’t see much of anything.

What I mean is that copy/paste of so many components is probably not the best way, whatever it is you want to do in GH.

is just move and generate a new actuator

I agree with @Joseph_Oster that this is not the best approach. What I find strange is that you have your target brep near the last step. If this process is meant to be fairly automated, then shouldn’t it be near the beginning? I’m not a Kangaroo expert, but this looks like a problem related to draping, only the constraints are the actuators pointing up and gravity pulling down on the brep. If you set the boundary actuators at some initial positions, run Kangaroo to solve the shape of the mesh (not surface), then the positions of the inner actuators are predetermined; they’re just the height to the mesh. Of course, that’s easy for me to say…

Using data management, I was able to simplify your file

From this:

To this:

Did not need to use any scripts or plug-ins. Output is the same (with the exception of the 19 duplicate points at the output of your file). (850.6 KB)

I don’t really understand what you’re asking here, if you could explain further perhaps someone could help.


What I need is to create an algorithm where a 3d breb from rhino will imported on grasshopper and the top top surface will take that shape BUT the 12 linair actuators must be moved in the correct height at the same time

like this


This will position your “actuators” based on an input surface. (816.3 KB)

Combining parts of this with parts from the previous file should get you close to your goal. If you need further help, post a file showing your progress and specific questions.


Thank you very much for the important help Kevin, there is an issue if i import smaller surface than the flatbed it doesnt take the shape of that surface, also sometimes the algorimth not working properly and in some imported surface it has height different like this

thanks alot

You could extend the surface to reach the actuators, but I don’t think you will be able to get the amount of detail shown in the picture you posted without increasing the number of actuators.

In the file I posted, the input surface is oriented at the center point above the actuators and its z-position is adjusted to the relaxed position of the actuators. You can change this behavior if desired.


Given R the Sphere radius,

Imagine a - locally- heavily inclined BrepFace (that’s the general case). Say that we shoot a Ray3D from a grid pt to that Face. If the hit yiels a valid Pt (i.e. contained in the BrepFace, that is) … then the problem has as follows:

you want that Pt to qualify as a Sphere cent Pt ? (i.e. cent = Pt + Vector3d(0,0,-R))


you want to “adjust” … meaning a bounce solver that yields a Pt where the closest dist (CD) to the Face is R ? (within some tolerance).

For instance … see the Sphere on cursor: the center is adjusted (within a rational tolerance - in this case: Math.Abs(CD - R) < 0.001 m).