Edit Isotrim boundary

Hi there,

I am looking to surfacemorph a pattern on to a surface similar to the attached sample, however when I ‘Isotrim’ the surface it forms a rectangle around the shape and the morph pattern is applied to the entire rectangle. How do I only apply it to the curve surface?

How do I edit the points such that my isotrim is in the exact shape as the curve? Is there another way of applying surfacemorph to that shape (other than isotrim)?

I have uploaded a sample of the curve definition.

Thanks in advance!Isotrim.3dm (71.2 KB)
Isotrim.gh (4.5 KB)

I don’t use R6 … but as a general guide line on BrepFaces (and FacePointRelation) see attached.

Isotrim_V1.3dm (175.7 KB)
Isotrim_V1.gh (11.3 KB)

1 Like

Thanks for that Peter! That was really helpful :grinning:

Wait … that’s better (use the same R file for the demo Brep). Using an extra crude Method to count the islands (shame on me) … but life is crude anyway:

Surface_BrepFace_Divide_V1A.gh (14.8 KB)

Notify if you want the real thing:

  • C# only (no pasta of any kind),
  • Lists of BrepFaces,
  • Proportional to size(s) U/V divisions,
  • 3.56 divisions by zero (but is this a big deal?),
  • one cat,
  • one dog.


1 Like

That’s incredible! Thank you so much.

Just another q, I noticed that when I apply my pattern (circles) through surfacemorph, the pattern has a square/rectangle formed around each circle. How can I disable that?


I’ll post a general map-this-to-that case soon (where “this” is anything and “that” is a BrepFace).

BTW: 1 to 10 what is your level in C#?

In the mean time here’s a mini challenge for you: Assume that you have a List of BrepFaces of varying sizes (and closure) and there’s only a pair of U/V division values around. What is the best “proportional” way to cut the mustard? And what if you want to rebuild the underlying surfaces and “update” the BrepFaces? (their inner/outer Loops are shown in red).

I am not familiar with C# at all - level 0.

The mini challenge sounds interesting though! I will try to learn a bit more about C# and give it a go :grinning:

Er … why posting stuff in this category if you are on the white side of things? Join the Dark Side ASAP.

Demo (general Sporph/Splop Morph trans using anything on anything [even mapping cats on dogs]) promised must wait: only C# code, not a single component on sight => life sucks.

Ah I haven’t been able to get rid of the boundary square/rectangle. Can you show me how its done? :roll_eyes:

Also, I have noticed another issue, that when I surfacemorph a voronoi pattern onto isotrim (with edited faces using your C#), it removes caps and some elements of it. The picture below shows the difference between edited isotrim surfacemorph and normal surphacemorph.

Why is this happening and how should it be fixed?

Thanks again!


Post a test case. I suspect/guess that you have mixed bananas with onions (but bananas work only with sardines).

Plus the filtering policy (center point and/or any edge point) MAY or MAY NOT yield results depending on the topology of things: for instance if a BrepFace has big holes (inner Loops) and/or an “odd” outerLoop and your subdivisions are “big” (i.e. small U/V nums) … no trimmed surface can pass the check > adios amigos. It’s a matter of resolution, so to speak (or Karma). Of course I could add various other filters (any in fact) like: if a given innerLoop intersects more that 3 times with the trimmed outerLoop … or if it splits the trimmed in an area ratio != than a given one … blah, blah.

BTW: See attached

Surface_BrepFace_Divide_V1B.gh (13.8 KB)

Depending on your U/V vaues AND the BrepFace topology AND the filter AND the mode … you MAY or MAY NOT get results (life sucks).

BTW: If a vertex is naked or has adjacent Faces that are not adjacent each other … then is an island vertex.