Irregular Scissor Structure

Hello everybody!

I am rather new to grasshopper, and I am having troubles creating an irregular scissor structure.

I am looking to creating something that is as irregular as in this example I have found: Rhino Grasshopper - Kinematic Pavillon - Grasshopper

With the help of this forum, I have managed to create an arched one but I do not really know where to go from here to create an irregular shape that I can manipulate as I want.

I would very much appreciate if someone could help me.

Thank you in advance!


Irregular Scissor Mechanism.3dm (34.7 KB)
Irregular Scissor (22.8 KB)

Here’s an example constructing a pantographic linkage for any polyline (16.6 KB)




I replaced the two missing offset components with standard GH Offset Curve but have no way to know if it gives the same result?

You didn’t set ‘Degrees’ on the Rotate ‘A’ (Angle) input, though that’s relatively insignificant?

You could have internalized your ‘Referenced Polyline Curve’ instead of requiring the Rhino file.

The model just doesn’t work for me, which makes it harder to understand.

I’ve played with scissor linkages a couple of times on the old forum:

1 Like

WOW! Brilliant, and without Kangaroo. Very clever!!

1 Like

The lecture slides from this course can be quite useful as an intro to this topic.
The principle of these ‘angulated’ scissor structures is shown in the week ‘Mechanism Basics’


That is brilliant. Thank you so much!

I have played with the script and made it irregular like in the example I showed previously.

Any idea how I could replicate that on to the circle? (18.6 KB)

Thank you so much for your suggestions.

The offset was redundant, not sure why it was not recognised though.
Hopefully you will be able to access the file now.
Irregular Scissor Mechanism_Draft (24.7 KB)

Sorry if the model is confusing. Maybe the video shows it batter?

This is very useful. Thank you!

To make it work on a closed curve, you just need to switch to Wrap=True on the first list shift component: (21.6 KB)

For this sort of planar linkage it is usually simplest to make everything in the XY plane, then rotate it to a different orientation at the end if needed.

1 Like

That’s great. Thanks!

Was looking for something more like this

The irregular scissor structure is duplicated in a circle so it can be connected to the core and be able to move vertically when the strings are pulled

It’s relatively trivial to Orient any geometry from ‘World XY’ to a ring of planes. The kicker, if I understand your goal correctly, is that each of your scissor structures is controlled independently?

P.S. No, I can’t. And you didn’t fix ‘Degrees’ on the Rotate ‘A’ (Angle) input that I mentioned.

I don’t have Pufferfish installed. Is there a reason you are using it for offset curve?

I’ve changed the offset curve components. Now it should work. I am sorry about that.
Irregular Scissor Mechanism_Draft (26.4 KB)

About the ‘Degrees’ on the Rotate component, I am afraid I am not sure how to fix it. I didn’t do the structure on the XY plane so I had to rotated the plane and set that angle to get the script working.

And no, my goal is to have all the scissor components move up and down at once. So from the example, I am just trying to create a similar shape for the individual component (now I have it in a arched shape) and then take those components and duplicate them in a circle.

Thank you for your help!

No, it still requires Pufferfish. I give up!

The default Rotate angle expects radians, not degrees. You can right-click the ‘A’ input and choose ‘Degrees’ instead.


Now I know what you meant by ‘degrees’. Gonna fix that now.

I’m sorry the script doesn’t work. Thanks a lot for your help though! :slight_smile:

There is no evidence that you changed the offset components from Pufferfish to standard GH. Twice. Did you send the wrong file? Or what?

I find it difficult to read code that is spread out so wide anyway, since it requires constant scrolling left and right to make sense of anything. Disabling ‘Display | Draw Full Names’ helps keep components closer together so you can see more on the screen without scrolling.

I’ve tried to change it but the GH one doesn’t work. It offsets the curve normally on one side (not on both sides forming the cupped edge as the Pufferfish one does). There are other ways to make the extrusions of the curves I suppose. I will try and do that now

OK, I wish you had said this a long time ago… I started to reply by saying that you need to supply both positive and negative offset values, but as I got into implementing that, I quickly realized what else the Pufferfish component is doing for you that’s different from standard GH.

For future reference, so you can explain why you are using Pufferfish, see the yellow group (+ and -) and the two white groups. This leads to a discussion of data trees that I’d rather avoid at the moment. The Merge at the end might work if you flatten the outputs of both Extrude components, but you can just stick with Pufferfish, find someone else who can help you, and now know exactly how Pufferfish is saving you some trouble.

P.S. I looked around for a long, long time to find something that would move these pieces to resemble a scissor action and finally found it, now in the round blue group below. I also remembered to fix the ‘Degrees’ issue on Rotate.

Irregular Scissor (28.5 KB)

Now if only I could remember the original question… :sunglasses:

I saw a few other issues that could be fixed or improved, like extruding circles in two directions and joining them together instead of extruding full length in one direction and then moving it half the length in the opposite direction using a “-x/2” expression.

1 Like

I thought there was one more thing I could do without really understanding your code, which is to copy the one scissor mechanism using polar array.

Irregular Scissor (40.6 KB)

To do that, I first had to reposition the original curve: (cyan group)

Irregular Scissor Mechanism_2021Oct18c2

And then I refined the way you were positioning a circular disk (top? orange group) but realized your mechanism folds in the middle, lifting its “legs” off the ground, and I don’t want to touch that.

Gotta go!


That was actually very helpful. Thank you so much!

hi, do you know can I make this mechanism in the form of a hemi-sphere. It would be very helpful.