How can i extract corner points of a polysurface
Thanks in advance
EXTRACT CORNER POINTS FROM POLYSURFACE.gh (1.1 MB)
How can i extract corner points of a polysurface
Thanks in advance
Your points are the ones that are connected to one face (i.e. have VF valence one): that’s an elementary connectivity problem via code (BTW: I do hope that you know what connectivity is [in this occasion for Breps - same for Meshes]).
Notify if you need a C# that does that.
After getting the VT (Vertices Tree) and the VFT (Vertex to Face Connectivity Tree) is just that simple:
Yes please!
It would helpful if you can share C# or gh file,
I am not much aware of what you are talking about
Thanks in advance
Hmm … good news then (ignorance is a bliss).
BrepConnectivity_CornerPoints_EntryLevel_V1.gh (535.2 KB)
Assuming that you have an idea about what a DataTree is : kinda a dictionary of Lists (well … kinda) Connectivity is a Tree of type int that relates items in one or two Lists.
For instance a VV Conn (V for Vertex) relates items in one List. Path dim 2 (or 1) is the index of the parent item and the items are the indices of the child items.
On the other hand a VF Conn (V for Vertex, F for Face) relates items in 2 Lists (Vertices against Faces). Same for EV used here (Edges against Vertices).
So using solely the VF Conn Tree … we search for Vertices connected with just one Face - like V48 (belongs to Brep 3) that is connected to F37 (obviously in Brep 3) … blah, blah. All that are elementary via code, mind.
In most or real-life cases Conn Trees have 2 dimensions (first is the index of the “parent” item in the List [the Brep in the bList for this case])
Since for Breps/Meshes we have 3 classes of objects (V, E, F) … there’s 9 possible Connectivity Trees (VV, VE, VF, EV, EE, EF, FV, FE, FF).
Here’s the full 9 Trees:
Your first surface has nasty two interior vertex that are also retrieved by this approach.
In a general case, you may also have a case like this :
I used Discontinuity
component to get the same result as @PeterFotiadis and then some sorting procedure along a local horizontal axis, which does the job for your five cases.
ExtractCornersCleaned.gh (1.1 MB)
@PeterFotiadis Thanks for pointing out the existence of those connectivity trees, I only knew about the ones accessible by the Brep Topology component.
Thank you!! for the insight
its working well…
thank you