Jump to content

A little Stumped here


Recommended Posts

I'm looking for an efficient way of separating geometry at points where the two chunks are only connected by a single point. Assigning each chunk a unique ID is the ultimate goal. 

In the image below, I have forced an edge case. The red circled points are the ones I'm looking to separate without breaking them away from the other connected geometry. 

ConnectedPoints.thumb.jpg.314f9c420cac3844d6e286262fcc3640.jpg

I can identify faces that are only connected by a single point. However, separating two chunks larger than a single face but connected by a single point is proving difficult.

If anyone has any suggestions for how to achieve this I would very much appreciate the help. 

Link to comment
Share on other sites

You can use the Group Expression SOP utilizing the "Valence" preset. Set it to 4 and you'll select all the points with 4 neighbour points.

image.thumb.png.f01a2b854114d025c1525544f7deb6e9.png

This works, as all the other points have only two neighbours.

Edited by Yader
Link to comment
Share on other sites

Thanks for the reply Yader!
 

This is good but runs into an issue with grabbing center points as well. I'm curious, its not grabbing the center point of your larger chunk in the picture as both it and the connected corner have 4 neighbors.

How did you manage that?

 

Link to comment
Share on other sites

Thanks Noobini!

I usually do upload a file but this time it seemed like more work to log in, download the file, find then open it up, than to just drop a grid and delete some random faces.

Unfortunately I can't remove the interior edges. However this did give me an idea. Doing this, adding a name attribute to the new faces then scattering points and transferring the name to the previous faces could work. 

I would still like to know if anyone can come up with a solution a bit more elegant than killing and transferring. That process is going to be slow and dependent on point density for larger meshes and definitely wouldn't work if the mesh was not flat. 

Edited by Feather
adding stuff
Link to comment
Share on other sites

what about this then...you already can tell by the colors....it's correctly separated

the attrib is manifoldnumber

(actually the 2 mauve ones joined to the yellow one top left just got my interest!!!)

(nah...doublechecked, it's worked perfectly, those 2 patches joined to the yellow ones are actually different, one has manifoldnumber 1 and the other one is 6)

patches.jpg

Edited by Noobini
  • Like 1
Link to comment
Share on other sites

i reckon it's possible with point groups...but I don't know VEX

- create your geo

- group>points>Unshared edges but make sure to check Create Boundary Groups. Lets pretend you call your group Border.

So your Border would be structured like this, Border is ALL unshared points, then you get Border__0/1/2/3...etc....as different patches..much like manifoldnumber.

So if I knew VEX, I would find points that belong to 3 groups ie. Border + 2 other groups (named Border* that is)...but then you'd have to fart around trying to promote the pointgroup property to prim....to get the equivalent of the manifoldnumber.

Someone else can try.....I still don't know much VEX.

(note Create Boundary Groups is only possible with points, not edges or prims)

Edited by Noobini
Link to comment
Share on other sites

6 hours ago, Feather said:

...

Unfortunately I can't remove the interior edges. However this did give me an idea. Doing this, adding a name attribute to the new faces then scattering points and transferring the name to the previous faces could work. 

...

 

You can just transfer the point group after removing the interior edges and do your point split and then assign a unique ID to the patches.

 

image.thumb.png.7390380d6cfc209cc36064195593e57f.png

patches_yader.hiplc

Edited by Yader
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...