algorithmic modeling for Rhino
Is this the easiest way to output brep wireframe as bunch of polylines ?
(x = input brep)
Dim ptree As New DataTree(Of Curve)
For i As Integer = 0 To x.Faces.Count - 1 Step 1
Dim actpath As New GH_Path(i)
Dim actf As brepface
actf = x.Faces(i)
Dim intlist As New list(Of Integer)(actf.AdjacentEdges)
For j As Integer = 0 To intlist.count - 1 Step 1
Dim tempedg As BrepEdge = (x.Edges(intlist(j)))
Dim tempcrv As curve
tempcrv = tempedg.Duplicate
ptree.Add(tempcrv, actpath)
Next
Next
Dim outputCrvs As New list(Of Curve)
For i As Integer = 0 To ptree.BranchCount - 1 Step 1
outputcrvs.addrange(rhino.Geometry.Curve.JoinCurves(ptree.Branch(i)))
Next
a = outputcrvs
Tags:
You probably want to use the GetWireframe method on Brep.
I see your code doesn't actually produce polylines but curves. So I suppose the easiest way to write this would be:
a = x.GetWireframe(-1)
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Sorry for being ambiguous. getWireframe gives i.e. for cube 12 disconnected lines. I would like to obtain 6 polylines, 4 segments each, so each polyline is continuous set of trimming curves per face.
Then you'll indeed need to iterate over the faces and get all boundary loops.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
You could explode the brep into individual breps:
Dim crvlist As New list(Of curve)
For Each bf As brepface In x.faces
crvlist.addrange(curve.JoinCurves(bf.tobrep.GetWireframe(-1)))
Next
a = crvlist
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