Slab a pattern?

Hey! can only slap one single curve, is there a way to kind of generate a offset on both sides like as in ‘slab’ command?

Like Offset, the only way to do multiples with Slab currently is with a script… --Mitch

@Helvetosaur Mitch! I would like a script for Offset curves and offset curves on surface in this functionality of having a line and offsetting both sides to thicken the pattern. Is there something out there? would come soooo handy in a lot of cases! :smile:

thanks for clarifying, Hannes

hi Hannes,

see if this does what you need:

1 Like

Jarek! is this for Rhino5/64 as well?

It should have V5 folder in the download file to use with V5. It has been written and tested for V4 but should work in V5 as well. I hope to make some updates to it soon.

Hi Hannes,

FWIW, I have used this workflow in the past:


Similar to @Willem 's approach, you can _ApplyCurvePiping, then _ExtractPipedCurve and run MeshOutline from the extracted meshes.

1 Like

Thanks @Willem & @Jarek for your strategies, will look into Flatworms tonite, now I really like Jarek’s approach above, what I would like for interactive purposes, is there a way to temporarily switch off the red selection highlight to better evaluate the piping? Thanks!

hi Hannes,

you can make a custom display mode where meshes use solid black shaded material with no mesh wires (all 0-width) and assign to your pipes via SetObjectDisplayMode. Also, if you will do piping mesh from tons of curves, Join the meshes after extraction - Rhino will perform much faster in viewport and it does not seem to affect the MeshOutline outcome. (you can always SplitDisjoint them later, if needed)



@Jarek thanks a lot for this!! Highly needed.

Little late to the party (too much stuff to do), but here is my hack entry… Input curves should be coplanar and script should be launched from a viewport parallel to curve plane (say, Top). Option to delete input curves and/or group output.


Edited - forgot to actually group the objects…

And… I see it fails with closed curves… Need to do a few more mods…

OK, next iteration - getting better - now can do most closed/open curves but not all (couple of Rhino bugs in there too). Continuing to work on it… (3.3 KB)

Oh thanks so much, Mitch for making something beautiful like this!
@Jarek is Flatworms working on curves on 3D shapes as well??

@Helvetosaur Mitch, can you tell how to run this script? completely newbie…

Hi Hannes,

This is a python script. So in your case, you would need to use:

! _-RunPythonScript "C:\Program Files\Rhinoceros 5 (64-bit)\Scripts\"

HTH, --Mitch

Thanks @Helvetosaur Mitch… never used it before! :smile:

Works excellent with unjoined curves (below) — big thanks @Helvetosaur

@Helvetosaur is there any option to get this working on 3D surfaces???

No, not really, this is a hack that uses mostly planar 2D methods: Curve offset both sides in the curve plane, create planar surfaces from the offsets, BooleanUnion to fuse the planar surfaces together, then duplicate the border of the result and delete all the intermediate geometry created.

I use the term “hack” because both the Offset and the BooleanUnion operations are not the most reliable and can fail depending on the arrangement and complexity of the input geometry.


No, it will not work producing 3D output, even if your curves are in 3D space.
The only thing that is does that 3D matters is the output thickness can be based on the depth, so the further the curves go, the thinner/thicker they can become.