"Offset on Surface" tapering off towards the edge of the surface

I want to divide a canopy structure into 6 triangular modules for easier construction. The frame for each of the 6 modules will be made using a 40mm pipe. So I needed to offset the edges of all 6 modules so that their frames do not intersect/overlap and instead lie adjacent to each other (for bolting or welding).

I used the command “offset on surface” to offset the frame edges inwards. This worked fine on 5 of the modules. However, in just one module, the closed curve of the frame offsets to become an open curve which seems to be tapering off towards its respective edge instead of being equidistant from the edge all around. (check screenshots below)

I tried using the following:

  1. “curve” to extract the edge/border of the module surface. This resulted in the above.
  2. “brep wireframe” to extract the edge which results in three individual curves instead of one closed curve. Inputting this in the “offset on surface” command results in only 2 curves getting offset properly whereas the 3rd side does not offset. This also gives the error that offset failed.
  3. “brep edged” gives the same output and error message as “brep wireframe”

All these commands are giving the proper output for the other 5 modules. The problem is literally only with this one module as can be seen in the screenshots.
I cant for the life of me figure out why. Please help.



Offset crv on srf problem.gh (23.0 KB)

Hello @Luna_Applegate ,

I think the problem is related to the parameterization of the surface after being sliced. This doesn’t seem to play nicely with Offsetcurvesonsurface. I usually Advise against slicing surfaces, but If this is your goal, you can solve it by using “Rebuild Surface” component from Pufferfish.

Offset crv on srf problem_Pufferfish.gh (19.1 KB)