algorithmic modeling for Rhino
Without the actual geometry I couldn't possibly comment. Please upload the gh file with the internalised brep or the 3dm file which contains it.
if the component says they're not there..... they might not be there. Do you see the control points there when you select the geometry in Rhino and run the "SolidPtOn" cmd?
Every sharp kink in a surface trim or look should be a vertex. So this would only be correct behaviour of those two corners are not in fact sharp kinks. That is possible if the trimming curve either has a teeny-tiny round corner (in which case the result is correct) or if the trimming curve is horked nurbs data with illegal multiple interior knots or some such horror.
If it's the latter case then it becomes important to figure out how the brep was made.
If I do it by manual operations
I can get the vertices
HOWEVER I have 40 000 of these surfaces.
Please see the attached sample.
When I deconstruct brep it ends up 3 vectices - instead of 4
That shape is pretty wonky. Using the _What command to inspect it, we definitely see it only has 3 edges:
The _List command gives a bit more info, but also makes it clear there's only three edges and three vertices:
When using the _DupBorder command I get the single loop, which, when exploded, actually behaves correctly. This is probably because Rhino applies some fixing routines to geometry which is added to the document via regular commands.
However the _DupEdge command shows clearly where the problem lies:
That yellow edge was selected with a single click. Inspecting just that particular curve, it turns out it is actually comprised of six distinct curves all strung together. There's four, very short, curves right in the corner:
So, verdict. This geometry has problems. Was it made in Rhino or was it imported from elsewhere?
Using the following commands I can fix it in Rhino, but as you said, it's pretty cumbersome:
The 'gap' that has to be bridged when the short curves are removed is 2cm in size.
I haven't looked into whether this can easily be automated in GH.
I have 45 k of them
do you have.
even i decon the brep - i cannot explode the edges any further.
any handy suggestion? damn it cannot be a dead end after all labourous days because of that stupid detail. stupid me!!!!! damn damn damn
If I had to solve this, I'd probably resort to custom C# coding. The trimming edges seem like they would be lines pulled back onto the surfaces, so I'd start by figuring out which portion of each edge is very linear, then recreating that using an actual line and pulling it back. Basically a custom smart rebuild within surface space.
However there's going to be some sort of tolerance issues, because you're fitting existing edges with new edges. What sort of tolerances are you willing to accept?
HI,
can i access the what/list command inside gh?In script?
Thanks!
They are Rhino commands.
Do all of your 45k surfaces have this same problem? And also have the same basic properties (i.e. an almost-ruled surface bordered by 4 straight(ish) line segments -- I know technically the geometry doesn't have 4 edges, but in appearance it does).
If so it seems like you could probably have grasshopper reconstruct these surfaces.
For example, if every surface has 2 correct edges and 1 incorrect edge (made up of what are supposed to be 2 separate edges) then you could find the edge with the longest length, and find out where the kink is (maybe based on curvature change) to make a new control point to reconstruct that edge as two separate curves.
Then you could take any 2 opposing edges and loft them.
I realize the surface you posted isn't truly a ruled surface, but if they are all pretty close and ruled surfaces would be acceptable, then maybe that's an option?
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by