Removing primitives connected by a single point

   4620   3   0
User Avatar
Member
34 posts
Joined: Nov. 2016
Offline
I'm trying to come up with a way to remove a section of geometry that is attached by a single point (procedurally of course). In the example image I want to delete the smaller piece of geometry that is attached at only that single point.

I tried doing some things in a point wrangle checking for point neighbors, but there are some other prims on this object that match neighbor counts.



I would love some VEX help if anyone has some suggestions. (or maybe theres a SOP function that will do it too)
Edited by TheProgg - April 13, 2018 20:13:05
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
I always lean on the UV tools to do this heavy lifting. In this specific case you can use UV Flatten SOP to easily detect these types of free hanging pieces.



Follow up Connectivity SOP which has a primitive option to use UV connectivity.

No way VEX will be efficient at doing this unless there is a specific c++ function that can efficiently do this, and there isn't such a function that I am aware of.

See attached hip file.

Hope this helps.

Attachments:
detect_isolated_pieces_by_point.hip (80.8 KB)
detect_isolated_pieces_by_point.jpeg (838.0 KB)

There's at least one school like the old school!
User Avatar
Member
8582 posts
Joined: July 2007
Offline
you can as well use PolyDoctor SOP and under Topology/Non-Manifold Points choose Repair
you may want to turn Primitives/Ill-Formed to Ignore to avoid other checks if not desired
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
34 posts
Joined: Nov. 2016
Offline
Thank you for the suggestions and the hip file. It totally slipped my mind that connectivity SOP had a uv connectivity option. Polydoctor worked as well.
  • Quick Links