from Civil to Inventor

The Autodesk enthusiast exile

Civil 3D – 2010 Assembly Link Tip

We’ve moved to

Read this article here

An associate contacted me recently regarding how to move 2 sets of train tracks through a single corridor, while keeping the ability to deviate the overall width.  The example I received had the sets of tracks identically elevated and on a single bed.  I decided to go a bit overboard, and add vertical and horizontal control.


Above you can see that I mocked up something real fast.  2 separate alignments, and 2 respective profiles.  I wanted to create a open area in the middle to add a freight depot.  I used the profiles to help me adjust the grades for the buildings.

The Assembly

Here is the first half of the solution.

I’ll list the steps below the example image, and then I’ll discuss some important items afterward.


  1. Create the Alignment;
  2. Add the generic Rail Subassembly to it, this is our Primary subassembly;
  3. Add the Link Width and Slope link to the Assembly Marker, oriented to the Right;
  4. Add another generic Rail subassembly to the end of the link added in #3, this is our secondary Subassembly;
  5. Add the appropriate daylighting to the outer sides of the Subassemblies;
  6. Create a Marked Point on the inside of the secondary Subassembly where we want the FG to flow to; here it was named ‘raillink’.
  7. Add a ‘Link to marked point’ on he inside edge of the Primary Subassembly where we want the FG to flow from, and direct it to the marked point ‘raillink’ that we set in #6.


2. the Corridor will run the Primary Alignment and Profile, using the assembly, just like a typical roadway Corridor.

3) The ‘Link With and Slope’ will allow us to attach a secondary alignment and profile to the end of the link in the corridor properties. Make sure you check ‘YES’ at the bottom where it says, ‘Omit Link’.  If the link is included, the FG surface will build across this.  We do not want that to happen.  Omitting the link provides an invisible holding place for the secondary subassembly to be placed (and controlled by the corridor).


4) Our secondary alignment and profile will run directly through the end of the link in #3, so that same point is where we want to attach our second rail subassembly.  This way the widths and elevations (directed by the secondary alignment and profile) will be directly related to the control point of the secondary subassembly.

6. At this point the Major assembly components are in place and will run perfectly in our corridor.  What we are missing is the FG surface between them.  We need a direct link between the 2 rail beds, a bridge to build across.  Creating the Marked Point named ‘raillink’ will allow us to remotely extend a link to the location that the point is set at.

7) Addin the ‘Link to Marked Point’ to the primary Subassembly will create a ‘bridge’ between the 2 subassemblies, projecting from the link start point, to the marked point named in it’s definition.  Make sure you edit the link to include he marked point name ‘raillink’.


Don’t forget to edit the Assembly

The codes in the Assembly are processed in order.  If the Link comes up first looking for a marked point (that comes later) that it doesn’t know about, Civil 3D cannot connect them.  Yes the point will come up later, but too late.

Right click the Assembly marker, and pick Assembly properties.  In the construction tab you will find the list of construction features that will be evaluated, and a load of settings.  What we need to concern ourselves with now is making sure the MarkPoint is higher in the list than the LinkToMarkedPoint.  If it is not, pick the group with the MarkPoint feature, right click, and select move up until it is above the group with the link.


The Corridor

Create a corridor, and use the primary alignment and profile as a basis, along with the Assembly we just created.  Then, edit the corridor properties, and add a baseline.  Set all targets, make sure your daylighting is targeting the surface desired, and add the secondary alignment to the width control, and the secondary profile to the Slope control.


Apply the changes and go look at the corridor.


To the Left is the primary alignment, and to the Right, curving away is the secondary assembly.


I want to acknowledge a good article that reminded me of the assembly feature order.  SeanT over at Edge of Wedge is a corridor writing fool.  I think you’ll like this article. SeanT and link slopes

November 16, 2009 - Posted by | 2010, Alignments, Assemblies, AutoCAD Civil 3D, Corridor, Profiles | , , , , , ,


  1. This Article was very helpful.
    Thanks to John.

    Comment by Maksim | November 17, 2009 | Reply

    • Makc,
      I was glad to help. You can use the link width and slope, and other links in numerous other ways. Test and study the design concepts, then let your imagination take over.

      Comment by John Evans | November 17, 2009 | Reply

  2. FYI, there was a very similar article regarding this written in 2007 using LinkOffsetAndSlope that doesn’t require a marked point.

    Comment by Scott McEachron | November 18, 2009 | Reply

    • Scott,
      That was a great article you wrote, especially in 2007 when the field was quite fresh.
      For the benefit of our readers here, that post covered using Link Offset and Slope to constrain the paved subassemblies together, just like we did. In our case however, we still need the Link to Marked Point to grade across the void to remote locations on the 2 subassemblies.

      Will you be at AU this year?

      Comment by John Evans | November 18, 2009 | Reply

  3. This a great way to learn how to omit a link.

    Now can you show us how to superelevate those track beds?

    Comment by bob | February 11, 2010 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: