How to loft a solid from Civil 3D polylines 3D in Dynamo?

Hi,

Just before starting, how did you place the real vehicle clearance profiles along the track ?

The principle here is to have a clearance profile, that you can place along the track, tacking into account cant, at a certain interval and then generate a solid that you can use for clash detection for example.

You already have the pofiles placed on the track, you just need to loft them to create the solid and you can send that back to Civil 3D using the Object.ByGeometry node.

Now, the tricky and repetitive thing here is the placement of the profiles (hence why my initial queston). I will advice to actually use Dynamo for this :

  1. Start from a clearance profile (block definition, polyline whatever) and get its geometry into Dynamo (you will be creating a Dynamo Proxy)
  2. You now need to get the coordinate systems that will be used to place this profiles. This will be the “hardest” part of the script and you will probably need to do some geometry work with vectors or coordinate systems. Assuming you are working with corridor objects, you will need to get the coordinate system by stations -you can define the distance between stations - taking into account the cant (you can use the AlignmentExtensions.GetCantInfoAtStation node from the C3D Toolkit). If you don’t have a corridor with applied cant but rather polylines for example representing your track, you can use Dynamo to figure out the cant too
  3. Once you get the coordinate systems right, you just need to place your profile along thos coordinate systems and you will have the profiles along your track every X distance
  4. Create a solid by loft (this might take a while depending on the number of profiles you have)
  5. Send it to Civil 3D using the Object.bygeometry node

There are examples out there of how to place blocks or geometry along a linear infrastructure. The principle here is the same so you can use those examples as a starting point. See this example : Place Block along Rail with CANT