3D polylines from feature lines

Thanks Zach, I appreciate it!

Can I add something else to the wish list? Would it be possible to have a FeatureLine.Curve3D node, perhaps with an integer input to divide up arcs evenly? Something that we could plug into the Polyline3D.ByGeometry node to create 3D polylines? I am trying to create a script to convert feature lines to 3d polylines and it is cooking my noodle. :smiley:

I know you and the team have lots going on, just something that would be great to have on the backlog.

You can already do this with the Object.Geometry node :slight_smile:

So I did try that one, but I ran into the same issue as if I just returned the point geometry for the feature line. I’m trying to create something like the bottom 3d polyline from the magenta feature line in the screenshot, but all my attempts at keeping the Z elevations end up with something like the white polyline in the middle.

Right now I am trying to parse out the arcs using dynamo geometry but my dynamo-fu isn’t strong enough yet.

I thought I almost had it with this setup, but get an error due to not being able to control the conversion of the arcs. It will draw the line segments but the arcs fail.

If I can figure out how to parse out the arcs with elevations, I can create elevation points on the arcs and then use that to create an approximation of the arc with a 3D poly, but it is getting the arc info/z elevation that is stumping at the moment.

Does this work?

So that is what I was attempting in my last screenshot, just with a different selection method, and didn’t get as far as joining the arc/lines up because I get an error on the approximate arc/line node. The arc it is trying to parse is a 10’ radius, which isn’t tiny by any means and pretty typical of what I would be trying to extract. I’m not sure if there is a variable I can control to reduce the min length of the arc conversion?

If you want to test the same feature line, I’ve attached the drawing. It is also attached to another post I hadn’t hit post on yet :expressionless:

Feature Lines - Feat to 3D Polyline - By Site.dwg (914.2 KB)

Soooo I have some egg on my face. I had set the geometry scaling to be large / extra large and that was causing all the issues. All the solutions you proposed worked when I reduced the scaling.

Sorry about about that, I appreciate your quick responses and help to the community! If we ever meet, I owe you a beer!


2 Likes

Okay, last post on this I promise; and my apologies for the post bombing.

The attached script seems to be exactly what I need, but has an inconsistent behavior. Not all the arcs seem to get picked up for some reason, even though the dynamo geometry looks good.

I have geometry scaling set to be small, and it doesn’t seem to be corelated with the size of the arc, you can see on the left object the smaller arc gets picked up but the larger doesn’t. You can also see on the small feature line in the middle that all the arcs are the same size, but only two of them got picked up. I do note that larger arcs do seem to suffer from the issue less or not at all.


Feature Lines - Feat to 3D Polyline - By Site (V2).dwg (965.9 KB)
Feature Lines - Feat to 3D Polyline - By Site (V2).dyn (31.1 KB)

No worries! I actually just realized an oversight that I made in my last example. Feature lines can have up to 3 different curve types:

  1. Line (a line segment both in plan view and 3D)
  2. Arc (arc in plan view with grade = 0)
  3. Helix (arc in plan view with non-zero grade)

The case that wasn’t accounted for previously was (2) above. The Curve.ApproximateWithArcAndLineSegments node won’t do anything in this case because the curve is already an arc. 3D polylines don’t support arcs, which is why you were getting lines connecting the start and end points without any tessellation.

So to make this more robust, I think you’ll have to do the tessellation yourself for the non-line segments. Try this:

Feature Lines - Feat to 3D Polyline - By Site (V2) - Zach edits.dyn (53.4 KB)

2 Likes

@zachri.jensen, lets make that two beers if we ever meet! The script is :pinched_fingers:!

Filtering out the line segments I can make sense of, but the curve tessellation and point sorting I’ll have to take a close look at before I can totally understand it. Also, thanks for the explanation of the curve types, that was definitely helpful in figuring out how nodes deal with feature lines. I had realized that lines as a type of curve, but had no clue the 3d arcs on the grading objects were considered a helix.

I really appreciate your help, this will definitely help develop my dynamo skills moving forward!

1 Like