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

Nội dung

Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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.” of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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: Sketch the subassembly or ”the problem” Define the [Input/Output Parameters] for the End User Define the [Target Parameters] for the End User Build the subassembly using the [Tool Box] Evaluate your subassembly and modify as necessary Import into AutoCAD® Civil 3D® of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Example 1: Varying Shoulder 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 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 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 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 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® i j 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 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 There are nine Geometry Types different Point 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 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 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 not want to put a normal point at this location yet because we 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 10 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Define the [Target Parameters] for the End User: For the target parameters we will also match those used by the LinkSlopeToSurface stock subassembly Build the subassembly using the [Tool Box]: a Drag and drop a Define Variable element (ProfileSlope ) to the [Flowchart] and define as follows: This variable takes the instantaneous slope of the baseline being used by the corridor and finds the absolute value Baseline.grade is an API Function in the Baseline Class Other baseline API Functions include station, elevation, region start, region end, and turn direction The ability to query the baseline is not currently available in any of the stock subassemblies b Drag and drop a Decision element to below the ProfileSlope and define as follows: This decision will test whether the profile slope already exceeds the input parameter that the End User defined as the maximum allowable slope of the surface c Drag and drop a Report Message element to the left (true) side of the Decision and define as follows: If the profile slope exceeds the maximum allowable slope for that cross section this error message will be displayed in Civil 3D‟s panorama Note that the Message expression reads as follows: Slope of baseline exceeds Maximum Allowable Slope 29 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® d Drag and drop a Define Variable element (LinkSlope ) to the right side of the Decision and define as follows: This variable defines the link slope based on the equation we previously calculated S AB  S AD  Note that the expression reads as follows: Math.abs(MaxSlope)*math.sqrt(1math.pow(ProfileSlope/MaxSlope,2)) e Drag and drop a Point element (P1) to below the LinkSlope and define as follows: f Drag and drop a Decision element to below P1 and define as follows: S    AC   S AD  By adding this element to any subassembly you can use maximum slope instead of the slope perpendicular to the baseline If we had not previously defined the ProfileSlope variable we could alternatively use the baseline.grade API Function in this VB expression in place of ProfileSlope This decision will define whether we are in cut or fill since we will want to perform different logic for cut and fill based on the CutsFills input parameter 30 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® g Drag and drop a Decision element to the left (true/Fill) side of the Cut/Fill Decision and define as follows: If in fill then we want to confirm whether the End User has defined the AddLinkIn input parameter as either CutAndFill or Fill Only (If false we will perform no logic.) h Drag and drop a Point element (P2) to the left side of the Fill‟s AddLink Decision and define as follows: The point will be generated from P1 using the negative value of the LinkSlope variable since we are in fill i Drag and drop a Decision element below P2 (Fill) and define as follows: This decision confirms whether the End User has defined the OmitLink input parameter as Yes (If true we will perform no logic.) 31 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® j Drag and drop a Link element (L1) to the right (false) side of the Fill‟s AddLink‟s OmitLink Decision and define as follows: If the End User has not set the OmitLink input parameter to Yes then we will generate the link from point P1 to P2 and use the codes that the End User has provided through the LinkCode input parameter in addition to a “Daylight_Fill” link code k Drag and drop a Decision element to the right (false/Cut) side of the Cut/Fill Decision and define as follows: Note that steps k through n are a repeat of steps g through j for the cut scenario instead of fill If in cut then we want to confirm whether the End User has defined the AddLinkIn input parameter as either CutAndFill or Cut Only (If false we will perform no logic.) l Drag and drop a Point element (renamed to also be P2) to the left (true) side of the Cut‟s AddLink Decision and define as follows: The point will be generated from P1 using the positive value of the LinkSlope variable since we are in cut 32 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® m Drag and drop a Decision element below P2 (Fill) and define as follows: This decision confirms whether the End User has defined the OmitLink input parameter as Yes (If true we will perform no logic.) Drag and drop a Link element (L1) to the right (false) side of the Cut‟s AddLink‟s OmitLink Decision and define as follows: Just like in fill, if the End User has not set the OmitLink input parameter to Yes then we will generate the link from point P1 to P2 and use the codes that the End User has provided through the LinkCode input parameter in addition to a “Daylight_Cut” link code n The PKT file will be available for download from the AU2011 CI4252 class website after the associated lecture is given The finished flowchart should look similar to the following: 33 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Evaluate your subassembly and modify as necessary: Like the previous example you will want to check that Codes are properly assigned and that it behaves as expected for various values of the Input Parameters and Target Parameters Import into AutoCAD® Civil 3D®: Like the previous example you will import the subassembly into a Civil 3D Tool Palette And the sketch that the person complained had contours closer than 2:1, now looks like this: 34 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Example 4: Backwards Engineering There is going to be a point in the future that you are going to come across a PKT file that you made months ago or a PKT file that someone else made Most likely you are opening up this mysterious PKT file because you have found a mistake in how it behave in Civil 3D or you want to edit it for different Civil 3D capabilities So instead of building the subassembly you are going to have to understand how the subassembly was built In this last example, instead of going through the six step workflow we are going to look at a subassembly that I previously created and understand how to make sense of the logic Parabolic Rounding With Daylight Fillet This example provides parabolic rounding at the Point of Vertical Intersection (PVI) between the shoulder and daylight links as well as fillet rounding between the daylight link and target surface In addition, the End User is provided the option to either define the shoulder width dimension from the origin to the PVI (P1 to P2, as currently designed) or from the origin to the Beginning of Vertical Curvature or BVC (P1 to AP3) The flowchart is provided on page 38 and the PKT file is available for download from the AU2011 CI4252 class website after the associated lecture is given The Input Parameters are as follows: The ShoulderDefine type has two options: BVC and PVI and allows the End User to select what point their Shoulder Width measures to The Target Parameters are as follows: The DisplayName acts not only as clear and concise language to the Civil 3D End User but it also acts as a comment for the Input Parameter The Name and the DisplayName are often similar with spaces added in for the DisplayName However, you will note that in this example the DisplayName is helpful in learning that Grade1 refers to the shoulder grade and Grade2 refers to the daylight grade 35 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® It is always important to turn on the Comments to see if there is any additional information that the original User provided Here is the Preview Panel with the Comments turned on: You will notice that sometimes the text becomes hard to read when there are lots of points or links Zooming in will help In addition if you click on any element in the [Preview] panel the [Properties] panel will update accordingly The image at right shows the Comments turned on and the Codes turned off The Comments will always be shown in parentheses () and the Codes will always be shown in brackets [] When evaluating a subassembly in the [Preview] panel it is sometimes helpful to temporarily create a couple of test target parameters to act like grid lines as shown below The targets will not be associated with any logic By dragging these temporary target gridlines to various locations, the value of the offsets and elevations of various points will be displayed in the [Target Parameters] panel Just don‟t forget to delete these temporary targets before saving and importing into Civil 3D 36 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® To analyze a flowchart it is best to start at the top and analyze down one branch at a time By deleting some connection arrows, you can view only the logic that is connected to the Start element By disconnecting and connecting several elements you can slowly begin to see how the geometry is built Remember that you may need to change some of the Input or Target Parameters to make one of the branches of logic applicable This can be done by dragging targets, changing the Preview value of the Target Parameters, or changing the Default value of the Input Parameters When imported into Civil 3D and attached to an assembly, the subassembly will be displayed as follows: By increasing the value of the Input Parameters for Parabola Horizontal Length and Daylight Rounding Length you can get a different look as shown in the two images below The entire flowchart is shown on the following page I challenge you to look through it and see what makes it work 37 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® 38 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Endless Possibilities In conjunction with the stock 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 The best way to learn a program is by using it, so go ahead and download the Subassembly Composer for Civil 3D 2011 & 2012 to your computer if you haven‟t already Start by composing a simple subassembly using Subassembly Composer Before you know it your mind will be opened to a whole different way of approaching corridors in your design For Further Assistance Autodesk® WikiHelp for Autodesk Subassembly Composer: http://wikihelp.autodesk.com/AutoCAD_Civil_3D/enu/2012/Help/Auto desk_Subassembly_Composer Autodesk® Discussion Groups for AutoCAD Civil 3D: http://forums.autodesk.com/t5/AutoCAD-Civil-3D/bd-p/66 AutoCAD Civil 3D Subassembly Reference: http://images.autodesk.com/adsk/files/c3dstocksubassemblyhelp.pdf Twitter hashtag: #SACCivil3D 39 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® APPENDIX VB Expressions: Math Emphasized values can be changed to reference the applicable value Sample VB Expression math.round(2.568,2) Output 2.57 math.floor(2.568) math.ceiling(2.568) math.max(2.568,0.813) math.min(2.568,0.813) math.abs(-2.568) math.pi math.e math.sin(math.pi) 2.568 0.813 2.568 3.14159 2.71828 math.cos(math.pi) -1 math.tan(math.pi) math.asin(1) 1.57079 math.acos(1) math.atan(1) 0.78539 math.log(math.e) math.log10(10) math.exp(1) math.pow(2,3) math.sqrt(81) 2.71828 Description Returns a value rounded to the nearest specified decimal places (ex -2 = hundreds, -1 = tens, = whole number, = tenths, = hundredths, etc.) Returns the largest integer that is less than or equal to the specified value (i.e rounds down) Returns the smallest integer that is greater than or equal to the specified value (i.e rounds up) Returns the larger of a series of two specified values Returns the smaller of a series of two specified values Returns the absolute value Returns the value of the constant pi Returns the value of the constant e Returns the sine of a specified angle measured in radians Returns the cosine of a specified angle measured in radians Returns the tangent of a specified angle measured in radians Returns the angle measured in radians whose sine is the specified value Returns the angle measured in radians whose cosine is the specified value Returns the angle measured in radians whose tangent is the specified value Returns the natural (base e) logarithm of a specified value Returns the base 10 logarithm of a specified value Returns e raised to the specified power Returns a value raised to the specified power Returns the square root of a specified value 40 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® VB Expressions: Logic Emphasized values can be changed to reference the applicable value IF(P1.Y>P2.Y,2,3) P1.Y>P2.Y P1.Y>=P2.Y P1.YP3.X) (P1.Y>P2.Y)OR(P2.X>P3.X) (P1.Y>P2.Y)XOR(P2.X>P3.X) Used in a VB Expression, returns a value depending on whether the condition (P1.Y>P2.Y) is true (value of 2) or false (value of 3) A condition that returns true if P1.Y is greater than P2.Y A condition that returns true if P1.Y is greater than or equal to P2.Y A condition that returns true if P1.Y is less than P2.Y A condition that returns true if P1.Y is less than or equal to P2.Y A condition that returns true if P1.Y is equal to P2.Y A condition that returns true if P1.Y is not equal to P2.Y A condition that returns true if both the condition (P1.Y>P2.Y) AND the condition (P2.x>P3.X) are true A condition that returns true as long as either the condition (P1.Y>P2.Y) OR the condition (P2.x>P3.X) is true A condition that returns true if only one of the two conditions (P1.Y>P2.Y), (P2.x>P3.X) is true (if both are true or both are false, then false is returned) VB Expressions: Subassembly Composer Application Programming Interface (API) Functions Emphasized values can be changed to reference the applicable element Points and Auxiliary Points Class P1.X P1.Y P1.Offset P1.Elevation P1.DistanceTo(“P2”) P1.SlopeTo(“P2”) Horizontal distance from point P1 to Origin Vertical distance from point P1 to Origin Horizontal distance from point P1 to assembly baseline Elevation of point P1 relative to Distance from point P1 to point P2 (Always positive) Slope from point P1 to point P2 (Upward = positive, Downward = Negative) P1.IsValid Point P1 assigned and valid to use (True/False) P1.DistanceToSurface(SurfaceTarget) Vertical distance from point P1 to SurfaceTarget (point above = positive, point below = negative) 41 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Links and Auxiliary Links Class L1.Slope L1.Length L1.Xlength L1.Ylength L1.StartPoint L1.EndPoint L1.MaxY L1.MinY L1.MaxInterceptY(slope) L1.MinInterceptY(slope) L1.LinearRegressionSlope L1.LinearRegressionInterceptY L1.IsValid L1.HasIntersection(“L2”) L1.HasIntersection(“L2”, true, true) Offset Target Class OffsetTarget.IsValid OffsetTarget.Offset Elevation Target Class ElevationTarget.IsValid ElevationTarget.Elevation Surface Target Class SurfaceTarget.IsValid Slope of link L1 Length of link L1 (Always positive) Horizontal distance between start to end of link L1 (Always positive) Vertical distance between start to end of link L1 (Always positive) A point located at the start of link L1 (Can be used in API Functions for P1 Class) A point located at the end of link L1 (Can be used in API Functions for P1 Class) Maximum Y elevation from a link‟s points Get the minimum Y elevation from a link‟s points Apply the highest intercept of a given link‟s points to the start of another link Apply the lowest intercept of a given link‟s points to the start of another link Slope calculated as a linear regression on the points in a link to find the best fit slope between all of them The Y value of the linear regression link Link L1 is assigned and valid to use (True/False) L1 and L2 have an intersection, second input is a Boolean defining whether to extend L1 with default of false, third input is a boolean defining whether to extend L2 with default of false (True/False) OffsetTarget is assigned and valid to use (True/False) Horizontal distance from OffsetTarget to assembly baseline ElevationTarget is assigned and valid to use (True/False) Vertical distance from ElevationTarget to assembly baseline SurfaceTarget is assigned and valid to use (True/False) 42 of 43 Create Subassemblies That Think Outside the Box With Subassembly Composer for AutoCAD® Civil 3D® Baseline Class Baseline.Station Baseline.Elevation Baseline.RegionStart Baseline.RegionEnd Baseline.Grade Baseline.TurnDirection Station on assembly baseline Elevation on assembly baseline Station at the start of the current corridor region Station at the end of the current corridor region Grade of assembly baseline Turn direction of assembly baseline (Left = -1, Noncurve = 0, Right = 1) *Note assembly baseline may or may not be the subassembly origin EnumerationType Class EnumerationType.Value The string value of the current enumeration item 43 of 43 ... 33.3% 50.0% 0.0% 20.0% 25.0% 33.3% 50.0% 5.0% 19 .4% 24.5% 33.0% 49.7% Profile Grade (%) 10 .0% 17 .3% 22.9% 31. 8% 49.0% 12 .0% 16 .0% 21. 9% 31. 1% 48.5% 15 .0% 13 .2% 20.0% 29.8% 47.7% 27 of 43 Create Subassemblies... horizontal distance across a 3‟ vertical change was 5.85‟ which was steeper than the acceptable 2 :1 (it was in fact 1. 95 :1) I kindly pointed out that the slope is drawn based on the road cross... did a quick and dirty fix and set the cross slope to 2 .1: 1 instead of 2.0 :1 and everything was conservatively larger than the acceptable 2 :1 This problem arose because the slope of the baseline

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

TỪ KHÓA LIÊN QUAN

w