how to cap a inner hole??

   1073   4   2
User Avatar
Member
24 posts
Joined: Feb. 2022
Offline


as the attachment shows, "inner" hole need to be capped.

but if use polyfill or polycape node, the outside edges are also involved.

what should i do? to cape the hole; or select the "inner hole" edge?

thanks a looooooooot

Attachments:
2023-06-22_13-43-02.jpg (316.8 KB)

User Avatar
Member
1013 posts
Joined: April 2017
Offline
I had a similar problem. My method was to use the polyfill sop with Patch Group activated. In a primitive wrangle below (with patch in the group)I use this code:


int primpts[] = primpoints(0, @primnum);
int len = len(primpts);
if(len > chi("max_points_per_hole"))
     {
     removeprim(0, @primnum, 1);
     }

*click on the Create Spare Parameter's button on the right.
Edited by olivierth - June 22, 2023 17:50:44
User Avatar
Member
1748 posts
Joined: May 2006
Online
Or a hacky sops way I learned a while back.

Divide sop in 'remove shared edges' mode removes all the interior polygons, just leaving the edges on the outside of shapes. This has the effect of turning every open hole into a polygon. This'll look like a mess, but each hole is now a polygon (with a giant super ugly one for the ocean bit).

You can then use a measure sop to calculate the area of these new faces, keep only the small ones, and merge with the original mesh.

Attachments:
patch_small_holes.hip (403.6 KB)

http://www.tokeru.com/cgwiki [www.tokeru.com]
https://www.patreon.com/mattestela [www.patreon.com]
User Avatar
Member
24 posts
Joined: Feb. 2022
Offline
olivierth
I had a similar problem. My method was to use the polyfill sop with Patch Group activated. In a primitive wrangle below (with patch in the group)I use this code:


int primpts[] = primpoints(0, @primnum);
int len = len(primpts);
if(len > chi("max_points_per_hole"))
     {
     removeprim(0, @primnum, 1);
     }

*click on the Create Spare Parameter's button on the right.

it really helps!!!!! using point numbers is a good idea wich i never thought.

learned a lot.
User Avatar
Member
24 posts
Joined: Feb. 2022
Offline
mestela
Or a hacky sops way I learned a while back.

Divide sop in 'remove shared edges' mode removes all the interior polygons, just leaving the edges on the outside of shapes. This has the effect of turning every open hole into a polygon. This'll look like a mess, but each hole is now a polygon (with a giant super ugly one for the ocean bit).

You can then use a measure sop to calculate the area of these new faces, keep only the small ones, and merge with the original mesh.

checked the attachment, it does work!!
now i konw how to get the area, whenever i need them.
thanks a loooot.
  • Quick Links