Isotrim question

Hi,
I am trying to divide a surface with rounded corners into a number of panels, using domain^2 and isotrim. I’m not understanding why the isotrim results in geometry larger than the original curve.

If it helps - I’m building a set of drawer faces in a dresser: the original curve is entire front opening, and I will divide it into 2-4 rows and 2-4 columns of drawers depending on the size. I want to take each resulting drawer face and be able to offset it slightly smaller.

Thank all.

isotrim question.gh (9.7 KB)


isotrim question_re.gh (10.6 KB)

This is untrimmed surface , you can use Brep Wireframe and Surface split

@HS_Kim, you have inconsistent widths in the panels, because the untrimmed surface is larger than the actual filletted rectangle.
Same with @seghierkhaled’s solution if D is larger than 2…

From here: Shrink trimmed Surface in Grasshopper


(A reparametrize is needed after the shrinking…)

  private void RunScript(Brep S, ref object T)
  {
    S.Faces.ShrinkFaces();
    T = S;
  }

I knew but shrinked surface also still a trimmed and inconsistent either, unless move the shrinked one’s center to the original center…

I tried this with Pufferfish Shrink trimmed surface and the surface still untrimmed , the same with your example

Thanks all. It seems like maybe isotrim isn’t the correct approach?
How would I divide the surface into equal sized panels (while keeping the corner curves)? Is there a cleaner way to do this other than drawing the various geometry options for the gaps between the drawers and doing a regional difference?
Is there a way to use Divide Surface and create the panel rectangles from the points?

Helen, after further investigating, your start curve is not really planar (many small differences in Y coordinates) and out of the 4 corners, 2 are arcs, 2 are ellipses portions.
That is half of the “problem”, making the surface un-shrinkable from the c#script.

The other half is using the Boundary component, if you use it, that too makes the surface un-shrinkable.
Converting it directly to a surface, not.

If you use/create a clean filleted rectangle, skip Boundary, both solution, @HS_Kim’s and @seghierkhaled’s, works fine (by adding the c# shrink step).

Here a stupidly complex solution to prioritize speed…


isotrim question_re3.gh (12.7 KB)

What a mess :man_facepalming:t4: