I have created a solid by offset from closed curve, shown picture, and I want to extract it's vertex and edge for others work, is there has any ways can achieve it ?
Hi Paddy,
Can you please elaborate a bit more on "other work"? This might give us more clues to help you out.
Hi Tathagata,
I have create a solid, and I cannot continue my work unless the solid's edge and vertex can be selected. Is these has any properties or method on solid could help me select vertex and edges? Or, I have to use other feature?
I would approach it in a couple of different ways.
Option 1:
Extract the surfaces from the Solids, using a bsplinesurface node with method extract all surfaces from solid.
You could then use a copy by geo transform to copy out a single surface by targeting it for example bsplineSurface1[0]
You could then target the polylines on the edges of this surface doing a similar thing and extract just the polyline you need.
Similar you could then extract the endpoint of one of the polylines as a point using the same method of CopyTransformGeometricContents (you can just copy from baseCS to baseCS so it just is a copy inplace).
All of that is a bit slow and takes a lot of steps.
The method I would preferred would be:
Option2:
Taking the original curve you offset from and generate a line by direction ad length from a specific point on that curve. And then for points just use a point ByDirectionAndDistanceFromOrigin
You can target the segments of the closed curve by using its control polygon
For example
curve2.ControlPolygon.LineSegments[1].EndPoint
you might just need to work around the curve to find the right segments.
That should work.
I have attached a dgn sample with the 2 options.
Thanks
Wayne
Extract-Parts.dgn
Answer Verified By: Paddy Wang
Thanks for your timely reply!!!
Hi Wayne,
Another little question. Shown in screenshot, how to create that offset node ?
it is an expression node that I just changed the name to offset to make it easier to identify. then you just type in a number. you could also use a slider node for the same result. Thanks
Wayne.
Thank you very much.