Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
OpenRoads | OpenSite
  • Product Communities
OpenRoads | OpenSite
OpenRoads | OpenSite Wiki Custom Operations
    • Sign In
    • -Road and Site Design - Wikis
      • +OpenRoads Designer
      • +OpenRoads ConceptStation
      • +OpenRail Designer
      • +OpenSite Designer
      • +OpenRoads Navigator Mobile App
      • -SS10/SS4/SS3 OpenRoads
        • Platform compatibility
        • +SS4/SS3 Subsurface Utilities Video Clips, TechNotes & FAQs
        • +3D Geometry (SS4)
        • +Analysis & Reporting (SS4)
        • +Basic Settings (SS4/SS10)
        • +Civil Cells (SS4)
        • +Corridor Modeling & Cross Sections (SS4)
        • geopakcom.exe - Entry Point Not Found - PowerGeopak Install Error in Windows 10
        • +General Geometry (SS4)
        • +Horizontal Geometry (SS4)
        • +Rail Track (SS4)
        • ReadMe - What's new and revised in SS4 MR3 - Version 08.11.09.903+
        • -Survey (SS4)
          • Add Suffix or Prefix to Multiple Point Names
          • Append Points and Closed to a Dynamic Link Linear Feature
          • Combined Scale Factor
          • Convert 2 Dynamic Link Linear Feature to Point List Feature & Create Graphic Linear Feature from MicroStation Element
          • Create Graphic Linear Feature from a Microstation Element
          • Create Horizontal Alignment and Profile from Linear Survey Feature
          • Curve (Spline) options in OpenRoads Survey
          • Custom Operations
          • Disable Create Terrain Model for All Field Books
          • Disable Yellow Survey Message Icons
          • Edit and Linking Survey Feature Definition
          • Edit Features of Survey Data
          • Error message when loading .fwd file
          • Feature Alpha Code Read as Part of Linking Code
          • File not found error while loading Leica DBX data
          • How can I zoom to a particular point within my survey data?
          • How do I Define which Survey Options Preference is used in OpenRoads?
          • How to change the backsight point for a setup
          • How to Create and Apply Terrain Model Filters
          • Import Field Book data
          • Import Survey - Text Import Wizard will not open: mnuLoadFileTextImportWizard_Click
          • Import Survey in OpenRoads with Custom LInestyles from the SMD
          • Importing and Editing Raw Survey Data
          • Importing Duplicate Point Names into Survey
          • Importing Spectra Precision .survey File
          • Importing Trimble JOB files using TrimbleLink
          • Intermediate Triangle Points Along Breaklines
          • Linking Survey Feature Definitions
          • Merge Into Master command no longer copies fieldbook into DGN
          • OpenRoads Survey Media Files
          • Point Coding Example
          • Replace Survey point codes upon import with project specific code - String Substitution
          • Select Linked Feature Definition Style File dialog still prompts for XIN/XML even though configuration file is set.
          • SS3 Field books and Datasets
          • Survey Field Book Symbology Control
          • Survey Processing > Join Linear Features/Remove Point From Linear Features: "Element not valid for this command"
          • Transitioning to Bentley Civil Survey Document
          • Using linear feature templates (TMPL code) in Survey
          • Video : Import .csv file in OpenRoads
          • Video: Adding additional survey data to fieldbook while maintaining terrain edits
          • Video: Adding Linear Template features to Terrain from Survey Fieldbook
          • Video: Break Linear Feature Command
          • Video: Compass Rule Adjustment
          • Video: Create a Point and add it to a Survey Chain
          • Video: Create GEOPAK Survey Feature and import to OpenRoads Feature Definition
          • Video: Create new linear feature by adding points
          • Video: Creating Horizontal Geometry and Profile From Survey Feature
          • Video: Example using VBA Macros to Draw Pipes as 3D when Importing Survey Data
          • Video: Export Field Data Book
          • Video: Importing Civil 3d Field Book (FBK)
          • Video: Multiple Survey Settings
          • Video: OpenRoads Survey Data File Parsing
          • Video: OpenRoads Survey Export Field Data Book
          • Video: OpenRoads Survey Import Ascii file
          • Video: OpenRoads Survey Linking Code
          • Video: Sample Survey Workflow
          • Video: Survey Control Points
          • Video: Survey Data to CSV file
          • Video: Survey Filters Example
          • Video: UpDown Link Code Demonstration
          • What is a Control Point?
          • Where to Set Precision for Survey Coordinates
        • +Terrain Model (SS4)
        • +Training for OpenRoads commands in InRoads/GEOPAK/MX SS4
        • +Vertical Geometry (SS4)
        • Visual Basic Run-time error '-2147467259 (80004005)' when loading GEOPAK through FDOT workspace
        • Why warning display Create an Unlinked Terrain Model
        • How to launch InRoads/GEOPAK SS10 from ProjectWise CONNECT
        • Print and Print to File Button Not Working
        • Problems Running SS4 VBA in SS10
        • Wiki: How to create a turnout library for specific project as the options available to create new turnout library is disabled ?
      • +GEOPAK Native
      • +InRoads Native
      • +MX Native
      • +OpenRoads SignCAD

     
     Questions about this article, topic, or product? Click here. 

    Custom Operations

    Product(s): InRoads
    Version(s): 08.11.09+
    Area:  Survey
    Original Author: Jacquelyn Pettus, Bentley Technical Support Group

    Survey Feature Custom Operations (New/Edit Style)

    This command specifies the custom operations for the survey feature that you are adding/editing. Custom operations are sets of instructions associated with styles. These instructions tell InRoads Survey to display graphical text, place symbols, place cells, and draw lines. In addition, custom operations include math functions, relational operators, IF statements, and operators that control symbology and justification.

    One common use for custom operations is to create output based on attribute data assigned to stations and observations in the fieldbook. For example, assume you have some points that are assigned a style called MH, and the MH style possess attributes representing the manhole ID, the incoming invert elevation, and the outgoing invert elevation. You can use custom operations to display graphical text indicating the particular IDs and inverts for each of those observations by adding instructions in the Survey Feature > Custom Operations leaf on the New/Edit Style dialog, when you are editing the MH style. You can also display different cells or symbols based on attribute data.

    Survey reads and performs the operations one line at a time starting with the first entry in the list on the Custom Operations leaf. Operations may not span two lines; the entire instruction must appear on a single line.

    Placing Text

    Placing text is similar to using a spreadsheet. The text must be proceeded by a single quote (').

    Example

    'Fire Hydrant

    This will produce the text "Fire Hydrant" on the drawing.

    Point numbers, feature codes, elevations, and northing and easting can be placed at the point by using the following format:

    '$(NAME)
    '$(FCODE)
    '$(ELEVATION)
    '$(NORTH)
    '$(EAST)

    The output would look similar to the following:

    1001
    TOC
    518.94
    10000.0
    10000.0

    A more elaborate example would be similar to the following:

    '$(NAME) $(FCODE)
    'ELEV= $(ELEVATION) FT
    'Northing= $(NORTH)
    'Easting= $(EAST)

    The output would look similar to the following:

    1001 TOC
    ELEV= 518.94 FT
    Northing= 10000.0
    Easting= 10000.0

    The entire point code string (as opposed to just the feature code) can be referred to in the following manner:

    '$(CODE)

    Attributes can also be placed as text. Suppose that one of the attributes for an oak tree is the trunk size. The attribute may be called "SIZE." To place the trunk size on the drawing, enter the following:

    '$(SIZE)" OAK

    If a surveyor enters "12" for attribute SIZE, the output for an oak tree with a 12" (the attribute value) trunk will look similar to the following:

    12" OAK

    To make use of attributes, the feature code must be set up with attributes, and, the data collector must be capable of supporting attributes.

    Wild data collector attributes are limited to being called INFO1, INFO2, INFO3, INFO4, and so on. The AASHTO SDMS coding is limited to A0 through A9.

    Field notes can be displayed at the point and committed to the design file by keying in the following:

    '$(NOTES)

    Using Custom Fonts

    Custom Operations lets you use custom fonts. You can also use fonts other than the active font. To include a font style that is different from the other text in the drawing, you can enter the following:

    FT=[font number]

    Example

    Suppose all text in a drawing is placed using font 3. When the font for text describing a certain feature needs to be different from all other text, the following may be entered:

    FT=41
    'Stone Monument
    FT=39
    'Erected 1842

    "Stone Monument" would be placed using font 41, "Erected 1842" would be placed using font 39, while all other text in the drawing would be placed using font 3.

    If everything after "Erected 1842" needs to be placed using font 3, the entry FT=3 must immediately follow it. Changing fonts within Custom Operations affects only the feature it is used for.

    InRoads Survey also supports fonts loaded on your machine as part of the Windows operating system:

    FT=[font name]

    Example

    The following statements incorporate different fonts:

    FT=Arial
    'Text in arial
    FT=Courier
    'Text in courier

    Symbology

    You can place text on a specific level with the following command:

    LV=[level name]

    Example

    The following statements place the text "Test" on level 45:

    LV=45
    'Test

    Custom operations also support named CAD levels/layers.

    Example

    Assuming you have a level/layer named mylevel, you can use the following statements to place the word "Test" on the level/layer named mylevel:

    LV=mylevel
    'Test

    The LV command accepts literal text strings. The software will not exchange any custom operations key names embedded in the string. For example, in LV = SPOT ELEVATION LEVEL, the key word ELEVATION will not be exchanged for the elevation value.

    Positioning Custom Operations

    DY=change in y from the feature point coordinates.
    DX=change in x from the feature point coordinates.

    The software will remember the location and place all text starting from the actual point location.

    LS=active line spacing
    PR=precision of the features displayed quantities (used for numerical text). PR does not control elevation output.
    PRZ=precision of the features elevation or z-values
    CO=color numerical value, attribute with numerical value, or numerical equation
    RESET=reset the position to the actual point location
    LC=active line style
    WT=weight
    TX=text size based on numeric value or attribute with numeric value

    Placing Lines

    Lines can be drawn with the following commands: DX, DY, LINE, and MOVE.

    The following example shows the proper syntax:

    DX=-30
    DY=1
    MOVE
    DX=60
    LINE

    The example above would place a line starting 30 units west and 1 unit north of the location of the actual point. It would draw a line extending eastward for 60 units.

    Justification

    You can display the text for a feature with a specified justification. The default location is the lower-left point of the text or font symbol of the first line placed. The following justification commands are supported:

    JT=RB <=right bottom
    JT=RC <=right center
    JT=RT <=right top
    JT=CT <=center top
    JT=CB <=center bottom
    JT=CC <=center center
    JT=LT <=left top
    JT=LC <=left center
    JT=LB <=left bottom

    Placing Font Symbols

    Placing font symbols is very similar to placing text. Instead of alpha or numeric characters, you can place custom symbols in your custom font.

    You must enter the following to place the font symbol:

    '\(numerical code)

    Example

    '\002

    This would place the symbol for numerical value 002 for the active font.

    To place font symbols from fonts that are not active, enter the following:

    FT=desired font
    '\(numerical code)

    Example

    FT=26
    '\002

    This would place the symbol with numerical value 002 from font 26.

    If you want the symbol to be centered on the point, center center justification must be entered immediately prior to the font symbol command. (JT=CC).

    Placing Cells/Blocks

    You can place cells/blocks with the following command:

    AC=(cell/block name)

    The DX= and DY= can be used to locate cells. The default placement is centered over the point using the cell origin.

    Active Scale

    You can place the active scale of the cell with the following command:

    AS=scale
    AS=$(numerical
    attribute)

    Math functions can also be performed to set active scale.

    Examples

    Using the attribute SIZE as described in Placing Text, the following commands can be used:

    AS=SIZE/10
    AS=SIZE*10
    AS=SIZE+10
    AS=SIZE-10
    AS=SIZE1/SIZE2

    The Active Scale command is used only for scaling cells.

     

    Use AS= before AC= in the custom operations then the software will know the scale before it places the cell.

    Active Angle

    You can define an absolute angle for rotating all graphics placed with custom operations using the active angle command, as follows:

    AA=$(<attrib>)

    where <attrib> specifies an attribute that defines an angle value. For example, if the attribute is named ROTATE, an actual call to the active angle command would look like this:

    AA=$(ROTATE)

    Setting the active angle through custom operations has the same effect as setting the Angle parameter for text, cells, and symbols in the style. The AA = custom operation overrides the rotation angles defined in the Text Symbology and Point Symbology dialogs of the style (click Edit on the Tools > Style Manager > Edit Style > Survey Feature > Symbology leaf).

    The advantage of using the active-angle custom-operations command is that you can control the rotation of text, cells, and symbols for various points through the use of attributes. Different survey points can be assigned different attribute values even though they share the same style.

    The angle angle command is typically used with in conjunction with attributes. It is possible to assign a specific numeric value as the active angle, but when you assign a specific numeric value, you lose the flexibility of assigning different rotation angles to different points within the same feature type.

    Note that if you turn on the Include Custom Operations, Symbols and Cells in a Single Cell option on the General tab of the Survey Options dialog box, cells and symbols – even those that were defined outside of custom operations – will honor the active angle defined within custom operations.

    Math Functions

    Math functions are supported which allow the use of variables. All basic math functions (+, -, *, /) are supported. Exponents are also supported (such as 3**2 (value of 9)). However, the software does not check for floating-point overflow. This mathematical command should be used with caution.

    Also, nested parentheses can be used:

    Example

    RESULTS=((2/10)+(6*8))*INFO1

    Suppose you had three attributes for each manhole shot (IN, OUT).

    Let IN=incoming invert elevation from the top of a manhole=5.82
    Let OUT=outgoing invert elevation from the top of a manhole=5.90
    Let ELEVATION=elevation of top of the manhole=510.62

    Example

    'TOP: $(ELEVATION)
    INVERTIN=ELEVATION-IN
    'IN: $(INVERTIN)
    INVERTOUT=ELEVATION-OUT
    'OUT: $(INVERTOUT)

    The output would look like the following:

    TOP: 510.62
    IN: 504.80
    OUT: 504.72

    Attributes may be used in performing math functions as described in Active Scale.

    IF Statements

    The IF statement lets you perform conditional operations based on a logical test. The general syntax for the IF statement is as follows:

    IF <comparison> THEN <instruction>

    The <comparison> is a comparison based on either an alpha operator or a numeric operator (discussed below). The <instruction> is any valid custom-operations instruction except another IF statement. You cannot nest an IF statement within an IF statement.

    A space is required after the IF as well as before and after the THEN.

    Example

    A style for manholes might contain an alpha attribute called TYPE, which is assigned either the value STORM or the value SANITARY. The following statements would display the appropriate cell for an MH observation:

    IF $(TYPE)=STORM THEN AC=mh_storm

    IF $(TYPE)=SANITARY THEN AC=mh_sanitary

    (Assume that there are cells called mh_storm and mh_sanitary.)

    The following statements could be used to set the color of the elevation text based on numeric elevation attribute data itself:

    IF $(ELEVATION)>=1000 THEN CO=1

    IF $(ELEVATION)<1000 THEN CO=2

    '$(ELEVATION)

    Alpha Operators

    There are only two operators that act on alpha attributes:

    Operator

    Explanation

    =

    True if the alpha attributes being compared are exactly alike.

    <> 

    True if the alpha attributes are different.

    Numeric Operators

    Operator

    Explanation

    =

    True if the numeric attributes being compared have the same value.

    <> 

    True if the numeric attributes have different values.

    > 

    True if the value of the first numeric attribute is greater than the value of the second.

    < 

    True if the value of the first numeric attribute is less than the value of the second.

    >=

    True if the value of the first numeric attribute is greater than or equal to the value of the second.

    <=

    True if the value of the first numeric attribute is less than or equal to the value of the second.

     

    If either of the attribute values involved in an IF statement contains an alphabetic character, the attributes are compared as alpha attributes, using the alpha operators. An operator is seen as a numeric operator only if both attributes being compared are numeric.

    Null Values

    You can test whether or not an attribute is assigned a value by comparing the attribute value to [NULL], as in the following example:

    IF $(TYPE)=[NULL] THEN 'Unknown

    That statement displays the text Unknown if the attribute called TYPE has no value.

    Lookup Tables

    Lookup tables are used to assign certain values to field key-ins based on the criteria you specify. This relieves the field crews from long key-ins and other items that only regard drawing production (font symbols, cells, math calculations, and so on). For example, when a surveyor enters numerical or alpha characters for an attribute, the lookup table will manipulate the value to place text, change fonts, insert font symbols, and so on.

    Example:

    Lookup=Owner
    {
    VP=Virginia Power
    CP=C & P Telephone Company
    =Unknown
    }

    If the surveyor entered the value VP for the value of attribute, Custom Operations would place the text "Virginia Power" at the point.

    If the surveyor entered nothing for the attribute, Custom Operations would place the text "Unknown" at the point.

    Example:

    LOOKUP=INFO1
    {
    1=A
    2=B
    3=
    4=
    5=
    6=
    }
    FT=41
    '$(INFO1)
    LOOKUP=INFO1
    {
    1=
    2=
    3=C
    4=D
    5=
    6=
    }
    FT=26
    '$(INFO1)
    LOOKUP=INFO1
    {
    1=
    2=
    3=
    4=
    5=E
    6=F
    }
    FT=3
    '$(INFO1)

    When the following values are entered for INFO1 (in example above), Custom Operations will place the appropriate text.

    INFO1=

    Text placed

    Font used

    1

    A

    41

    2

    B

    41

    3

    C

    26

    4

    D

    26

    5

    E

    3

    6

    F

    3

    Find Tables

    Find tables are similar to lookup tables because they are used to place text based on attribute value.

    The difference is that the find table can place multiple descriptions based on the number of characters placed in the attribute field.

    Example:

    FIND=SERVICE
    {
    E=Electric
    T=Telephone
    C=Cable
    =None
    }

    If the surveyor were to enter ET for the attribute SERVICE, Custom Operations would place "ElectricTelephone" at the point.

    If the surveyor were to enter EC for the attribute SERVICE, Custom Operations would place "ElectricCable" at the point.

    If the surveyor were to enter nothing for the attribute SERVICE, Custom Operations would place "None" at the point.

    Copying Custom Operations

    The Custom Operations leaf supports cut-and-paste (or copy-and-paste) operations, allowing you to copy custom operations from one style to another.

     

     

    • Share
    • History
    • More
    • Cancel
    • Jacquelyn Pettus Created by Jacquelyn Pettus
    • When: Tue, Oct 28 2014 1:59 PM
    • Revisions: 1
    • Comments: 1
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2023 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies