Thursday, March 19, 2009

Short PVI Extensions

This is helpful to know if you are trying to build your perfect template. Peter Funk showed this to me when I was up in Manchester and my reaction was "duh" i.e. I couldn't believe I was doing it the hard way all this time.

Parcel Area – Commas

There is a wonderful trick on the Civil 3D Reminders blog on how to work commas in your parcel areas using one label style!

Click here to see the original blog: Parcel Area – Commas

Just to clarify, the trick involves six expressions:

  • HundredsSize: IF({Parcel Area}>1000,0.0000000000000001,0.1/12)
  • Hundreds: ({Parcel Area}/1000000-TRUNC({Parcel Area}/1000000))*1000
  • ThousandsSize: IF({Parcel Area}>1000, IF({Parcel Area}<1000000,0.1/12,0.0000000000000001),0.0000000000000001)
  • Thousands: {Parcel Area}/1000000
  • MillionsSize: IF({Parcel Area}>1000000,0.1/12,0.0000000000000001)
  • Millions: {Parcel Area}/1000000000

The label involves 4 text components: Parcel Name, Hundreds, Thousands, Millions

  • Parcel Name is the parcel name.
  • Hundreds is the area label configured for when parcel area is less than 1000.
  • Thousands is the area label configured for when parcel area is more than 1000 and les than 1,000,000.
  • Millions is the area label configured for when parcel area is more than 1,000,000.

The latter three components size themselves down to nothing as per the "Size" expressions listed above depending upon how their conditions check. In this example, labels will go in at 0.1" i.e. 0.1/12 as the expression reads. If you label using a smaller height like at 0.08", change each "Size" expression to use 0.08/12.

Think this is brilliant? Thank Christopher Fugitt who posted it at 12:31 AM this morning!

AU File & Object Layer Eccentricities

I developed a bare bones template working file for my 2008 AU class called "Building the Perfect Template-Making All of Your Civil 3D 2009 Dreams Come True". It was loaded up with sample styles and sample content. The style components are all configured to layer 0.

The object layers were configured to layer names prefixed with $. The reason for this was so that they would easily stand out if we spent a lot of time talking about them. Object layers cannot be simply renamed. You must create the new layer names and redirect the object layer items in Drawing Settings to the new layers. These new layers can be created with layer manager or with the "New" tool in the Layer Selection dialog box that appears when you click into the layer field in the Object Layer tab.

Object layers can easily be purged out of a drawing if they are not being used. This can be bad if you've configured color and linetype to them. If objects are created in an object layer that has been purged from a drawing, the layer will be recreated using color 7 and continuous linetype. No worries if you are leaning on component layers to define color and linetype for you.

Tuesday, March 17, 2009

Starting with a Blank Canvas

If you do want to use your own layer standard, text style, blocks and linetypes in your Civil 3D template and want to avoid issues with not being able to purge undesirable, existing content out of your template file, I always suggest that people create their template from acad.dwt. This will provide you with an empty file. You can then use Design Center to bring in your standards. However, there are some issues to be aware of before you start your customization:

Standard Styles are not at Ground Zero
The components in the Standard styles are set to use layer “0”, but are configured with color overrides and linetypes set to byblock. If you try to create a new style at the object level, your new style will be produced with the same settings. It would be ideal if colors and linetypes were both set to bylayer. If it were at least so in the Standard styles, we could create new styles with a copy with “Ground Zero” configuration.

Ambient, Feature & Command Settings
Always start at Drawing Settings and work your way down. If you examine the Ambient Settings tab in the Drawing Settings dialog, you’ll find that precisions for each of the units may not suit you. In addition, overrides have been placed for you. Personally, I like to have total command over the overrides so I kill them at the drawing level and reconfigure units, formats and precisions to my standards. Then I visit Feature Settings and Command Settings in case there are overrides I want to make in a particular area.

