Feather Posted July 16, 2020 Share Posted July 16, 2020 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. 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. Quote Link to comment Share on other sites More sharing options...
Yader Posted July 16, 2020 Share Posted July 16, 2020 (edited) 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. This works, as all the other points have only two neighbours. Edited July 16, 2020 by Yader Quote Link to comment Share on other sites More sharing options...
Feather Posted July 16, 2020 Author Share Posted July 16, 2020 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? Quote Link to comment Share on other sites More sharing options...
Yader Posted July 16, 2020 Share Posted July 16, 2020 Ah, didn't saw your mesh. I assumed you converted your geo to NGons. I used remove shared edges within the Divide Sop to get rid of inner edges Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 16, 2020 Share Posted July 16, 2020 could it be this easy ? (btw, next time just upload your file, save me time mocking up something) vu_chunks.hiplc Quote Link to comment Share on other sites More sharing options...
Feather Posted July 17, 2020 Author Share Posted July 17, 2020 (edited) 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 July 17, 2020 by Feather adding stuff Quote Link to comment Share on other sites More sharing options...
loudsubs Posted July 17, 2020 Share Posted July 17, 2020 Did you try the split point SOP? This might be what you need, if you have a procedural method of grouping the points that need to be split. (I just grouped by hand in this example file). pointsplit.hiplc Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 (edited) 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) Edited July 17, 2020 by Noobini 1 Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 this colorscheme is clearer (bring up node info, CTRL+LMB on manifoldnumber to create visualizer)) 1 Quote Link to comment Share on other sites More sharing options...
Feather Posted July 17, 2020 Author Share Posted July 17, 2020 This is exactly what I wanted yes thank you! I do wonder how this works, unfortunately polydoctor is a blackbox node. If anyone from Sesi knows how this is achieved that'd be really interesting. Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 (edited) 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 July 17, 2020 by Noobini Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 arrggg...found a hole in my train of thoughts... here I was expecting all 4 points of the prim at the front to light up...but only 2 did. There goes my theory from above. Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 (edited) no killing was used in this method, just a transfer.... vu_patches.hiplc Edited July 17, 2020 by Noobini Quote Link to comment Share on other sites More sharing options...
Yader Posted July 17, 2020 Share Posted July 17, 2020 (edited) 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. patches_yader.hiplc Edited July 17, 2020 by Yader Quote Link to comment Share on other sites More sharing options...
Noobini Posted July 17, 2020 Share Posted July 17, 2020 while i've got that island comment in the file, you can also add a uvautoseam, output island attrib, add explodedview, use island as piece attrib...bob's your uncle. (still black boxes tho) 1 Quote Link to comment Share on other sites More sharing options...
sadhu Posted July 17, 2020 Share Posted July 17, 2020 something like this ? split_test.hipnc 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.