Back to Part Builder Part 6

In the last session we created the Structures in the Civil 3D environment.  In this session we will modify the configuration to add the slopes to a list, in order to change the structure to be consistent with the corridor side slope.

Open up Wingwall Sloped in Part Builder.  Since we have something that hopefully works, let’s save a new part.  This way we have both.  “If it aint broke, then don’t try and fix it”.  Let’s try Wingwall Variable Slope.

Pick the ‘Save As’ button on the toolbar. The ‘Save Part Family As…’ dialog will appear allowing us to change the Chapter, Part Name, and Part Description.  Leave the chapter as Inlet-Outlet-Custom, cut change the Name and Description to Wingwall Variable Slope.


Hit OK.

Right Click Size parameters and select Edit Configuration.


Scroll to ‘bSlope’, and change the Data Storage pull down item to list.

Select the ‘Parameter Configurations’ pulldown and change it to ‘Values’.

If you double click on ‘bSlope’, you will find that it will not bring up the list of items to modify.  We will have to make the changes elsewhere.

Save the part and exit out of Part Builder.


Navigate to the Program Data (VISTA) location where your catalogs are stored, and open the new XML for the structure you just saved.

C:\ProgramData\Autodesk\C3D 2009\enu\Pipes Catalog\US Imperial Structures\Inlet-Outlet-Custom\Wingwall Variable Slope.xml

Near the top of the editor, you will find ‘bSlope’ entered in as a List item.


Notice the <Item id = “i0”>3.0000</Item>. There needs to be a list of items, but there is not.  Let’s make the list.

Enter (or copy paste from here) the following data and paste it into the same location:

<Item id=”i0″>1.0000</Item>

<Item id=”i1″>2.0000</Item>

<Item id=”i2″>3.0000</Item>

<Item id=”i3″>4.0000</Item>

<Item id=”i4″>5.0000</Item>

Here is a screenshot of what that looked like.


We should be able to turn on the visibility here, but it does not work.  This is where we start to get into the buggy world that a lot of the advanced users on the Discussion Group are fighting with.

<ColumnConstList desc=”Slope” dataType=”float” unit=”” name=”bSlope” id=”CCL1″ visible=”1″ context=”Geometry_ModelParameter” index=”1″>

Save it and close it out.

Back in Civil 3D

Get in the “clean” drawing we mentioned in Part 6.  ‘Save as’ to some other temp filename. Edit the Part List and add the new structure.


Select the parts list you are using.

Right click and select edit. Select the Structure Tab.

Once the parts list is opened, right click on the header and select ‘Add Part Family’.


Select the new Part Family we created, ‘Wingwall Variable Slope’

Right Click the new Family and select ‘Add Part Size’.

Expand the Family collection, and you should see the ‘List’ of items we created.


Now would be a great time to change those styles.  Select each item, and change the style to something that you want to use.  My ‘Headwall’ style is a 3D part style. 

If you like, Change the Name of the Structures to something that contains the actual slope. (Be careful here.  They resort themselves and it gets fouled up here. This is one of the items I will research soon).

Create a new Pipe Network.


Use the Corridor surface, the new Structure with a Slope of 1 (the Wingwall Variable Slope with no dash).  Pick the ‘Draw Pipes and Structures’ button and pick 2 points along the corridor or surface.


Now let’s look at the structure.  Here it is with a slope of 1:1



Now if we change the slope, we should see changes.

Select the structure, Right click and select Swap Part.

Select the 4:1 sloped structure in the list.


Now we should see a change.




This structure is not perfect.  There are a lot of bounds checking we can add in, and height to width factoring that can keep the structure more stable.  I wanted you to have a great deal of options at your disposal. 

Remember to set the pipe invert to what you need.  In my case this is the EG stream bed, near where my corridor daylights.  The insert point in the structure seems to keep the pipe cover in check (sometimes).

The slope is not visible in the Structure properties, nor in the family settings.  This is not good.  I will research this.  I suspect I can define a new Structure type that will allow us to share the bSlope property as a family handed down parameter.

That leads us to the Application Family Parameters.  These appear to be the values you can range, table, or pass along to the application.  The family research should prove to be useful here, and allow us to create more functional custom parts.  The Standard Junction structures are fairly solid.  I suspect some of the problems a few of my peers are having could be solved by hacking up the Junction Structure Library, since it acts differently.

I have cut out the Corridor surface so the FG contours don’t cut through the structure. 


Another Idea is to create 2 Feature lines that take their elevations from the Corridor surface and 1 from the EG surface, and throw them at the corridor surface as breaklines. Creating a Region in the corridor would be insane, except that an endwall/link could be created in the assembly, that would stop the corridor, but the length would have to be modified independently…. On second thought, if you created a simple alignment along the back of the Headwall, you could link the new Assembly to the Horizontal Alignment.  If you needed to move the Structure, you could move the Alignment with it, however the corridor region would only update for offset changes, not stations.

I hope that this series has helped.  I hope that this session will live up to the hopes that everyone put on it.  Part Builder is still a loose cannon.  It is a good tool, considering it’s PB or nothing.  If you don’t want to use it, you don’t have to.  There are plenty of companies out there that are using null structures to get around it.

Please write in with ANY bugs or Problems this series has caused.  If there is anything you want reviewed or researched in conjunction with this, please let me know.

I am sure that we will see some serious upgrades in the near future, but I also suspect the backbone for PB will be revamped into something different.  The effort we are putting forth here will likely be similar to programming in the 2007 extensions……We were upset we had to write workarounds for everything, and then in 2008, upset that all my code is worthless because they fixed the problems by revamping that portion of the application….”Everyone wants to go to heaven, but nobody wants to die”

Continue on to Overall Problems and Comments