# Twist in curve / parabola

Hello world!
I tried using spiral but couldnt flip two circle as in image.
how to control the twist with points?

twist_2023Aug19a.gh (11.3 KB)

P.S. Oops, that was four curves - this is two:

twist_2023Aug19aa.gh (18.3 KB)

1 Like

Playing with code like this can be instructive. The BiArc curves I used have an ‘R’ (Ratio) input so I added a slider (0 to 1) for that. When set to zero, the ‘Angle’ slider becomes useless.

I changed the range of the ‘Angle’ slider from ‘0 To Pi’ to ‘-Pi To +Pi’, which means that to work correctly, the end tangent vectors (‘Te’) from the white circle must be reversed. So I added an Eval component to do that. Then I started playing with MultiPipe (MS), which I don’t know much about.

I wanted to set ‘NodeSize’ radii for both ends (the same) and the the midpoint at the top (larger), so added two sliders for those values. Playing around, I saw some weird flaws so added a ‘Count’ slider and Graph Mapper to see if more than three ‘NodeSize’ values made any difference.

twist_2023Aug19b.gh (29.4 KB)

It looked like some of the issues were with BiArc so I replaced it with Arc SED, which has a start tangent vector (‘D’ input) but no end tangent vector, only an endpoint. It behaves differently, so doesn’t match the goal image you posted. But it’s nice in a different way.

twist_2023Aug19c.gh (28.4 KB)

Very interesting.
Oh, in both models, flattening the ‘Curves’ input to MultiPipe has a very peculiar effect

3 Likes

Thanks Joseph, your last GH file above really got my attention and I knew I had to turn it into something unique that I could print. It didn’t take very long before I came up with this:

This is my slicer’s sliced view - the GH produces a Closed Brep so there are no errors in the exported STL file. Even though it slices OK it’s got some areas that are too thin, so I’ve got a bit more work to do on it. Consequently I can’t predict yet what the end result will look like.

Five ribs instead of four? Without your GH code, I can’t tell which version you used (‘b’ or ‘c’?) or if you flattened the ‘Curves’ input to MultiPipe? If you did flatten, be aware that the result is two different breps (SubDs) that intersect each other. I’d like to understand MultiPipe better

I’ll post the final result - hopefully later today. I used only one curve from c, Lofted it, scaled that, used edges for Ruled surfaces, joined all together, then made 5 item Polar array. I like using prime numbers for geometric arrangements.

So you didn’t use MultiPipe at all? Weird looking thing… With all the parameters I provided, why would you scale it?

The Loft surface looked nice - fairly unusual for sure. But it needed thickness. Offset didn’t work because of all the curvature; scaling worked better. The whole thing is quite small so I doubled it’s size in the slicer. I’ll put that back into the GH file along with some other stuff I think will produce something useful.

Fun isn’t it? What happened to @super_mario ?

twist_2023Aug20a.gh (29.5 KB)

SUnion is quite slow and fails sometimes so it is disabled.
Wish I understood MultiPipe better.

P.S. This is why SUnion is slow - that busy center is a confluence of round ‘Caps’ from MP.

Hi, Joseph
I’m incorporating you’re script with an rectangular base rather than original circle, so that extended curve can rest on rectangular base and can act as tensegrity stc.
I’m new here but yes I love it here.
Thank you Joseph and all.
And wondering to use kangaroo to check it as tensile stc

Until you post your code, I won’t know what you did but did it occur to you that you can have multiple inputs, like this?

twist_2023Aug20b.gh (13.9 KB)

Uh-huh… Until you post some code, you are likely to be ignored. After you get the support hoops the way you want, you might need a separate thread for Kangaroo and the mesh fabric surface.

Here’s my version 0.8:

I don’t like this enough to print it, but it is Closed Breps and will print OK. The GH file is “unnamed” because it doesn’t seem like it’s quite finished yet. When it is I’ll put an LED puck light inside and it can be a table lamp or something like that.

unnamed.gh (24.2 KB)

TWIST.gh (15.3 KB)

I tried to collect point as in the image. Plan is to rest the curve end point at the desired points along the rectangle boundary.

1 Like

Sorry about that - I’ve been using the trial Rhino 8. You should be able to replace it with the Rhino7 Midpoint component with no problem.

Yeah, I already did that. Rhino 8 isn’t the problem, it’s Wombat.

I see no resemblance at all to my code.

The slider connected to ‘Ratio’ should be 0 to 1 with default of 0.5

Yeah - I don’t know how Wombat got installed. I’ve also got Heteroptera - whatever that is.

After numerous iterations the only parts of your code left are the initial ones that establish the planes for the Loft control curves. I still can’t quite visualize how that works.

Your change from a base circle to a rectangle has several problems. I fixed some of them.

TWIST_SM_2023Aug20a.gh (13.4 KB)

You could use the base circle and make a square from the points, like this:

twist_2023Aug20c.gh (13.2 KB)

If you insist on a rectangle, you’ll have to figure it all out. Starting position is different from a circle, you probably want the Discontinuity points (corners) instead of Divide Curve.