Jump to content
Sign in to follow this  
Ggradest

How find "Cracked Edge" ?

Recommended Posts

Hi. Now I trying make geometry optimizer for fracturing for rbd sim, making "Solid" geometry from background models which often have bad topology.
So I must find "Cracked Edge", two Primitives appear to be connected by single line, but the number of Points on Edge belonging to one of the Primitives is insufficient.This looks like Shared Edge, but it is actually Unshared Edge so specifically break PolyExtrude SOP.

This Edge can be fixed by Union Boolean SOP, but my asset may import bad surface geometry which has many problem about Boolean SOP so I don't want use it as possible.

How can we detect this?

image.png.a068581cd95136b8a37f69dea2c03f6c.pngimage.png.114400026bc930ee155878f154a60eeb.pngimage.png.3ed98e9b3b094b4d3d56903ef82e0ae7.png

GeometryOptimize.zip

Edited by Ggradest
mistakes

Share this post


Link to post
Share on other sites

Hi, Group SOP, Group Type - edges, -> Include by Edges, Shared Edges. Then color group as you like.

Edited by vicvvsh

Share this post


Link to post
Share on other sites
7 hours ago, vicvvsh said:

Hi, Group SOP, Group Type - edges, -> Include by Edges, Shared Edges. Then color group as you like.

Hi vicvvsh, thanks for your reply. Detection of Unshared Edges can be used, but it cannot identify whether non-closed mesh.
I want to fix these three type of bad mesh by another way for voronoi.
image.png.62d8e4f28718a4170cb01662273278b5.png

I want to use Boolean SOP for this mesh.

image.png.3003b3756088e75cf477c60d53eb46c5.png

I want to use Poly Fill SOP for this mesh.

image.png.25afc40f403c043cc87daa12387f2fb3.png

I want to use Poly Extrude SOP for this mesh.

Edited by Ggradest

Share this post


Link to post
Share on other sites

here you are, Detector and Fixer in one

Nooooooooooo, don't laugh at my convoluted crap.....at least I had a go.

(ps: try using the 'hard' pig...it goes bad immediately...cos the pig is bottomless)

(pps: well actually bottomless is not the real cause...the real cause are the eyeballs...the manifolds)

crackededge.gif

VU_CrackedEdge_Fix.hiplc

Edited by Noobini

Share this post


Link to post
Share on other sites

I gave it a try, might not work on more complex geo but it works on your box :). I find the unconnected points based on normals, and then put those points into the original primitives and rebuild them.

I did something similar a while ago where I had lots of curves making up a tree. The branches wasn't attached to the branch before it, so I needed to find a way to connect the base point of a curve into the middle of another curve where there wasn't a point to attach to. That was curves and this is not, but it seems to work well for this too, albeit I turn the polygons to curves and then back to polygons.

dv_CrackedEdge.hipnc

Share this post


Link to post
Share on other sites

Thank you everyone!

Noobini's way of Manifold Number is new knowledge about me, but here "shared edge" is only "look like" (not topology), so I think that we should use Geometric algorithm (like distance).

Skybar's way is nice, comparing point N and vertex N, and inserting point to polygon edge by Add SOP close polygon from sorted points by primuv (from xyzdist) is beautifull. I had same branched polyline problem like your tree polyline (in my case, it's branched thunder) and had found PolyPath SOP, but here polygon face orientation problem is solved.
Only one thing,I think that Fuse SOP after all have possible of destroied entire connectivity or "Overlapping" topology (mentioned in PolyDoctor SOP) when geometry has "thin" shape, but it may be able to solve by using promoted source @ptnum.

petz's VEX is great, it includes distance Geometric algorithm by primfind() so I think that it's nearest detecting "shared edge" by human brain.
I try these method about more complex geometry.

Cheers!

Share this post


Link to post
Share on other sites

hey.......heeeeeeeeeeeeeeeeeeeeeeey !

what is this sorcery ?? i just saw a vid...labs_dissolve_flat_edges

feed your dodgy geo into this annnnnnnd.....magic....

dive inside and you'll see it selects edges by angle...yeah...easy once you know how !!!:o:o

Edited by Noobini

Share this post


Link to post
Share on other sites

Wow! The node doesn't seem to work on curved surface, but it may be exactly answer for this problem.
Perhaps treatment of "FlatEdges" on other DCC causes this incorrect topology, and this Labs may be addressing that inverse function.
Thanks Noobini!
 

 

Share this post


Link to post
Share on other sites
On 7.4.2020 at 1:29 PM, Noobini said:

hey.......heeeeeeeeeeeeeeeeeeeeeeey !

what is this sorcery ?? i just saw a vid...labs_dissolve_flat_edges

feed your dodgy geo into this annnnnnnd.....magic....

dive inside and you'll see it selects edges by angle...yeah...easy once you know how !!!:o:o

isn't doing dissolveFlatEdges a completely different thing, or did i misunderstood the original question?
if you'd like to just remove “flat edges” you could also use cusp polygons in a facet sop followed by a divide sop. it might also be faster ...

 

Share this post


Link to post
Share on other sites
10 hours ago, petz said:

isn't doing dissolveFlatEdges a completely different thing, or did i misunderstood the original question?
if you'd like to just remove “flat edges” you could also use cusp polygons in a facet sop followed by a divide sop. it might also be faster ...

 

not sure, you'll have to ask the OP that...my reading of it is..given a geo from some junior modeller, cleanup any bad geometry.

btw, it's a joy to see you back in here, looking fw to some more advanced tips that I CAN'T quite understand :lol:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×