This is a high level category containing other specific rule points. All of the rule points under this category are Expression/Value based rule points. This means that all of the rules defined under this category will evaluate to a value. The subrule points correspond to the value types which are returned. Rules defined under the Expressions category and sub-categories are designed to create reusable subrules which define expressions and logic to be reused throughout all of the other rule points. Rules defined under Expressions are not typically called directly by the application, but are instead a library where you can define common logic and expressions.
All Boolean subrule points define expressions which evaluate to a Boolean, true/false value. The subrule points consist of a full hierarchy of the utility domain class schema. Use this rule point to define true/false subrules for common tests. For example, you might define a named subrule for the Pole feature class called “Has Guying” which evaluates to true or false, depending on whether any guying is attached to the pole.
All Integer subrule points define expressions which evaluate to an integer numeric value. The subrule points consist of a full hierarchy of the utility domain class schema. Use this rule point to define standard expressions which evaluate to a count of features. For example, you might define a named subrule called “Secondary Positions” which evaluates to the number of secondary cable positions required for a LinkBox or other Device.
All Real subrule points define expressions which evaluate to a decimal, floating-point value. The subrule points consist of a full hierarchy of the utility domain class schema. Use this rule point to define any non-integer numeric values which may result in fractional values. For example, you might define a named subrule for the Conductor feature class called “Total Length” which adds together various lengths using ratio factors and other math operators and functions.
All Text subrule points define expressions which evaluate to text values. The subrule points consist of a full hierarchy of the utility domain class schema. Use this rule point to define any special text needed for reuse in the application, based on particular features and data. For example, you might define a named subrule for all electric feature classes called “No Primary Error” which defines a standard error message including special attribute and text concatenation and is reused in many different validation rules.
All Feature Identifier subrule points define expressions which evaluate to text values. The subrule points consist of a full hierarchy of the utility domain class schema.
The Feature Identifier rule point is called explicitly by the application to generate an identifier which is used in most places where a feature is identified by name. For example, in the Quick Info panel or the Material List, the text used to describe the feature uses this rule point to generate the displayed text. If no rule is defined for a particular feature, the system uses an internal default which displays the feature class caption, the FID, and the model group or model name of the feature. By specifying a rule here, you can override the system default and format a custom identifier using any number of additional feature attributes or other text concatenation.
Many rule points are directly related to Design Validation and Auto Validation. Validation rule points that generate messages, warnings, and errors are located in the Validation and Material sections of the Rules Configuration dialog box and in the Validation sections for each analysis operation.
Automatic validation is controlled in AutoCAD Utility Design Options.
If Auto Validation for a particular operation is set to "Block On Alerts", any errors or non-ignored warnings displayed in the Validation Results panel of the Dashboard prevent the application from running further auto validation functionality on the problem feature. The "Enabled" setting indicates whether the Auto Validation will be run at all.
To run Validation rules, you must enable General Validation in the Options dialog box.
If a "Report error" rule is defined for a feature in rules configuration, the output of that rule might block subsequent Auto Validation if "General Validation" is set to "Block On Alerts".
For more information, see To Specify Application Options.
The Validation rule point is called by the Auto Validation system for the "General Validation" item. The subrule points consist of a full hierarchy of the utility domain class schema.
This is a sequential/action rule point and the various report-related rule activities can be used to generate Validation Results messages, warnings, and errors, as well as resolution workflows.
The Material rule point is called by the Auto Validation system for the "Material" item. The subrule points consist of a full hierarchy of the utility domain class schema.
This is a sequential/action rule point and the "Add material" rule activity can be used to generate material list items. Also, the various report related rule activities can be used to generate Validation Results messages, warnings, and errors, as well as resolution workflows. However, it is recommended that validation logic be defined in the Validation rule point if possible.
The Material Costing rule point is used by the material system to generate a value for the "Cost" attribute for material list items. The subrule points are organized by the categories present in the material catalog. The costing rule applied to each category is used to calculate the Cost for corresponding material list items for each category.
The Annotation rule point is used by the Insert Callout feature by choosing a specified callout. The subrule points consist of a full hierarchy of the utility domain class schema.
This is a sequential/action rule point and the “Choose callout” rule activity can be used to select a callout for Insert Callout function. The available callouts are configured in the Industry Model Configuration dialog box. For more information, see To Configure a Callout.
The Sizing rule point is used to generate the list of valid model names displayed as resolution items in the Validation Results panel. It is also used for analysis and other application functionality to leverage the sizing rules in order to filter out a valid set of models for a feature. The subrule points consist of a full hierarchy of the utility domain class schema.
The Sizing rules are sequential/action rules, but the actions consist of various Add Filtering rule activities. Each Add Filtering rule activity appends a new query criteria which is then used to query/filter the Model table for a given feature. It also provides a Match Section rule activity which specifies explicit Or/And concatenated operations. It allows the nesting of Add Filtering activities which can be used to generate grouped sets of Where clause operations using a specified operator: Or/And.
The Style rule point is used for applying a style to a specified feature. The subrule points consist of a full hierarchy of the utility domain class schema.
This is a sequential/action rule point and the Choose Style rule activity can be used to select specified style which is configured in the Industry Model Configuration dialog box. For more information, see About Styling Feature Classes.
Type | Expression/Value or Sequential/Action |
Context | The rule points and/or contexts within a rule in which the rule activity is available |
Section | The expandable section in the Rule Editor selection popup that contains the rule |
Arguments | The arguments to the rule |
Description | General description of the rule |
Type | Sequential/Action |
Context | Sizing rules |
Section | Rules |
Arguments |
|
Description |
This is the primary operation in a Sizing rule. It generates an additional match or query clause against the feature's Model table. |
Type | Sequential/Action |
Context | Sizing rules |
Section | Rules |
Arguments |
|
Description |
In a sizing rule, this action indicates which attribute(s) should be used when sorting the results from the feature's model table. Use multiple Add sort attribute rules to sort on multiple attributes. |
Type | Sequential/Action |
Context | Material rules |
Section | Rules |
Arguments |
|
Description | Generates material items for features and displays them in the Material Editor panel of the Dashboard. |
Type | Sequential/Action |
Context | Material rules |
Section | Rules |
Arguments |
|
Description | This rule is used for creating a note. It is invoked at the same time as the Add Material rule. “Note Number” is used to filter specific notes. |
Type | Sequential/Action |
Context | Annotation rules |
Section | Rules |
Arguments |
|
Description | This rule is used for selecting a specified callout for a feature. Callouts are defined per feature class on the Callout tab or the General Callout tab in the Industry Model Configuration dialog box. |
Type | Sequential/Action |
Context | Style rules |
Section | Rules |
Arguments |
|
Description | This rule is used to apply styles to features. Styles are defined per feature class on the Style tab in the Industry Model Configuration dialog box. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Rules |
Arguments |
|
Description | An explanation of the rule. |
Type | Sequential/Action |
Context | All Sequential rule points (Validation, Material, Sizing) |
Section | Subrules |
Arguments |
|
Description |
If and Match are the primary control flow rules for all sequential/action rules. Use the If rule to create conditional branching based on conditional expressions. If the conditional branching is mutually exclusive and involves many separate branches, consider using the "Match" rule instead. |
Type | Sequential/Action |
Context | Sizing |
Section | Rules |
Arguments |
|
Description |
The Match section rule allows a nesting of match results and Add Filtering activities which can be used to generate grouped sets of where clause operators using a specified operator: And/Or. |
Type | Sequential/Action |
Context | All validation rule points (Validation [preferred], Material) |
Section | Operators |
Arguments |
|
Description |
This rule is an extended version of the basic "Report" rule. It generates an entry in the Validation Results panel. See the description for the "Report" rule for details concerning the main error message. In addition to the error message, this rule will automatically generate a set of resolutions which correspond to each potentially valid model applicable to the feature. By default, this will list all of the models which have the same model group as the processed feature. If the model group of the feature is not set, the set of resolutions will be the full set of all models for the feature. Sizing rule integration: If a Sizing rule is defined for the feature, the sizing rule will be used filter the feature's Model table in order to select a smaller subset, or perhaps even a single, model. |
Type | Sequential/Action |
Context | All validation rule points (Validation [preferred], Material) |
Section | Subrules |
Arguments |
|
Description |
This rule is an extended version of the basic "Report" rule. It generates an entry in the Validation Results panel. See the description for the "Report" rule for details concerning the main error message. In addition to the error message, this rule will automatically generate a single resolution which, when selected by the user in the Validation Results panel, will display the Quick Info editor for the feature with the indicated attribute selected. Use this rule when an attribute value has been determined to be incorrect and to prompt the user for setting a valid value for the attribute. If the rule simply needs to prompt for an attribute which has not yet been set, use the explicit, simpler "Prompt to set attribute when not set" rule. |
Type | Sequential/Action |
Context | All validation rule points (Validation [preferred], Material) |
Section | Subrules |
Arguments |
|
Description |
This rule is a simplified version of the "Prompt to set attribute" rule. Similar to the other report based rules, it generates an entry in the Validation Results panel. Unlike those rules, it automatically generates the message as well. This makes the rule specification simpler for the common case where a required attribute is not yet set and the user must be prompted to set the attribute. |
Type | Sequential/Action |
Context | All validation rule points (Validation, Material) |
Section | Subrules |
Arguments |
|
Description |
This is the most common error reporting rule. It generates an entry in the Validation Results panel using the specified type (message, warning, error) and message text. Specifying an error will block any subsequent Auto Validation for the feature on which the rule point is being executed. Specifying a warning will block subsequent validation unless the user selects to ignore the warning. Specifying a message will not block any subsequent validation or analysis. |
Type | Sequential/Action |
Context | All validation rule points (Validation, Material) |
Section | Subrules |
Arguments |
|
Description |
This rule is an extended version of the basic Report rule. It generates an entry in the Validation Results panel. In addition to the error message, this rule also enables you to define any number of named resolution workflows. These named workflows are then available in the Validation Results panel when you select to resolve an error. You can define custom rule sequences for each resolution. The resolution workflows can include actions such as updating properties of the feature being processed by the rule or inserting additional features in the design. |
Type | Sequential/Action |
Context | All Sequential rule points (Validation, Material, Sizing) |
Section | Subrules |
Arguments |
|
Description |
Match and If are the primary control flow rules for sequential/action rules. Match should be used when several mutually exclusive branches exist in the rule logic. If a single set of mutually exclusive cases exist, a simple If/Then/Else may be preferred. To match ranges: In situations where the various cases correspond to numeric ranges, the Match should leverage one of the operators other than 'equals'. For example, to create a 'table of ascending ranges' the 'is at most' operator could be used. To match a series of conditional expressions: In some situations, rather than use a series of "If" rules to handle mutually exclusive conditions, the Match rule can be used with a "True" Match Value. |
Type | Sequential/Action |
Context | Material rule points |
Section | Rules |
Arguments | Map Material attribute to Catalog attribute |
Description |
Sets an attribute. Set attribute [Labor Cost] to [Catalog Labor Cost] |
Type | Expression/Value |
Context | All Expression contexts |
Section | Literal values |
Arguments |
Value: A literal value |
Description |
Specifies a literal text, numeric, or other value not based on a runtime determined or feature derived property. Use a literal value to specify error messages, numeric values for matching, or other specific values like matching group names, and so forth. |
Type | Expression/Value |
Context | All Expression contexts |
Section | AUD Variables |
Arguments |
|
Description |
Specifies a particular configuration variable. The expression evaluates to the value of that variable at runtime. The variable values are specified in AutoCAD Utility Design in the Variables section. In the Rule configuration, these can be accessed through the AUD Variables section, where they are displayed with their full descriptions. Unit override: As with most property based expressions, a unit override is available that converts the value into a particular unit, if a unit other than the default system/configuration unit is needed. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Document Properties |
Arguments |
|
Description |
Specifies a particular drawing document property. The expression evaluates to the value of that property at runtime. Document Properties correspond to the custom drawing properties available when you create a new design and on the Custom tab in the Drawing Properties dialog box. (Use AUDDESIGNNEW or DWGPROPS command to display.) |
Type | Expression/Value or Sequential/Action (depending on context) |
Context |
General subrules available in all Expression contexts. Rule point specific expression subrules only available in corresponding rule point expressions. Subrules defined for Sequential rule points are only available from Sequential context within those sequential rule points. |
Section | Subrules |
Arguments |
|
Description |
Executes the indicated subrule. If specified in an Expression context, the subrule will evaluate to the value of the subrule. If a Sequential subrule is specified, the sequential flow will be passed to the subrule. This is generally only used to organize sequential rules into separate sections for organizational purposes (for example, New, Existing and Removal subrules). |
Type | Expression/Value |
Context | All Expression contexts |
Section | FeatureClass Attributes (where FeatureClass is the feature class for which you are defining the subrule.) |
Arguments |
|
Description |
Specifies a particular attribute of the feature. Almost all rule points implicitly use a primary feature as the context of the rule. In some cases, multiple features are made available to the rule. In that case the various additional features have their own separate attribute sections. When specifying conditional expressions for rules that reference other features, such as the "number of connected" rule, the feature attributes available are based on the feature class specified in the nested rule. As with most property based expressions, a unit override is available that converts the value into a particular unit, if a unit other than the default system/configuration unit is needed. This is only available for numeric attributes that have a particular unit type. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Operators |
Arguments |
Left and right or single operands |
Description |
The logical operators evaluate to true or false, based on the operand arguments. Boolean (true/false) binary argument logic operations: and, or, exclusive or, not (single boolean argument) Numeric comparison operations (with typical expression language equivalents): equals (==), not equal (!=), is less than (<), is more than (>), is at least (>=), is at most (<=) |
Type | Expression/Value |
Context | All Expression contexts |
Section | Operators |
Arguments |
Left and right or single operands |
Description |
The arithmetic operators perform the basic arithmetic operations: + (addition), - (subtraction), * (multiplication), / (division) |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Evaluates to true or false, depending on whether the indicated attribute is set:
|
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Evaluates to either the true expression or the false expression, depending on whether the conditional expression is true or false. Use Conditional number to provide If/Then/Else logic within expressions. This rule works the same as the ternary operator in most programming languages. value < 1 ? 0 : 1 |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Use this to provide Match logic within expressions. It is useful when several mutually exclusive branches exist in the rule logic. If a single set of mutually exclusive cases exist, a simple “Conditional Number/Text” might be preferred. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Evaluates to the number of features that match the conditional criteria.
|
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Evaluates to true if a matched container or upstream/downstream connected feature can be found, otherwise false. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
The enumerable functions are:
Examples:
|
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
None |
Description |
Evaluates to the feature class caption of the primary implicit feature argument to the rule point. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
Attribute name |
Description |
Evaluates to true or false.
|
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
This function is used to show a list of values. It is mainly used for work locations. The searched features are of two types:
For an example, see To Configure Material List Annotation. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
Left and right or single operands |
Description |
These functions represent the corresponding standard mathematical operations: Abs, Acos, Asin, Atan, Atan2, Ceil, Cos, Cosh, Exp, Floor, Ln, Log, Mod, Power, Remainder, Round, Sign, Sin, Sinh, Sqrt, Tan, Trunc. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
None |
Description |
Nonprintable characters can be used in string expressions, null values to be assigned to attributes, and known math constants to be specified without requiring literal numeric values. These functions are: E, exp, newline, null, pi, tab |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments | Left and right or single operands |
Description |
These functions represent the corresponding standard string operations:
|
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Looks up a value from a specified table. For an example, see To Configure a Table Lookup Rule. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Functions |
Arguments |
|
Description |
Use a Table Lookup Range rule to calculate an unspecified value using linear interpolation. |
Type | Expression/Value |
Context | All Expression contexts |
Section | Catalog |
Arguments |
|
Description |
Specifies a particular catalog item, referenced by the name of the catalog item. This rule evaluates to a text value corresponding to the catalog item name shown. Functionally, this is no different than specifying a Literal text value of the catalog CU code, but by using this explicit rule the system can identify the value as a catalog CU and provide internal validation of the rule entry (which would not be possible with a plain text literal). When specifying this rule expression, an actual entry from the material catalog is used and the rule configuration indicates the description and presence of the catalog item. This can be useful to check if catalog items have been renamed or removed from the underlying material catalog, as well as identify the catalog item more easily by the description tooltip if the CU code is not readily identified. |