Label Style Defaults
There are some settings and overrides issues here as well. Killing the overrides at this level, setting the default orientation reference to “View”, and configuring text style and height will allow you to start dictating label standards at higher levels in your template. Make any adjustments on these settings at lower levels keeping in mind the Civil 3D hierarchy of settings.

The Standard text style is configured into all of the label settings and styles in the acad.dwt template. If you are open to using a text style called “Standard” as your standard with your preferred font settings, the modifications will be inherited in the labels, tables and views therefore cutting out a good amount of work. Although text style can be overridden at the drawing level for labels, view styles and table styles require that you open up each and make those changes.

In Conclusion
Addressing these issues will get you a “Ground Zero” template providing you a blank canvas to start your work. But you’ll get there faster if you download the following file in which all of these issues have already been addressed. C3D2009_Ground_Zero.DWT


Tuesday, March 10, 2009

Productive Use of Name Formats with Object Layer Modifiers

In the prior post, I mentioned that using standard object naming conventions when using object layer modifiers would help keep the layer list standard. If you are using NCS-like layer names, consider this example to start the wheels turning:

Object layer: C-ALGN

Standard Object Names:
· RD1 (roadway)
· SS1 (sanitary sewer)
· ST1 (storm sewer)
· EP1 (edge of pavement)

Resulting Layers:

This of course is in conjunction with configuring object layers with a modifier suffix of “-*”.

It would be helpful to configure the more repetitious object name into the feature’s Default Name Format setting (feature settings). You may use the counter to assign the numbers behind your object type, but these numbers will probably be subject to manual manipulation.

Keep in mind that you can make overrides to these values in the feature’s command settings so that particular object names will be assigned when you execute particular commands. This functionality is useful when creating profiles. Creating a profile by surface usually results in an existing profile; creating profile from a layout usually results in a finished grade profile.

Object layer: C-PROF

Standard Object Names:
· XG1 (existing)
· FG1 (finished grade)

Resulting Layers:
· C- PROF -XG1
· C- PROF -FG1

This is a great way to get control of layers and object names so that people in your organization can move from one drawing to the next and still remain in a familiar environment.

Using Object Layers with No Objection

A difficult area of adoption in Civil 3D is the productive application of object layers. Since it is typical in our industry to layer every entity we draw, it becomes a challenge to retrofit a standard layer list that has been around for a decade to Civil 3D's object layer list. There are 3 basic approaches you can take in implementing object layers.

Object Zero Approach
Set all object layers to layer 0 (zero) and make sure that the Immediate and Independant Layer On/Off Control check box is filled. By using this method, you can skip configuring object layers and use the style component as the sole tool for controlling object display. Keep in mind that all object insertion layers will be layer 0; therefore freezing layer 0 will cause all objects to disappear. This method allows for quick adoption of Civil 3D since existing layer lists are usually suitable for style component configuration. And if you haven't decided how you stand on object layers, you can always configure them at a later date.

Component Zero Approach
This method is for the Civil 3D purest. Configure a suitable object layer for each object type. Leave all style components set to layer 0. The properties of your object layers will control the appearance of your objects. If there is a component of an object that needs to bear a different color, linetype, or lineweight, don't create a layer for it unless you want to have the ability to isolate it; instead, override the desired property in the style. This method allows you to utilize the least amount of layers in your drawing.

If this method suits you, then you may also want to consider using object layer modifiers. This enables you to create layers for each of your objects using the properties of the parent object layers. Each alignment, surface, profile, pipe network, etc will be generated in its own layer. To keep crazy layer names down to a minimum, it would be advantagious to adopt an object naming standard which can be applied to name formats in the template. Modifiers enable you to add the object name to the beginning or end of the object layer.

All or Nothing Approach
This is the more complex approach. Come up with a set of object layer names. Come up with a set component layer names. Configure everything. You will end up with a longer layer list. In the end, you will have more control over display of objects. You can use component layers to isolate features. You can use the object layers to control display of objects via external references or viewports.