Creating a gabion wall in subassembly composer

Subassembly Composer is an application that is installed with Civil 3D and offers the possibility of creating your own subassemblies. You can then add those subassemblies to Civil 3D and use them in a corridor. This blog will show an example of how you would create a gabion wall subassembly that adjusts the number of levels based on an elevation target.

Creating a gabion wall in subassembly composer

When you launch Subassembly Composer, the interface is divided into several panels. In the ‘Packet Settings’ panel, set the subassembly name to GabionWall. That is the name that will show in Civil 3D when the subassembly is imported into Tool Palettes.

Next, set some input parameters to define the dimensions of the gabion baskets. These parameters will be exposed in Civil 3D in subassembly properties and can be edited.

Still in the same panel, change to the ‘Target Parameters’ tab and add an elevation target, that will be used to work out the number of levels that are needed. Our subassembly will have a minimum of 1 and a maximum of three levels but you can easily add new levels following the same process.

We can now focus on the flowchart, which is where we can build the logic of the program. You can click and drag the corresponding nodes from the Tool Box to the Flowchart and then change the connections between them if needed. This is how the finished graph looks like, we will now start going through the process step by step.

Insert a sequence in the Flowchart and rename it Codes. A sequence can be used to group a number of nodes that are related, helping you organise the chart. Inside the sequence, add a few ‘Define Variable’ nodes to create some variables that will define the point, link, and shape codes. By creating variables, we reduce the risk of typing the same code differently if it needs to be assigned multiple times. It will also make it easier to change the codes once the chart is finished.

Add a Point node after the Codes sequence in the origin and assign a code of TopInside. This point represents the attachment point of the subassembly.

Next, we define a variable NumberofLevels to control the number of levels that are needed based on the elevation of the attachment point, the elevation target, and the height of each gabion basket. Assign the following formula to the value of the variable:

CType(Math.Ceiling((P1.Elevation-BottomOfWall.Elevation)/Height), Integer)


Now define another variable Currentlevel to keep track of the level we are in and initialise it with a value of 1.

Include the geometry of the top level in a ‘Level 1’ sequence by adding Point, Link and Shape nodes and assigning the codes as indicated in the preview below. At the end of the sequence, increase the CurrentLevel by one using a ‘Set Variable Value’ node.

Insert a Decision node to determine if we continue to the next level or if we stop at this point. The condition to check is ‘CurrentLevel <= NumberOfLevels’. If it evaluates to True we will proceed to level 2, otherwise, the execution will end.

Copy the sequence used for level 1 and modify it accordingly to reflect the geometry of level 2. Note how you can drag the BottomOfWall elevation target and the preview will update, modifying the number of levels as needed.

Create level 3 (and subsequent levels if desired) following the same logic and save the packet file as ‘GabionWall.pkt’. There just remains to add the subassembly to Civil 3D.

Open Tool Palettes in Civil 3D, right click on one of the existing tabs and add a new palette.

Right-click on the newly created tab and import the subassembly:

The subassembly should now display in Tool Palettes, ready to be inserted into an assembly.

It can now be used on a corridor where the baseline represents the top level of the gabion wall, the bottom level is given by an elevation target (e.g. a profile) and the length of the baskets is controlled by the frequency.

If you would like help with content creation, application automation, project support and much more, visit our website to explore our consultancy services here.  


Take good care of your emails or risk huge fines

18 January 2021

It seems like such a long time ago that we were all wondering how the General Data Protection Regulation (GDPR) would impact our businesses and it’s easy to imagine that the problem has now gone away, but ignore it, and you could be making an expensive mistake.

Learn more

Keys, Wallet, Phone – What Have I Forgotten?

15 January 2021

We all have favourite places where we leave them so that we can easily find them later, it may be on a bedside table, in the kitchen draw, a coat pocket, etc. Wherever it is, we know where to start looking, but what about office equipment and assets, where are they?

Learn more

Starting with an AutoCAD Electrical Project

15 January 2021

In this blog article, we are going to take a deep dive into what an AutoCAD Electrical project is and why it is important to have the correct project setup when starting to use AutoCAD Electrical for the very first time.

Learn more