The collection of calls that allow reading, writing and modification of the design tree dedicated to Classes.

This call returns next iterator of EXPRESS schema declarations for entities and types. If the input iterator is NULL it returns first iterator. If the input iterator is last it returns NULL. The declaration can be ENTITY, TYPE ENUM, TYPE SELECT, or defined TYPE. Use engiGetDeclarationFromIterator to access the further information.

This call returns handle to the EXPRESS schema declaration from iterator. The declaration can be ENTITY, TYPE ENUM, TYPE SELECT, or defined TYPE. Use engiGetDeclarationType to access the further information. Use engiGetNextTypeDeclarationIterator to iterate declarations.

This call iterates EXPRESS schema declarations of FUNCTION, PROCEDURE or RULE. If prev is NULL it returns first declaration of above kinds. If prev is the last declaration it returns NULL. Use engiGetDeclarationType to access the further information.

This call returns a type of the EXPRESS schema declarations from its handle. The following functions can be used to get further information ENTITY: this SchemaDecl can be casted to SdaiEntity and used in engiGetEntityName and any other entity inquiry function TYPE ENUM: engiGetEnumerationElement TYPE SELECT: engiGetSelectElement DEFINED_TYPE: engiGetDefinedType FUNCTION, PROCEDURE, RULE, WHERE_RULE: engiGetScriptText Use engiGetTypeDeclarationFromIterator or engiGetSchemaScriptDeclarationByIterator to obtain declaration handle.

This call returns a name of the enumeration element with the given index (zero based). It returns NULL if the index out of range.

This call returns a declaration handle of the select element with the given index (zero based). It returns 0 if the index out of range.

This call returns a simple type for defined type handle and can inquire referenced type, if any.

This call returns name and body text for entity local (where) rule, schema rule, function or procedure.

This function can evaluate EXPRESS expression for entity where rule or derived attribute, valueType, value and return type work similary to sdaiGetAttr.

This call retrieves a handle to an entity based on a given entity name.

This call retrieves a handle to an entity composed of the supplied simple entity types.

This call retrieves a handle to an entity composed of the supplied simple entity types.

This call retrieves a model based on a given entity handle.

Get a position in a step file record where the value of the attribute is stored for simple instance or for component of complex instance. In case of complex entities 'entity' is a component of the complex entity. The position is 0-based. Returns -1 if the attribute has no slot to store value (inverse, pure derived or irrelevant attribute) or when 'entity' is a complex entity.

Returns the total number of entities within the loaded schema.

This call returns a specific entity based on an index, the index needs to be 0 or higher but lower then the number of entities in the loaded schema.

This call retrieves an aggregation that contains all instances of the entity given.

This call retrieves an aggregation that contains all instances of the entity given. Technically sdaiGetEntityExtentBN will transform into the following call

    sdaiGetEntityExtent(
            model,
            sdaiGetEntity(
                    model,
                    entityName
                )
        );

This call can be used to get the name of the given entity.

This call can be used to get the name of the given entity.

This call returns the number of arguments, this includes the arguments of its (nested) parents and inverse arguments.

This call returns the number of attributes, inclusion of parents and inverse depends on includeParent and includeInverse values.

Returns the first parent entity, for example the parent of IfcObject is IfcObjectDefinition, of IfcObjectDefinition is IfcRoot and of IfcRoot is 0.

Returns number of parent entities.

Returns the N-th parent of entity or NULL if index exceeds number of parents.

Checks if the entity is a supertype of another entity. An entity is supertype of itself.

This function checks if the attribute is derived and returns a script to be used to calculate the value of the attribute. If entity is NULL it checks declaration in defining entity (the most common supertype where the attribute is first declared), otherwise it also checks the actual redeclaration for specified entity.

This call can be used to check if an attribute is defined schema wise in the context of a certain entity. Technically engiGetAttrDerivedBN will transform into the following call

    engiGetAttrDerived(
            entity,
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                )
        );

This call can be used to check if an attribute is an inverse relation

This call can be used to check if an attribute is an inverse relation. Technically engiIsAttrInverseBN will transform into the following call

    engiIsAttrInverse(
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                )
        );

This call can be used to check if an attribute is optional.

This call can be used to check if an attribute is optional. Technically engiIsAttrOptionalBN will transform into the following call

    engiIsAttrOptional(
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                )
        );

Iterates actual attribute redeclarations for given entity. sdaiGetAttrDefinition and other functions returns the first definition in the most common supertype. This function allow to explore redeclarations by subtypes.

This call can be used to get the domain of an attribute.

This call can be used to get the domain of an attribute. Technically engiGetAttrDomainNameBN will transform into the following call

    engiGetAttrDomainName(
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                ),
            domainName
        );

This call can be used to check if an entity is abstract.

This call can be used to check if an entity is abstract. Technically engiIsEntityAbstractBN will transform into the following call

    engiIsEntityAbstract(
            sdaiGetEntity(
                    model,
                    entityName
                )
        );

Allows to retrieve enumeration values of an attribute by index.

Iterates attribute definition of the entity. Includes explicit, inverse and derived attributes defined by this or parent entities. If a explicit attribute is also known as derived it's reported ones as explicit. Returns first attribute if prev is NULL. Returns NULL when prev is the last attribute.

...

Iterates unique rules of the entity. Includes this but not parent entities. Returns first rule if prev is NULL. Returns NULL when prev is the last rule.

Iterates attributes of unique rule. Returns first attribute name if prev is NULL. Returns NULL when prev is the name of the last attribute.

Iterates where rules of the entity or defined type. Declaration can be ENTITY or DEFINED_TYPE. Includes this but not parent entities or types. Returns first rule if prev is NULL. Returns NULL when prev is the last rule. Use engiGetScriptText to get further information.