Autodesk Subassembly Composer

Recently I asked for input on what to write about regarding Civil 3D .Net API blog posts (still open to input!!!). So far the majority of the responses have been in connection with how to create a custom subassembly in .Net. Interestingly Autodesk Labs released a new standalone application that will do just that this week for testing!! Let’s walk through this tool and see the potential it has.

Disclaimer: What we are about to discuss is an unproven tool still under development. USE AT YOUR OWN RISK and make sure that your READ THE README.

The Interface

First, I have to say it is great to see that Autodesk is using the .Net framework to create a very nice, intuitive user interface. The main window is split into palettes that are dockable, anchorable (is that a word), and have the ability to autohide creating a system that is endlessly customizable.


The idea is to connect the dots. You add your dots (points) to the flow chart. Each point has properties such as what point you are coming from and how you leave that point (elevation, offset, or slope, etc.).

PointProps[1] Of course, you have to add your links in between your points. Everything is connected through the flow chart. You pull an ‘arrow’ from the object in the flow chart to the object that you want to connect to. For example, Point 1 is connected to Point 2. However, the link that connects Point 1 and Point 2 is next since you can have only one outgoing connection per object. The link then feeds into Point 3 which gives Point 3 the ability to use any of those points as a point to connect FROM.

Input Parameters

So far everything above is something that could be done with using a polyline to create a subassembly. However, you can create complex subassemblies with targets, conditions, inputs, and I am sure more will come.

In this example, I am creating a concrete step barrier based upon the detail below.


I wanted to be able to input a height parameter. So in the input parameters, I enter a parameter named Height that is a double with a default height of 0.96. Then for Point 6, instead of entering an elevation I enter the name of the parameter (Height). Then the user can enter the height and this point will adjust!!


Bringing it into Civil 3D

As you make revisions, you save the new subassembly as a PKT file. You can import PKT files into Civil 3D using the Import Subassemblies function and then have fun with your new subassembly!!!



There are many gaps in the technology at this point but this new application’s potential gets the creative juices flowing and makes the imagination go wild. Download it, play with it, give feedback on it, and get ready for one of the nicest additions to the subassembly functionality in awhile.


  1. Yates says:

    Thanks, Joshua! We will be trying this out very soon.

  2. Matt Kolberg says:

    Just a note to readers…this is Labs software. Stuff that Autodesk is looking at. It won’t necessarily be available in a complete state, ever. This version time bombs in June. Who knows when/if it will be finished. I should hope so, but this can’t be guaranteed.

    By the way, i’ve found it exceddingly easy to grasp. You definitely need to know your way around code set styles to make this work the best for you.


  3. […] You can read more about this from Autodesk’s Jason Hickey on the Being Civil blog, and another good write up on this is from Joshua Modglin on the blog. […]

  4. […] you should all know from Joshua Modglin’s post the other day, the Autodesk Labs have released the Autodesk Subassembly Composer (hereafter […]