Offset Surface_Breps / Thicken

Hey Guys,

I am having some trouble offsetting, thicken multiple surfaces in a brep.

It consists out of triangulated and quadrangualted surfaces no meshes so far.

I converted it also in a Mesh and tried the thicken command from weaverbird but I got bad results. The Surfaces are getting offsetted in different directions, although the faces got the same direction, see here:

i would prefer having only nurb surfaces no meshes but if there is no other way and I can transform mesh to nurb in the end it is ok.

I hope you have some ideas about that!! :)

Thanks in advance!!

Things I have already tried so far:

http://www.grasshopper3d.com/forum/topics/solid-brep-offest

http://www.grasshopper3d.com/forum/topics/how-to-offset-surface-into-a

http://www.grasshopper3d.com/forum/topics/surface-offset-solid-option

http://www.grasshopper3d.com/forum/topics/access-to-new-offset-surf...

...

  • up

    Nik Willmore

    Most extrude routines depend on finding a single vector direction in 3D space for the whole operation, but that won't work for, say, a cube shape polysurface, or for your steep-walled side surfaces.

    If Boolean unions were more robust in Rhino/Grasshopper you could make local extrusions of each surface after rounding the corners somehow, possibly using T-Splines, fillets, or a mesh you smooth, then just union them and smooth the result to remove artifacts. But Booleans will not work here since any coincident surfaces already screws that up, let alone a huge collection of widely varying geometry that guarantees poor intersection curves here and there enough to ruin the whole Boolen union of either NURBS or a mesh.

    So, you need an inventive strategy to locally thicken each surface in a way that does not depend on the overall geometry, and then some way to wrap that in a single surface or mesh. As stated, your problem, with pure exact NURBS is not well defined mathematically, as our fuzzy logic human brains may imagine it is. If you merely translate a copy of the polysurface straight up, you get zero width for the near vertical side surfaces, yet if you extrude each surface in the direction of its normal, you get little overlap at the joints between orthogonal surfaces.

    If we could loft solids (closed NURBS surfaces), it would be easier, perhaps, to just work on extracted wires turned into hot dogs.

    What works here, for now, is Weaverbird Thicken, acting on a mesh, which I also have access to manually in Rhino as wbThicken, though there is no thickness control outside of Grasshopper, so  I have to run it repeatedly to get substantial thickness. But Grasshopper affords two out of three algorithm options that work and a thickness setting that preserves your original kinky surface by only thickening on one side:

    One of your small surfaces isn't flat which doesn't matter for meshes but may complicate a NURBS strategy.

    2