Subassembly Studio



Are my Subassembly Studio generated subassemblies compatible with other subassemblies, such as those that come with AutoCAD Civil 3D?

YES.  Subassembly Studio subassemblies will absolutely work with other subassemblies, however, the other subassemblies may not support all features that Subassembly Studio does. For example, marked points in Subassembly Studio work in both ‘layout’ and ‘design’ mode (in your assembly and corridor, respectively), whereas stock subassembly marked points will only function when building the corridor.


Which versions of AutoCAD Civil 3D is Subassembly Studio compatible with ?

As of Subassembly Studio Version 8.x (‘2016’), subassemblies may be exported for use with AutoCAD Civil 3D 2013-2016.  Some features may not be available for subassemblies exported for use with older versions of AutoCAD Civil 3D.


Do I need to have AutoCAD Civil 3D on my machine in order to run Subassembly Studio?

You do not need to have AutoCAD Civil 3D installed in order to run and use Subassembly Studio Designer, however, you must have it installed along with Subassembly Studio Runtime in order to use your exported subassemblies.


Why is Subassembly Studio split into two components?

Authoring a subassembly and running that subassembly in production mode are two very different things.  While we could have implemented Subassembly Studio inside of AutoCAD Civil 3D as a single program component, we instead opted to make the Designer component standalone, thus allowing you to use it without the overhead of running AutoCAD Civil 3D.  This also allowed us to keep the Subassembly Studio Runtime component lighter and smaller, thus allowing for smaller distribution files when the application installer is bundled with exported subassembly catalogs.


How does the Subassembly Studio DRM system work and why would I want my subassemblies to be protected?

Subassembly Studio includes an intrinsic Digital Rights Management (DRM) system wherein a private ‘Master Key’ is used to ‘sign’ all exported subassemblies.  The Subassembly Studio Runtime component must have the same Master Key associated with its license in order to run the exported subassemblies.  This prevents unauthorized sharing of your subassemblies with third parties such as your competitors.

If you do need to share your subassemblies with a third party, you can do so by adding a special access key to the exported subassembly catalog.  You would then share that access key (but NOT your private Master Key) with the third party, who would then run a special command to activate that access key on their system.  Once this is done, the third party will be able to use any catalog signed with that access key.


Does Subassembly Studio support output parameters?

Absolutely.  Subassembly Studio includes full support for output parameters, and even extends this concept by allowing you to create subassemblies capable of automatically obtaining the values of the output parameters of other specifically targeted Subassembly Studio generated subassemblies.

An example of where this might be useful is if you have a lane subassembly which outputs ‘outside’ pavement and gravel depths, and top/subgrade slopes…you might want an adjacent lane to be able to pick up on these values as input.  If you configure your subassemblies to be able to do this, the second subassembly can automatically connect to the first.

By comparison, a manual process is used to do this in stock AutoCAD Civil 3D subassemblies – to accomplish this you must delve into the assembly properties and ‘override’ the input parameters by mapping the output parameters from another subassembly.  This is a redundant, time consuming process that is simply not necessary in many cases if you use Subassembly Studio.

Note that output parameters from subassemblies which are not created by Subassembly Studio will not work with this mechanism.


What is a ‘Marked Point’ and how does Subassembly Studio differ from stock subassemblies in handling Marked Points?

A ‘Marked Point’ is simply a stored location in an assembly that is associated with a ‘name’.  Subassemblies only have one anchor point where they are able to tie into an assembly model.  In many cases it is necessary to have additional anchor points at various locations in the assembly in order to allow a subassembly to operate.  An example of this is a ‘depressed median’ subassembly on a bifurcated road design…you might insert or anchor the subassembly at the left inside ‘edge of pavement’, but how does the subassembly know where to tie in on the right side, especially if the median width and/or pavement elevation varies?  The solution is to create a named or ‘marked’ point that can be retrieved by the median at the right inside edge of pavement, and then to tell the median subassembly to retrieve that value to use to tie-in to the remainder of the assembly.

In conventional AutoCAD Civil 3D subassemblies, marked points only work in ‘design’ mode (when the corridor model is actually being built).  In layout mode, subassemblies such as medians typically show a place-holder graphic rather than WYSIWYG geometry.  Subassembly Studio gives you the ability to leverage marked points in ‘layout’ mode as well (when the assembly is being rendered), thus allowing your assemblies to show a typical section which is more representative of the actual design.


How are target parameters handled in Subassembly Studio and how does this differ from stock subassemblies?

Subassembly Studio supports the full gamut of ‘target’ parameters supported by stock and other conventional subassemblies.  In their most basic form, target parameters work exactly as they do for conventional subassemblies.  Subassembly Studio extends this functionality to allow you to handle collections of targets as a single entity, and to automatically retrieve individual or multiple targets without requiring the user to manually map objects in the corridor properties.  The automated target acquisition feature allows you to specify that a subassembly should automatically retrieve a surface called ‘Existing’ and use it as a target; combining this with target collections allows you to easily make a subassembly which for example automatically finds all ‘subsurface’ targets, sorts by elevation, and iterates through each with a cut slope and bench…


I need to represent cut and fill materials as shapes in my model – is this possible?

Yes.  Subassembly Studio Professional Edition includes several features which make this not only possible, but very easy to accomplish.  The most basic option allows you to ‘resolve’ two sets of links (which may be sampled surfaces, design data, etc.) into shape polygons, and automatically assign a ‘cut’ and a ‘fill’ code to the shapes based on which link is ‘above’ and which is ‘below’.  For more complex designs, you can use a generic ‘earthwork table’ to handle an unlimited number of links (grouped by ‘code’) and an unlimited number of materials.


Does Subassembly Studio support superelevation?

Yes.  Not only does Subassembly Studio support traditional AutoCAD Civil 3D superelevation functionality, but is also extends this to allow computation of superelevation rates from target alignments, and can retrieve additional superelevation data such as which region of the superelevation the current station is in, the distance to the beginning or end of the region, length of the region, etc.  These extended features allow you to create complex superelevation logic which goes far beyond what would otherwise be possible in AutoCAD Civil 3D.  The ability to calculate superelevation rates from target geometry allows you to create superelevated designs with an infinite number of lanes without having to resort to offset baselines.


Does Subassembly Studio use ‘expressions’?

Yes. Subassembly Studio gives you several possibilities for including custom calculations in the form of ‘RPN’ (Reverse Polish Notation) expressions.  Those familiar with the Hewlett-Packard 48 (and other) series of calculators will already be familiar with this system.  While it may take a little getting used to for the uninitiated, it allows you to represent mathematical equations more efficiently than does the traditional algebraic form.  RPN Expressions may be used inline in a parameter or value reference, and may be used special components dedicated to performing calculations.  Within RPN expressions you may reference parameters and variables, perform calculations, save values to parameters or variables, etc.  Subassembly Studio includes RPN functions such as summation, conditions, vector calculations, etc. in addition to the basic arithmetic operations, trigonometric and other advanced functions, etc.


What does it mean to ‘invoke’ a Subassembly?

Subassembly Studio includes several features which allow you to ‘invoke’ other subassemblies from the same catalog as if the invoked subassembly was just another component in the current subassembly…you can think of this as a subassembly nested within another subassembly.  This allows you to create complex reusable subassembly components such as a specific curb design, etc and then reuse that in multiple subassemblies.

Subassembly invocations can be made in several ways.  You can invoke a subassembly once (such as a curb, etc), or you can invoke it in one of several ‘repeated’ modes which allow you to continue to invoke that subassembly until a condition is met, or you run out of targets, etc.


What sort of interactions can subassemblies created with

Subassembly Studio have with the AutoCAD Civil 3D environment?

Subassemblies created with Subassembly Studio can interact with the AutoCAD/AutoCAD Civil 3D environment in many ways, including:

  • Traditional and extended support for ‘target’ parameters
  • Retrieval of information from targeted objects via target parameters (such as superelevation, pipe properties, etc.)
  • XRecords:  you can store and retrieve values using XRecords, allowing you to persist data between different subassemblies, assemblies, regions and even corridor models.  You can also use this to output data for use with other applications.
  • Baseline geometry:  you can retrieve information such as instantaneous bearing/azimuth, instantaneous slope, curve radius, etc.
  • Point coordinates:  shift between local (subassembly) and global (assembly) coordinate systems when working in a section plane (offset-elevation), and retrieve global (model) coordinates of section points (i.e. Norting-Easting-Elevation) when building a corridor.


Does Subassembly Studio include the ability to send ‘messages’ to the user via the AutoCAD Civil 3D Event Viewer (and/or other mechanisms)?

Yes.  Subassemblies created with Subassembly Studio can post both warnings and error messages to the AutoCAD Civil 3D Event Viewer.  In addition to this, your subassemblies can also send messages to the AutoCAD command line, write to external files such as CSV, etc.  It is also possible to conditionally show messages via an intrinsic ‘Debug Mode’ flag, allowing you to add and leave in place debug messaging at key locations that is enabled for testing but disabled for production use.



The web store has been temporarily placed in demo/test mode while we update and test some new features. If you see this message and wish to make a purchase please contact sales@civilplus.net. Thank you.