Create Subassembly from Polyline

After I started working with subassemblies in Civil 3D I wanted a way to create custom subassemblies.  Originally, I hoped there might be a way to create them using standard AutoCAD commands, but then I found out about the Subassembly Composer.  After some experimentation, I was able to understand how to design using the Subassembly Composer, but I felt like it would have been easier to grasp this tool if I had the ability to start off my design in Civil 3D directly.

Sure enough, after a bit of poking around I found that we can design basic subassemblies directly in Civil 3D using the Create Subassembly from Polyline tool!  This is a great tool on its own, but this can also help you make your first steps to understanding the Subassembly Composer.

To begin, we first need to create the links that will define our subassembly by creating a polyline.


Once you have the polyline, created we can now use the Create Subassembly from Polyline tool.


You will need to name your assembly and choose a Code set style.


Next, we need to assign codes to the links and points using the Add Code tool.


You could create your own code set, but below I’ll display the All Codes Set that comes “out of the box.”

Here are the point codes:


Here are the link codes:


Once these have been assigned, you should see that the points and links have changed color based on the codes you have given each.


Once you are finished assigning codes, you now need to create shapes for volume calculations.  To do this we first need to use the Add Shape tool.


After you have created the shape by selecting the links that create the boundary for the shape, you now need to add a code to the shape the same way we added codes to our links and points.

Here are the shape codes available in the default All Codes Set:


Below, you can see how a hatch has been applied to my shape:


From this point we need to add our newly made subassembly to the rest of our assembly.

First, you need to make sure the basepoint for your assembly is correct.  Select the subassembly and see where the square grip shows up.


If the grip is not at the correct point you need to use the Modify Origin tool:


Once the origin is set to the correct point, you can then add your subassembly to the rest of your assembly using the Add to Assembly tool.


If you accidently add the subassembly to the wrong point you may have the use the MOVESUBASSEMBLYTO command in the command line.

While this method works great to quickly get out a shape based off your immediately needs.  There is one functionality that this tool lacks.  After creating a subassembly in this method we do not have the ability to manipulate any parameters as we would be able to with the subassemblies that come “out of the box.”

Below is what a typical subassembly might look like when trying to modify parameters:


This is what a custom subassembly created using the Create Subassembly from Polyline tool looks like:


As you can see, no properties are listed, so if we wish to have parameters that can be manipulated we need to create the subassembly in the Subassembly Composer.

 – Aaron Simpson

2 thoughts on “Create Subassembly from Polyline

  • Roger


    HI.. I have Created everything as you show here but I can’t create the shape file it does nothing what could I be doing wrong.

    I am using 2017

    • Aaron Simpson


      Thanks for commenting Roger! One thing you need to look out for when creating a subassembly is your code set. After we looked over the issue we found that Roger couldn’t see the shape based off his links. This was because the “no codes” style was set not to display a hatch. With no hatch you can’t select the shape to add a code.

Leave a Reply

Your email address will not be published. Required fields are marked *