from Civil to Inventor

The Autodesk enthusiast exile

Civil 3D – Part Builder Part 7

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.

image

Hit OK.

Right Click Size parameters and select Edit Configuration.

image 

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.

XML

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.

image

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.

image

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.

TOOLSPACE->SETTINGS->PIPE NETWORKS->PARTS LIST

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’.

image

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.

image

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.

PIPES MENU->CREATE PIPE NETWORK BY LAYOUT

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.

image

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

image

image

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.

image

Now we should see a change.

image

image

Thoughts

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. 

image

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

January 26, 2009 - Posted by | 2009, Part Builder | , , , , , ,

12 Comments »

  1. 1. Is there some logic behind making SBSL (Structure Length) equal to SHBW (Headwall Base Width)?

    2. I’m using C3D2008 which does not have some of the features of 2009. Using a Range for bslope instead of List works, but one must modify the XML file and re-do the part list every time a change in slope is desired.

    3. I don’t remember where I got it, but I’m using XML Notepad for revisions. Lots easier to read than MS Notepad.

    Comment by Dave Glendening | February 1, 2009 | Reply

    • Dave,
      1. I believe the SBS? values are the Visual Style Box Dimensions. Without these the app cannot display the 2D box. The other handed down parameters are from the catalog, that drive the 3D part in the Civil App. We mapped one to another because we wanted to map the catalog items (which we can range) to the 2D box, as well as the part we are modeling.
      2. I have tried ranges for non catalog members, but this is either too painful, or not possible in 2009
      3. I’ll check it out. I used to use my Visual studio compiler, but it is uninstalled now, so I was looking for something better than notepad. Thanks.

      Comment by John Evans | February 2, 2009 | Reply

    • Dave G
      There are some like the BrandX community, but that is for solid models. There are some vendors furnishing models to their client’s, for example EE does.
      I’d be willing to do something here, but I don’t think my resources or my time will hold up.

      Comment by John Evans | February 17, 2009 | Reply

  2. Good morning,
    I have encountered some problems to size the structure I cannot modify the width. For example I go to the structure property window and modify the width, but as soon I hit ok it reset back to the default value. I do not know if this is because I’m using Civil3d 2008 or not.
    Thank you and have a blessed day,

    Gerardo M. Diaz

    Comment by Gerardo Diaz | February 4, 2009 | Reply

    • Gerardo, I sent you an email requesting the files. Send them to me, and I’ll look into it.

      Comment by John Evans | February 4, 2009 | Reply

  3. RE:—————————————————-
    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.
    —————————————————-
    To turn visibility you need to add to the xml file (C:\Documents and Settings\All Users\Application Data\Autodesk\C3D 2009\[Your language]\Pipes Catalog\Aecc Shared Content\AeccPartParamCfg.xml)
    to the
    —————————————————-
    &ltAeccParamDeclaration&rt
    &ltAeccDfSortGroup name=”Part Properties” sortPriority=”context”&rt
    …………………………………………………..
    &lt!– add your property declaration with CONTEXT–&rt
    …………………………………………………..
    &lt/AeccDfSortGroup&rt
    &lt/AeccParamDeclaration&rt
    —————————————————-
    and add to the section
    —————————————————-
    &ltAeccParamUsage&rt
    &ltAeccPartDomainCfg domain=”Pipe_Domain”&rt
    &ltAeccReqParam context=”SweptShape”/&rt
    &ltAeccPartTypeCfg type=”Pipe” desc=”Pipe”&rt
    &lt!– Add Your CONTEXT –&rt
    —————————————————-
    But there is a little problem:
    If parameter is added by the Part Builder then default context will be “Geometry_ModelDistanceParameter” and impossible to change it or add it to xml without errors, but if you add parameter manually direct to xml, like this:
    ———————————————————
    &ltColumnConstList desc=”Isolation thinkness” dataType=”float” unit=”mm” name=”IsolationTh” id=”CCL4″ visible=”0″ context=”IsolationThinkness” index=”0″&rt
    &ltItem id=”i0″&rt9.0000&lt/Item&rt
    &ltItem id=”i1″&rt8.0000&lt/Item&rt
    &ltItem id=”i2″&rt7.0000&lt/Item&rt
    &lt/ColumnConstList&rt
    ———————————————————
    It is work and when we add the size of Pipe/Structure to the Part family our new parameter is visible , but i cant it effect to the Pipe/Structure model.

    Comment by Konstantin | February 11, 2009 | Reply

    • I am working with the Rectangular Structure 2-Tier Circular Frame. I want to add the “Access Cylinder Diameter” or “BdyD2” to the parameter list in the Parts List in Civil 3D. I have gone through the XML edit in your original post that “does not work,” and it doesnt work. I have read the above reply to this post. However, I am not very experience in programming XML so I dont quite understand what to do. Is there an easier way to perform this edit? If not, could you write a clearer explanation for those of us who are XML illiterate.

      Thanks in advance,

      – Mike

      Comment by Michael Putnam | March 26, 2009 | Reply

  4. Is there a website where people could share the parametric models they have built Civil 3D, and download others?

    Something like Google’s 3D Warehouse for Sketchup would be the ultimate but anything would be nice.

    Comment by Mike | February 17, 2009 | Reply

  5. My problem is exactly as described by “Konstantin”
    If you add a new property, it will not display in the add part size dialog or structure properties.

    If you add a new parameter directly to the model xml file and aeccpartparamcfg, you can get it to show up in add part size and structure properties but it is just annotation, it will not drive geometry. This means that in the part builder, it will show up in Size Parameters but not Model Parameters.

    This is maddening. The modeler is hard enough but I can’t get a single new user property to be available. Even Structure Riser Height 1, 2, 3 etc won’t show up. I am limited to the built in parameters to drive geometry.

    Comment by Mike | May 19, 2009 | Reply

  6. I am using civil 3d 2009 with service pack 2.1 I have tried on two different computers.

    Comment by Mike | May 19, 2009 | Reply

  7. Final thought: Why have a parametric modeler at all if you can’t add new parameters? All of the examples online official and otherwise seem to dance around this landmine.

    Comment by Mike | May 19, 2009 | Reply

  8. Final Final thought. Civil 3d sucks. Break out the drafting boards.

    Comment by Mike | May 19, 2009 | Reply


Leave a comment