1. Trang chủ
  2. » Thể loại khác

HD SUBASSEMBLY EP 1

43 170 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Drag and drop a Define Variable element DaylightSlope from the Miscellaneous section of the [Tool Box] to the PositiveVariables sequence and set the properties as shown: A variable is

Trang 1

Create Subassemblies That Think

Outside the Box With Subassembly

Kati L Mercier, P.E –Nathan L Jacobson & Associates, Inc

CI4252 Intended for existing AutoCAD Civil 3D users, this class explores the potential of Subassembly Composer for AutoCAD Civil 3D 2011 and 2012, available in the Subscription Center Subassembly Composer provides users with an easy-to-use interface to visually create complex subassemblies without the need for advanced programming knowledge With forethought and ingenuity, users can create custom subassemblies to meet their specific needs that can be used again and again once they are imported into Civil 3D Learn what it takes with these in-depth, step-by-step instructions that will give you the skills to go back to the office and wow your coworkers with your own custom subassemblies specific to your standards With the subassemblies already available in the Civil 3D tool palette and the subassemblies you create with the tool box in the Subassembly Composer, your corridors will have endless possibilities Attendees should be familiar with the subassemblies available in Civil 3D and how to utilize them in assembly and corridor creation

Learning Objectives

At the end of this class, you will be able to:

 Define appropriate input and target parameters that allow for end user customization once they are imported into Civil 3D

 Create a complex flowchart built with subassembly logic tools available in the tool box

 Identify Visual Basic expressions and other settings that are available for use when creating subassembly geometry or constructing conditionals

 Evaluate a flowchart and preview a subassembly to confirm that all scenarios have been analyzed

About the Speaker

Kati Mercier, earned her B.S in civil engineering from Virginia Tech in 2004 Since then she has worked

as a project engineer at Nathan L Jacobson & Associates, Inc., a consulting civil and environmental engineering firm in Chester, Connecticut The firm specializes in providing engineering consultation, review, and design to local municipalities and private clients Kati has earned her Professional Engineering license in the states of Connecticut and New York Recently she has played a significant role in transitioning the firm from Land Desktop to Civil 3D Kati is an AutoCAD Civil 3D 2011 Certified Professional and a contributor to the civil4d.com blog She is also an active participant in the Autodesk Subassembly Composer for AutoCAD Civil 3D 2011 discussion group

katimercier@gmail.com

www.twitter.com/KDinCTPE

Trang 2

Autodesk Subassembly Composer for AutoCAD Civil 3D

The „Subassembly Composer® for AutoCAD Civil 3D®‟ (hereafter

referred to as Subassembly Composer) program is used to create

subassemblies to supplement the stock subassemblies that come with

Civil 3D Before composing any subassembly, one of the first

documents you should examine is the “AutoCAD Civil 3D

