Type line dash

Hi all

are three identical curves with dashed type line
The first, with offset on one side
The second, with offset on both sides
How could I get the result of the last example?


You would need to either change the scaling of the linetype pattern you’re using so it repeated more often, or assign a different, more densely repeating pattern to the one with the smaller space to show it.

hi John thanks for answer

I tried like you said, but I can’t

You can’t, or you don’t know how?

with hidden type line
ps use rhino v.5

Well, if I understood what you want, you are not going to be able to get the last example by offsetting a curve with a linetype applied. Linetypes are actually just some screenspace visual trickery that shows a continuous curve as dashed or dotted on screen and for printing - but the curve itself is still continuous. So if you offset it the result will be the same as offsetting a continuous curve.

The top example is possible as you illustrated, the middle example is also possible although you have to re-apply the linetype to the offset curve, looks like Rhino forgets to apply the linetype to the offset curve in both V5 and V6. But the bottom example is just not possible to get in that way.

Ideally you could explode the curve with the linetype into separate objects, then offset all of the segments both sides. Unfortunately, exploding a linetype has not been possible natively since V4. I have a script to do this though in V6 and V6, below.

Then second part of the operation is to offset all the segments. Again, neither V5 or V6 will do this all at once - V6 has OffsetMultiple, but it doesn’t work for both sides with end caps. So again, either you do it one by one, or you need a script, also below.

That’s the only way I know of doing this on a large number of lines at once, otherwise, it’s “manual” all the way.

ExplodeLinetypeV13.py (9.0 KB)
OffsetMulticrvs2SidesWEnds.py (5.3 KB)

1 Like

thanks Helvetosaur for script :+1:

a question: it could be an alternative, if I could use “applycurvepiping” with the “Ribbon” shape??

Interesting idea - never thought of that. CurvePiping is always going to give you a “round” 3D mesh pipe - I see it does adapt to applied linetypes though, which is cool. If you have the correct mesh set up and you intersect the extracted piping with a mesh plane you might get the curves you want. But Rhino’s mesh intersector is not extremely reliable, a quick test here doesn’t do very well at all…

That’s what I meant :+1:

Converting Mesh to Surface?

ApplyCurvePiping With 4 Segments
Convert Mesh to Nurbs
Intersect With Surface

All right, so many steps

edit: It would be convenient to do it in the command “applycurvepiping”

Awesome script for the linetypes. Thanks Mitch.

this solution seems better and faster:

after, ApplyCurvePiping With 4 Segments

_MeshOutline (in View Top)