Beruflich Dokumente
Kultur Dokumente
CV300-2 Need a corridor subassembly that isnt right out-of-the-box? Not a VBA or .NET
programmer? No problem the lowly polyline can be your hero. While subassemblies from polylines dont
have editable numeric properties, if you can draw in AutoCAD you can create virtually any static geometry you
need. Even if you are a VBA or .NET wiz, this courses review of code set styles and shared tool palettes to
store subassemblies is a must.
Styles ..................................................................................................................................... 8
Summary..................................................................................................................................... 24
The stock Civil 3D subassemblies that ship with the program (nearly all of which have
dynamic parameters that can be adjusted, such as lane width and slope).
Subassemblies from polylines can include points, links and shapes the same way that the stock
subassemblies do. This allows users to generate feature lines, terrain models and volume
calculations in the same way they would from programmed subassemblies. For example, below
is a more complex example of a tunnel section built from multiple polyline-based
subassemblies. The top graphic is a screen shot of the original AutoCAD detail the
subassemblies was based on. The middle graphic is the assembly as created in Civil 3D. The
bottom image is a visualization created in Civil 3D utilizing this assembly.
For example, a curb & gutter section on the high side of a superelevated curve may need to
have its gutter drain in towards the centerline, rather than towards the curb. When working with
polyline-based curb & gutter sections, you may need to have (at least) a version with the gutter
sloping to and away from the curb on both sides. Furthermore, gutters shown in transition areas
between normal crown and full super might require the user to create multiple polyline-based
subassemblies for all the affected sections. On the other hand, many of the Civil 3D stock curb
subassemblies can take this kind of transition into account. The UrbanCurbGutterGeneral, for
example, has a parameter that allows the gutter slope (and also sub-base slope) to match the
adjacent slope of a LaneOutsideSuper. It is generally a lot simpler to use a stock subassembly
than create one from a polyline whenever possible, especially when there are variables like
gutter slope to contend with.
Some regions rely on monolithic curbing without a gutter section, such as granite curb, granite
edging and Belgian block curbing (especially in the northeast US). In these cases the BasicCurb
may work well.
In previous releases the BasicCurb created a perfectly vertical face of curb, which had been
problematic for top surfaces created for corridors using this subassembly. (In a nutshell the
mathematics behind surface modeling only allow for a single Z-elevation at a single X,Y
coordinate. You cant have one point directly above another if you try one will be ignored from
the surface.) With Civil 3D 2008 sp2, this subassembly has a built-in 0.001 horizontal offset
between the bottom and top of curb (with 0 rotation), which allows for a top surface which will
show an almost (but not quite) vertical curb reveal.
If users prefer the controls of the UrbanCurbGutterGeneral but do not want the gutter section,
the subassembly can be hotwired to loose the flange by setting some parameters to near-0
values, such as the flange width. (These subassemblies wont calculate correctly with 0s, so
dont try that at home!) Below is a configuration of UrbanCurbAndGutter used to define a right-
side, 6 x 18 vertical curbing. Keep in mind that these settings do create a microscopic gutter
Also, for simple rectangular shapes dont forget stock subassemblies like
GenericPavementStructure and ShapeTrapezoidal (just to name a few). These allow you to
code links, points and shapes as you like through their parametric properties, and can even be
superelevated. With these available, there may not be a need to create similar, box-like
subassemblies from polylines.
Subassembly Points
Subassembly points are used to define the vertices of a subassembly shape and where it
connects to other subassemblies. These points are internally identified by a P-code such as P1,
P2, etc. The point where the subassembly connects to the inside subassembly (the one closer
to the assembly marker) is generally defined as P1. The point used to connect the next
subassembly is generally at the top right or left. Besides the P-designation these can also be
assigned a descriptive name such as Flowline_Gutter and BackCurb. Point, Link, and Shape
names are treated as case sensitive by Code Set Styles (more on this later). Multiple codes can
exist at the same location. The stock subassemblies have their codes described in the Civil 3D
Help system (to locate the information on one quickly, right-click on an stock subassembly in a
tool palette and choose Help).
For example when looking at the UrbanCurbGutterGeneral subassembly, the P1 point is coded
as the Flange point, P2 the Flowline_Gutter point, P4 the BackCurb, and so on.
When a corridor is created, a feature line will be automatically generated for each point code.
Point codes also allow for point annotation on section views and the creation of Civil 3D Point
objects along a corridor.
Subassembly Shapes
Subassembly links can be used to define enclosed areas, called Shapes. These shapes can be
used to provide fill patterns for cross section layouts. More importantly, though, shapes are used
to calculate cross-section quantities, such as the amount of asphalt required by a proposed
road. The UrbanCurbGutterGeneral assembly above includes shapes for Curb and SubBase
materials.
Styles
Points, links, shapes, feature lines, code set styles, as well as other features like slope patterns,
are controlled by styles located under the General / Multipurpose Styles area of the Settings tab.
Note that shapes that are do not have codes (uncoded) or are assigned a code that is not
listed in the Code Set Style (they fall under default) are assigned a special display style called
_Hidden according to the code set style above. This is a custom style that sets them to display
on a non-printing layer like DEFPOINTS. This same kind of style can be added to points and
links as well for elements you would rather not show on paper, but may want to review on the
screen.
Also note that there are two entries above for a single pavement course: Pave and PAVE. This
is because code set styles match codes on a case-sensitive basis. You will find that some stock
subassembly codes were programmed with ALL CAPS and some without. Therefore you may
need duplicate codes to make sure all points, links and shapes are displayed correctly. Some
assemblies allow you to enter mixed cases for codes in the subassembly properties dialog
(such as GenericPavementStructure), but they are processed as if written in ALL CAPS.
Therefore you may consider inputting all descriptive codes in ALL CAPS to be as consistent as
possible with those you enter yourself.
In Civil 3D 2008 Sp2, it may be easiest to make sure the first polyline vertex is located at the
point you wish to use as an origin (the location where this subassembly connects to the inner
subassembly or the assembly marker), since it saves the step of modifying the origin later on.
As mentioned previously, when drafting components with vertical faces, use special care if you
will be using those faces to create a terrain model. For example, if you include the top of the
curb in a terrain model representing the top of finished grade, consider building in a small
horizontal offset from the gutter point to the top of the curb (such as the 0.01 deflection shown
below). You might notice I have built a slight slope across the top of the curb too, which will
cause the top of curbing to drain into the road in a watershed analysis. (This is handy but not as
critical as keeping the face of curb from being vertical.) Despite these adjustments, since the
overall distances from the gutter to the bottom and the back of curb are at the correct
dimensions, these tweaks will not affect the quantity calculations around the curb. If you are
concerned about the visual effects caused by these adjustments you can use an even smaller
offset distance, such as 0.001.
Adding Codes
Next you can add codes to any points you wish to generate corridor feature lines from, annotate
automatically in sections, or create COGO points from. To do so, select the custom
subassembly, right-click and choose Add Code. At the Command line enter the feature code
you want, such as Gutter or TopCurb. Assign the code by selecting the marker of the point
(generally displayed as a circle). If this code matches an entry in the Code Set Style, then that
point will display the marker style indicated. Not every point needs a descriptive code assigned
to it, and a point can have more than one descriptive code.
Link codes are added in the exact same way. Link codes define geometry to be used in corridor
terrain models, and also allow different links to appear with different styles for viewing and
plotting purposes. Typically links along the uppermost road surface are assigned the Top code
to assist in creating a corridor Top surface. Those along the interface where the roadbed
materials meet existing ground are usually defined as Datum codes. (Datum surfaces define
the bottom of the proposed assembly materials in site cut and fill analyses.) As with points, not
every link needs to have a code assigned to it, and links can have more than one code. The
Figure below shows some examples of codes assigned to the custom subassemblies
mentioned above. Note that none of the links that could be used as part of a Top or Datum
terrain model are perfectly vertical.
After a shape is defined, assign a code to it that identifies the material it is meant to represent.
Similar to working with points and links, you select the subassembly, right-click and choose Add
Code. When doing so, you may need to create a crossing window within the subassembly to
select the shape (and not a link or point by accident). If this doesnt work, create a code set style
that hides all links but shows the shapes, and try again (more on this later).
To verify where a subassemblys origin point is, select it and look for the AutoCAD grip.
At this point you can add the subassembly to an assembly by selecting it, right-clicking and
choosing Add to Assembly. When prompted, choose the appropriate point marker where you
would like to attach the custom subassembly.
The road will make use of as many stock subassemblies as possible to cut down on
effort and have as much flexibility as possible for transitions and superelevation.
Proposed asphalt layer should be shown as a single box if at all possible, without a
vertical line visible between lanes or lanes and shoulders.
The shape fill patterns should be assigned to layers that will allow us to review their
geometry, but be set to not plot.
The above graphic is a schematic of the proposed cross section. The existing ground is shown
exaggerated for clarity (typically there is not as much leveling going on as shown above). The
filled-in area above represents a 8x10 Belgian monolithic curb set at a 5.25 angle from
horizontal.
It was planned to create a custom assembly for the curb foundation. The rest will be created
from stock subassemblies, specifically the versatile GenericPavementStructure.
Next BasicCurbs were attached to each side with properties determined by the local regulations.
Next the curb footing custom subassembly was created (below left).
The Corridor / Create Subassembly from Polyline command was then invoked. Link codes and
a shape code was then added (above center and right).
Another GenericPavementStructure was added for the outside loam area and a daylight
component was added. The left side of the final result resembled the following:
Otherwise this assembly did a fair job of representing the cross-section everywhere the road
was in normal crown conditions. There was an overlap problem between the concrete and the
end of the shoulder when superelevated, however. But this is par for the course when dealing
with static subassemblies created from polylines. One way to resolve this is to create multiple
subassemblies for different cross-slopes and add them where needed through multiple corridor
regions, or use the add/remove subassemblies tools inside View/Edit Corridor Section. Either
approach could be time consuming with a lot of transitions or superelevation taking place.
Situations like this may be better handled with a programmed subassembly that can dynamically
respond to changing conditions.
When creating corridor surfaces for assemblies like this, be sure to include TOP and Top codes
in a top surface, and DATUM and Datum codes in a datum surface, since all four are in use.
You will definitely need to apply overhang correction to the datum surface since the bottom of
curb and the bottom contain links coded for Datum or DATUM.
How do you see where a code is applied? Such as to double-check that a multiple codes were
assigned correctly? One way is to float your crosshairs over the link or point in question and
look for the tooltip.
For example, to create a code set style that hides shapes and all links except for the Top Links,
first create a no display or _Hidden point style, link style and shape style. These may be
easiest by selecting another code and copying it, then turning of all elements in the display tab. I
prefer a name like _Hidden with an underscore in front so that it appears at the top of the code
lists.
Then create a new code set style under Multipurpose Styles (Settings tab).
Below left is the BasicCurb with all codes showing. Below right is the same curb with only the
Top link codes and point codes showing. Clearly the Top link is in the correct place. (Note that
in this example the face of curb is not included in the top links, but it shouldnt matter as long as
the gutter point is defined with a top link on the lane.)
This topic has in more detail in the Autodesk ICE materials and their online knowledge base. In
short, programmed subassemblies can be dragged directly to tool palettes for easy access later
on. Generally it is best to do this from a drawing available in a shared standards area (rather
than from one of your project drawings which might later be changed or removed from its
present location). However, polyline-based subassemblies (and entire assemblies) cannot be
dragged directly to a tool palette. But, you can create an AutoCAD block for a particular
subassembly (or and entire assembly) and place that block in a tool palette. When doing this, it
may be best to set the tools explode option to Yes so that they are inserted into the drawing
as subassemblies and assemblies (rather than nested inside a block that the user will need to
explode as a second step). Note, you will need Civil 3D 2008 SP2 for this process to work as
expected, more on this later.
Tool palettes can also be shared by creating a network-based tool catalog (General / Catalog),
and then dragging a tool palette from the catalog into a users environment.
If you can get by with unique, static subassemblies that do not have adjustable properties,
though, creating custom subassemblies from polylines is a powerful tool.