Subassembly Reference document” (scan QR code at right or go to

http://images.autodesk.com/adsk/files/c3dstocksubassemblyhelp.pdf )

If you can‟t find a stock subassembly that will solve your problem, this

document will be a beneficial aid in using terminology and naming conventions that are already standard to Civil 3D users You may think that when you make your own subassembly that these conventions are not important But you may wish to share the assembly with coworkers and colleagues in the future, or you may return to it after a while and it will be easier to understand if you use already established naming conventions

The Subassembly Composer consists of five individual window panels: the [Tool Box], the [Flowchart], the [Preview], the [Properties], and the [Settings and Parameters] Each of these window panels may be moved around independently using the docking controls

(icon shown at right) to serve the user‟s needs At any time the default position

can be regained by going to the View menu and selecting “Restore Default

Layout.”

Trang 3

The [Tool Box]

The [Tool Box] is the storage location for elements available for constructing the subassembly This panel will provide all of the elements used to build your flowchart There are five sections: Geometry, Advanced Geometry, Auxiliary, Workflow, and Miscellaneous To use any of these elements you simply click on the desired element and drag and drop it over into the [Flowchart]

The [Flowchart]

The [Flowchart] is workspace used to build and organize the subassembly logic and elements

A flowchart could be a simple straight line of logic or it can be a complex tree of branching decisions either way always beginning at the Start element If there is a problem with your subassembly a small red circle with an exclamation point will be displayed in the upper right hand corner of this panel

The [Preview]

The [Preview] allows you to view your current geometry There are two preview modes:

 Roadway Mode which shows the subassembly built using any target surfaces, target elevations, and/or target offsets; and

 Layout Mode which shows the subassembly built using only the input parameters (no targets)

At the bottom of this panel are two checkboxes for Codes which are shown in brackets [] and Comments which are shown in parentheses () If any Codes or Comments were entered in the properties for the points, links, or shapes then this information will be listed next to the applicable geometry

The [Properties]

The [Properties] is the input location of the parameters that define each geometry element

The [Settings and Parameters]

The [Settings and Parameters] consists of five tabs that define the subassembly: Packet Settings, Input/Output Parameters, Target Parameters, Superelevation, and Event Viewer

The Typical Workflow

The typical workflow for creating a subassembly is broken into six steps This is the process we will be using for all of our examples For the purposes of this handout we will refer to the user of Civil 3D who is using the subassembly as the “End User” and the user of the Subassembly Composer who is making the subassembly as the “User” The six steps are:

1 Sketch the subassembly or ”the problem”

2 Define the [Input/Output Parameters] for the End User

3 Define the [Target Parameters] for the End User

4 Build the subassembly using the [Tool Box]

5 Evaluate your subassembly and modify as necessary

Trang 4

Example 1: Varying Shoulder

1 Sketch the subassembly or ”the problem”:

In a typical shoulder and daylight

scenario, we could have a constant

shoulder and the daylight location on

the target surface is calculated In

this first example, however, we

instead have a known daylight target

location (Offset) and the shoulder width is variable based on the shoulder slope and daylight slope This scenario allows the End User to provide a large shoulder for future development within a pre-established right of way

There may be some instances where

the End User wants to maintain a

minimum shoulder width due to

excessive cuts/fills In which case,

the offset target will not be used and

an easement would be required

Using current Civil 3D functionality this could be obtained by finding the intersection generated from two surfaces (one temporary surface using a grading object with a feature line at P1 and generating the shoulder slope extended beyond the intersection, and one temporary surface using a grading object from a feature line at the desired daylight location with the target surface elevations and generating the daylight slope beyond the intersection)

To find the intersection you would generate a volume tin between these two temporary surfaces and using the 0 elevation volume contour as the target for the finished surface‟s shoulder location and then manually adjust for the minimum shoulder This procedure is cumbersome and requires reanalyzing the shoulder target at every change in design Instead, we can create a single dynamic corridor model using Subassembly Composer that will save us a great deal of time

We will first define the [Packet Settings], which includes the Subassembly Name, Description, Help File, and Image This information will be shown on the Tool Palette once imported into Civil 3D The Help File and Image are optional however to add them simply click on the […] button to the right of the entry field to browse to the location

Trang 5

2 Define the [Input/Output Parameters] for the End User:

For each variable that we want the End User in Civil 3D to have ability to change we must define an input parameter

The first line in the Input/Output Parameters tab will always be filled in for you with “Side.” If you wish to disable this parameter for the End User, set the Default Value as “None.” In this example we will draw the curb as if it is on the right side and if the End User switches the Side to Left then the subassembly will mirror itself as defined

The first four columns (Name, Type, Direction, and Default Value) must be filled in The last two columns (DisplayName and Description) are optional If no DisplayName is provided, the Name will be displayed for the End User in Civil 3D

There are a total of eight Input/Output Parameter Types provided in the

program (you can make more types using Enumeration which we will

discuss later) In this example we will be using Double numbers, which allow

for decimal precision, alternatively you could limit the End User to inputting

Integer numbers, which allows only whole number values We will also be

using Slope (Horizontal:Vertical), Grade (%), and String (text)

For this example we will not be defining any Output Parameters

To add a parameter, click the words “Create parameter” If you inadvertently add too many parameters, select the one you would like to delete and press the Delete key on your keyboard

Trang 6

3 Define the [Target Parameters] for the End User:

There are three types of Targets that can be used: Offset, Elevation, and

Surface In this example we have two required targets that the End User

must use The first is the target offset for the daylight, and the second is

the target surface The offset target can be an alignment, polyline, feature

line, or survey figure

Just like with the Input/Output Parameters, to add a parameter click the words “Create parameter” If you inadvertently add too many parameters, select the one you would like to delete and press the Delete key on your keyboard

4 Build the subassembly using the [Tool Box]:

The full Flowchart is available at the end of the building procedure on page 14 for your reference The building procedure has been provided in two columns, at left is the step by step procedure and at right is a commentary

a Drag and drop a Sequence element from the

Workflow section of the [Tool Box] to the

[Flowchart] It will automatically connect to the

Start element

You will notice that all elements have multiple connection nodes, at any time you can click on a connection arrow and drag it to an alternate

connection node

Trang 7

b Rename the Sequence by clicking once on the

name of the element and changing it to

PositiveVariables The double click into the

Sequence to add elements

In this example there are two Input Parameters which the End User must enter as positive values In order to avoid any logic errors we are first going to find the absolute value of these two inputted parameters and use those in the remainder of the calculations

c Drag and drop a Define Variable element

(DaylightSlope) from the Miscellaneous section

of the [Tool Box] to the PositiveVariables

sequence and set the properties as shown:

A variable is similar to an input parameter, however it is defined by you instead of the Civil 3D End User Math.abs() is one of many math Visual Basic (VB) expressions that can be used in calculations Additional math VB expressions can

be found in the Appendix of this handout The Cut/Fill Daylight Slope should be positive since in this subassembly the same slope will be used for cut and fill therefore the logic will define the + or – and not

by the End User

d Drag and drop a Define Variable element

(MinShoulder) from the Miscellaneous section

of the [Tool Box] to the PositiveVariables

sequence and set the properties as shown:

The Minimum Shoulder Width should be positive since the side is being defined by the Side parameter

e Exit out of the Sequence click the Flowchart in

the nest links at the top of the [Flowchart] panel

Trang 8

f Drag and drop a Decision element from the

Workflow section of the [Tool Box] to the

flowchart below the PositiveVariables Sequence

It will automatically connect to the Sequence

element

Since the two target parameters are required, we will provide an error message to the Panorama in Civil 3D alerting the End User if they try

to run the corridor without these targets provided To do this we will query whether the both targets have valid input

g Define the Condition for the Decision as follows: In order to test two elements at the

same time we are using the ()AND() expression In each set of parenthesis we are going to use a Subassembly Composer Application Program Interface (API) function called “IsValid” which is available for all of the Target classes Additional API expressions are available in the Appendix of this handout Note that

if you click on the triangle flag in the upper right hand corner of the Decision element the Condition expression will remain visible

h Drag and drop a Report Message element from

the Miscellaneous section of the [Tool Box] to

the right (false) side of the Decision element and

define as follows:

If it connects to or from the wrong connection

node, simply click on the connection arrow and

press the Delete key on your keyboard, then

hover over the Decision element and click on the

False connection node and drag it to connect to

the Report Error

If you hover over the Decision element you will see that the True is

on the left and the False is on the right An easy way to remember what side is true or false for a decision element is to think „Right side means it‟s wrong‟ We will want

to give the End User an error if one

or both of the targets are not valid There are three types of Error Levels: Error, Informational, and Warning

Trang 9

i Drag and drop a Point element (P1) from the

Geometry section of the [Tool Box] to the left

(true) side of the Decision element and let it

keep its defaults of being located at the Origin

and being named P1

The origin is the geometry point that your subassembly will attach to when generating an assembly in Civil 3D

There are nine different Point Geometry Types

j Drag and drop an Auxiliary Point element

(AP1) from the Auxiliary Geometry section of the

[Tool Box] to below P1 and define as follows:

An auxiliary point or an auxiliary link are used for subassembly generation but are not displayed in Civil 3D They are useful for intermediate geometry such as this case In this example we will be placing the first auxiliary point at the minimum shoulder location and have added a Comment reflecting that These Comments can be viewable in the [Preview] panel Note that you can expand or collapse any of the Property elements by clicking on the triangle

to the left (ex Link) For any of the images provided in this handout that have a property collapsed, you can assume that the default values were utilized

Trang 10

k Drag and drop an Auxiliary Point element

(AP2) to below AP1 and define as follows:

The second auxiliary point is located on the target surface at the target offset We do not want to put

a normal point at this location yet because we do not know if this point will be used or if it will be overridden with the minimum shoulder test Note that the Delta X is purely for layout purposes and will not be used since this element is in a branch that has already tested that the TargetOffset is valid

l Drag and drop a Decision element to below

AP2 and define as follows:

This decision element tests to find if the slope between AP1 and AP2 (defined by the Point Class SlopeTo API Function AP1.SlopeTo (“AP2”)) is steeper than the

daylight slope provided by the End User If it is not steeper, we will calculate the shoulder location using the target location If it is steeper than the DaylightSlope variable, that means that the minimum shoulder value should be used and a new daylight location must be calculated In order to provide a visual cue to the viewer of the flowchart, you can edit the True and False labels to act as a reminder of what the true and false mean In this example, the false will calculate the hinge point and the true will use the minimum shoulder

as the hinge point

Trang 11

m Drag and drop a Point element (P2) to the left

(true) side of the Minimum Shoulder Decision

element and define as follows:

We will first define the logic using the minimum shoulder

Since we already have an auxiliary point at the minimum shoulder hinge location, there is no need to recalculate the location, so we will simply match the location of AP1

n Drag and drop a Point element (P3) to below P2

(Min Shoulder) and define as follows:

Note that the Slope expression reads as follows:

If an expression becomes too long

to be fully visible, simply click the […] button to the right of the expression to open the Expression Editor window to see the full expression

Trang 12

o Drag and drop a Point element (renamed to

also be P3) to the right side of the Minimum

Shoulder Decision element and define as

follows:

This point is located at the target daylight Since we already have an auxiliary point AP2 at that location, the point location does not need to

be recalculated The Subassembly Composer will not allow you to duplicate a point number in a branch of logic but you are allowed

to duplicate a point number if they are in separate branches of logic In order to maintain consistency we will continue to use P3 for the daylight point and P2 for the hinge point

p Drag and drop an Intersection Point element

(renamed to also be P2) from the Advanced

Geometry section of the [Tool Box] to below P3

(Target Daylight) and define as follows:

Note that the Slope 2 expression reads in full as

be the shoulder grade and we want

to second slope to be the daylight grade (either positive or negative as appropriate for if the situation is cut

or fill respectively)

For Slope 2 we have used an IF statement to test if the slope from AP1 to AP2 is greater than the shoulder grade If true a positive daylight slope will be used and if false a negative daylight slope will

be used

Slope 2 (the daylight slope) is extended meaning that it extends out of both sides of Point 2 and not just in one direction Experiment with the extending and reversing slopes to find the combination that works best for your situation

Trang 13

q Drag and drop a Sequence element to below

the current logic It should automatically connect

to either of the end elements, P3 (Daylight

Override) or P2 (Calc Shoulder) Add an

additional connection arrow so that the branched

logic both uses the same sequence Rename

the Sequence as Links and double click into the

Sequence to add elements

Each element can only have one exiting connection arrow (with the exception of Decisions and Switches) but it can have multiple incoming connection arrows to combine logic

r Drag and drop a Link element (L1) from the

Geometry section of the [Tool Box] into the Links

Sequence and define as follows:

Since we maintained consistency of point P2 being the hinge point, we can use the same link to define the shoulder for all scenarios In this example we allowed the End User

to define the Link Codes through an Input Parameter string, if we were hard entering the Link Codes here

we would need to include the quotation marks (ex “Top”,

“Datum”)

s Drag and drop a Link element (L2) to below L1

in the Links Sequence and define as follows:

Like link L1, by maintaining consistent point numbers, we can use the same link to define the daylight link for all scenarios

The PKT file will be available for download from the AU2011 CI4252 class website after the associated lecture is given

Trang 14

5 Evaluate your subassembly and modify as necessary:

Before finalizing a subassembly it is important to pay attention to some key components in the [Preview] panel In this example, the first thing that we want to do is select the checkbox for Codes This will allow the codes which are assigned to the points, links, and shapes to display For each example you want to check to make sure that the links have the desired link codes, that any points have the desired point codes, and that the shapes have the desired shape codes

Trang 15

The next thing to check for any subassembly with targets is that the subassembly is functional for all potential target values You can easily assess the targets by either changing the preview value in the [Target Parameters] tab or by dragging the various targets

in the [Preview] panel Make certain you are previewing the geometry in Roadway Mode

In this example we will first make certain that the Target Offset is overridden when the minimum shoulder decision is triggered Note that I have turned on the Comments to confirm which points are being used from the different branches of logic

Trang 16

We will also test different values of the TargetSurface I have shown two examples below I recommend for all subassemblies trying a large positive value, a large negative value, and then on either +/- side of every point, since these tend to be the areas where decision ranges are most likely to have errors

6 Import into AutoCAD® Civil 3D®:

Once you are ready to import your subassembly into

the Civil 3D Tool Palette Save your PKT file and open

up Civil 3D To import the subassembly go to the Insert

tab in Civil 3D, expand the Import panel, and select

Import Subassemblies The Import Subassemblies

window as shown on the following page will open

Browse to your PKT file and add it to a Tool Palette (in

this example, I‟ve made a custom tool palette for all of

my AU subassemblies)

Trang 17

Here is the road assembly created using the stock Civil 3D subassemblies for the road (LaneSuperelevationAOR), curb (UrbanCurbGutterGeneral), and our custom VaryingShoulder subassembly:

In this picture of the corridor using this subassembly you can see on the northerly side of the road how the minimum shoulder was maintained and the target offset line (shown as a dashed red line) is overridden while on the southerly side of the road the target offset was maintained and the shoulder width varies

Trang 18

Example 2: Precast Concrete Curb

1 Sketch the subassembly or “the problem”:

This is a construction detail for concrete curbing

that our office frequently uses and while we can

generate a proposed top surface that is similar, it

does not include the radius at the top gutter edge

Therefore this is a good candidate for a

Subassembly Composer generated subassembly

Like the previous example we will first define the

[Packet Settings]

2 Define the [Input/Output Parameters] for the End User:

The Subassembly Composer is unitless; however, once you import a file into Civil 3D it will use the default units (feet or meters) that Civil 3D is using when the subassembly is imported In this example I will assume that it will be used in Civil 3D Imperial; however, you will notice I am going to ask the End User for the length and depth dimensions in inches instead of feet; pay attention when we are building the geometry because each of these values will be divided by 12 to build the subassembly in feet as required by the default units

As a reminder to myself, I like to suffix any variables that I am asking the End User to provide in inches with “IN” to remind myself to convert back into feet in the flowchart

Trang 19

3 Define the [Target Parameters] for the End User:

For this example there are no Target Parameters which makes this step of the process simple

4 Build the subassembly using the [Tool Box]:

Before building the logic for your subassembly, it is

sometimes helpful to draw in the points on your original

sketch and number them sequentially (just like a “Connect

The Dots” drawing) and similarly label each link between a

pair of points You will want a point at every change in

direction of a link As you can see by the finished sequence

at right, we can‟t always define the points sequentially in the

logic but it will make much more sense if your point numbers

are continuous around a shape

Similar to the last example, the building procedure has been

provided in two columns, at left is the step by step procedure

and at right is a commentary

Trang 20

a Drag and drop a Sequence element to below

the Start element Double click into the

Sequence to add elements

Because this is “straight line logic” (no decisions, always the same geometry) we are going to build the entire subassembly logic inside of a Sequence

b Drag and drop a Point element (P1) into the

Sequence and define as follows:

As previously stated, the Subassembly Reference is a good place to get help in deciding point codes Unlike the last example, because the code is being defined

by the End User and is not a string input parameter, we must place the quotes around the word to convert it into a string

c Drag and drop an Auxiliary Point element

(AP1) to below P1 in the Sequence and define

as follows including the creation of Auxiliary Link

element (AL1):

Point AP1 will be placed at the point

of intersection for the front radius curve In order to draw the radius

we will need to remember that since all of the Input Parameters are in inches, we are dividing the dimensions by 12 to convert the subassembly into feet

With each point or auxiliary point there is the option to add a link or auxiliary link from the “From Point”

to the point or auxiliary point being generated In this case we will soon

be defining the front radius link between two links so we will take this opportunity to define the first of these two auxiliary links needed later

Trang 21

d Drag and drop an Auxiliary Point element

(AP2) to below AP1&AL1 in the Sequence and

define as follows including the creation of

Auxiliary Link element (AL2):

Similar to AP1, this will be the point

of vertical intersection for the back radius curve

In addition, we will once again create an auxiliary link to be used in defining both the front and back radius links

e Drag and drop a Fillet Arc element (renamed

L2) from the Advanced Geometry section of the

[Tool Box] to below AP2&AL2 in the Sequence

and define as follows including the creation of

Point elements (renamed P2 and P3):

Now that we have an auxiliary link for each tangent of the front radius

we can define the fillet arc link between the two auxiliary links and

at the same time generate the points at the points of tangency The tessellation of an arc is the number of segments that are generated to create the arc

Ngày đăng: 05/11/2019, 11:33

TỪ KHÓA LIÊN QUAN

w