Modules | Classes | Enumerations

Provides facilities for using variables and variations to define parametric geometry. More...

Modules

 Parameter Expressions
 Allows the values of parameters to be defined by equations.
 

Classes

struct  IDgnComponentDefinitionHandler
 A DgnComponentDefinitionHandler is associated with a DgnModel to provide access to parameters and parameter sets defined on the model for purposes of parametric modeling. More...
 
struct  ParametricCellRemapTable
 Specifies how to remap parametric cell instances when updating a parametric cell definition. More...
 
struct  IDgnComponentDefinitionModelHandler
 Handler responsible for managing a DgnModel which can serve as a "definition model" for parametric modeling. More...
 
struct  ParameterValue
 ParameterValue holds the value of a single parameter, in invariant units: Distance => in meters Angle => in degrees Area => in square meters. More...
 
struct  IParameterValues
 Interface adopted by an object which supplies values for parameters. More...
 
struct  IParameterSet
 A named set of parameter values, representing a "variation" on a parametric model. More...
 
struct  IParameterSetIterator
 Provides iteration over the parameter sets in an IParameterSetCollection. More...
 
struct  IParameterSetCollection
 A collection of parameter sets. More...
 
struct  ParameterDefinition
 Defines the metadata describing a parameter. More...
 
struct  IParameterDefinitionsIterator
 Provides iteration over the parameter definitions within an IParameterDefinitions collection. More...
 
struct  IActiveParameters
 Holds the "active" values of the parameters within a parametric model. More...
 
struct  ParameterCsvSectionPresenceFlags
 A bitfield-like structure which defines which sections are included in CSV representing a model's parametric settings. More...
 
struct  ParameterCsvReadContext
 Provides a context in which the contents of a .csv file containing parametric model settings can be read, specifying the sections of the CSV which are to be read from the .csv file and providing the ability to look up the Item Type specified in the .csv. More...
 
struct  IParameterDefinitions
 A read-only collection of parameter definitions. More...
 
struct  IEditParameterDefinitions
 Provides all of the query functionality of IParameterDefinitions, as well as methods for modifying the parameter definitions. More...
 
struct  PropertyBindingSpec
 Defines the dependent end of a property binding. More...
 

Enumerations

enum  UpdateParametricCellDefStatus {
  Success = SUCCESS, SchemasDiffer = 1, ReadOnly, CellNotFound,
  Error = ERROR
}
 Return status codes produced when updating a parametric cell definition. More...
 
enum  ParameterStatus {
  Success = SUCCESS, DuplicateName = 1, InvalidName, InvalidParameterDefinition,
  ParameterNotFound, OperationInvalidForDomainParameter, InvalidParameterValues, ParameterSetNotFound,
  InvalidCellDefinition, MismatchedTypes, ReadOnly, RecursiveCellDefinition,
  Error = ERROR
}
 Return status codes for Parametric Modeling-related functions. More...
 
enum  ParameterType {
  Custom = 0, Distance, Angle, Scalar,
  Integer, Boolean, Area, String,
  Unknown = 0xFF
}
 The set of types which are considered meaningful for parametric modeling. More...
 
enum  ParameterUnits : UInt8 { Storage = 0, Invariant = 1, Model = 2 }
 Identifies the class of units in which the value of a parameter is specified. More...
 
enum  ParameterCsvSection {
  ItemType = 0, LocalVariables = 1, Expressions = 2, ActiveValues = 3,
  Variations = 4, WorkingUnits = 5, Visibility = 6, Scope = 7
}
 Identifies a section of a .csv file containing exported parametric model settings. More...
 

Detailed Description

Provides facilities for using variables and variations to define parametric geometry.

Parametric Modeling allows the geometry within a model to be driven by parameters ("variables") defined for that model. In general, this is accomplished by:

Optionally, multiple Parameter Sets ("variations") can be defined within the model specifying particular named combinations of parameter values. A Parameter Set can be applied to the model to update its geometry to the specific configuration defined by the Parameter Set.

Any type of model (excluding the DictionaryModel) can support variables. Additionally, if the model's cell type is set to "Parametric", its variables and variations will be transferred to parametric cells created from the model.

The value of a parameter can be expressed as an equation using IParameterExpression. Equations can combine parameters, arithmetic operators, constants like pi, and a number of functions.

An ItemType can be associated to a model's parameters using IEditParameterDefinitions::SetDomainParameters such that each property of the ItemType which is of a type usable for modeling (see ParameterType enum) will be treated as a parameter and can be associated to constraints, used within expressions, and so on.

See also
Parameter Expressions
Parametric Cells
2D Constraint Modeling
Constraint3d
Item Types

Enumeration Type Documentation

enum ParameterCsvSection
strong

Identifies a section of a .csv file containing exported parametric model settings.

Each section contains data of a particular type.

Enumerator
ItemType 
LocalVariables 

This section contains he name of the Item Type associated to the model's parameters.

Expressions 

This section contains a row for each of the local ("working") parameters defined on the model.

ActiveValues 

This section contains a row for each expression associated to a parameter.

Variations 

This section contains the active values of each parameter.

WorkingUnits 

This section contains a row for each IParameterSet defined in the model.

Visibility 

This section contains a conversion factor for the working units of the model.

Scope 

This section contains the visibility flags for each parameter.

enum ParameterStatus
strong

Return status codes for Parametric Modeling-related functions.

Enumerator
Success 

Operation succeeded.

DuplicateName 

Name rejected because it is not unique.

InvalidName 

Name rejected because it is not valid.

InvalidParameterDefinition 

ParameterDefinition is not valid.

ParameterNotFound 

Parameter does not exist.

OperationInvalidForDomainParameter 

Operation cannot be performed on a domain parameter.

InvalidParameterValues 

Parameter values are not valid.

ParameterSetNotFound 

Parameter set does not exist.

InvalidCellDefinition 

Parametric cell definition is invalid.

MismatchedTypes 

A value was not of the type required by an operation.

ReadOnly 

An attempt was made to modify a read-only object.

RecursiveCellDefinition 

Attempting to create a parametric cell which contains an instance of a parametric cell with the same name.

Error 

Unspecified error.

enum ParameterType
strong

The set of types which are considered meaningful for parametric modeling.

Enumerator
Custom 

some type supported by ECObjects but not meaningful for parametrics

Distance 

double, in some units of length

Angle 

double, in some angular units

Scalar 

double, unitless

Integer 

signed 32-bit integer, unitless

Boolean 

true/false

Area 

double, in some square units of length

String 

text string

Unknown 

unrecognized or invalid type

enum ParameterUnits : UInt8
strong

Identifies the class of units in which the value of a parameter is specified.

Enumerator
Storage 

The units in which the value is stored (no conversions applied).

Invariant 

Distances: meters. Angles: degrees. Areas: square meters.

Model 

Distances: UORs. Angles: radians. Areas: square UORs.

enum UpdateParametricCellDefStatus
strong

Return status codes produced when updating a parametric cell definition.

Enumerator
Success 

Operation succeeded.

SchemasDiffer 

ECSchema referenced by updated cell definition differs from that stored in the active file. One or the other must be updated so they match.

ReadOnly 

Read-only data cannot be updated.

CellNotFound 

Cell definition to update does not exist.

Error 

Unspecified error.


Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.