API_​PropertyDefinition

A structure representing a property definition.

    typedef struct {
        API_PropertyDefinitionType                definitionType;
        API_Guid                                  guid;
        API_Guid                                  groupGuid;
        GS::UniString                             name;
        GS::UniString                             description;
        API_PropertyCollectionType                collectionType;
        API_VariantType                           valueType;
        API_PropertyMeasureType                   measureType;
        API_PropertyDefaultValue                  defaultValue;
        GS::Array<API_Guid>                       availability;
        GS::Array<API_SingleEnumerationVariant>   possibleEnumValues;
        bool                                      canValueBeEditable;
    } API_PropertyDefinition;
    

 

Members

definitionType API 21
The type of this property definition

API_PropertyDefinitionType

Meaning

API_PropertyStaticBuiltInDefinitionType

It is a built-in property (the definition itself is read only). The set of static built-in properties do not change.

API_PropertyDynamicBuiltInDefinitionType

It is a built-in property (the definition itself is read only). The set of dynamic built-in properties may change as a result of ARCHICAD operations.

API_PropertyCustomDefinitionType

It is a user-defined property definition (can be modified).

guid
The unique identifier of the property definition
groupGuid
The unique identifier of the property group that contains this definition
name
The name of the property definition
description
The description of the property definition
collectionType
The collection type of the property definition

API_PropertyCollectionType

Meaning

API_PropertySingleCollectionType

The property stores a single value

API_PropertyListCollectionType

The property stores a list of values

API_PropertySingleChoiceEnumerationCollectionType

The property stores a single value from a list of allowed values

API_PropertyMultipleChoiceEnumerationCollectionType

The property stores a subset of values from a list of allowed values

valueType
Type of the data that the property stores

API_VariantType

Meaning

API_PropertyIntegerValueType

The property has integer value(s)

API_PropertyRealValueType

The property has real (double) value(s)

API_PropertyBooleanValueType

The property has boolean value(s)

API_PropertyStringValueType

The property has string value(s)

measureType API 22

Measure type of the data that the property stores.

Measure types other than API_PropertyDefaultMeasureType (and API_PropertyUndefinedMeasureType) are only valid for properties which are of a single real type (collectionType is API_PropertySingleCollectionType and valueType is API_PropertyRealValueType).

API_PropertyMeasureType

Meaning

API_PropertyUndefinedMeasureType

The property is in invalid state.

API_PropertyDefaultMeasureType

The property doesn’t have special measure.

API_PropertyLengthMeasureType

The property has length value.

API_PropertyAreaMeasureType

The property has area value.

API_PropertyVolumeMeasureType

The property has volume value.

API_PropertyAngleMeasureType

The property has angle value.

defaultValue API 22
The default value of this property definition.
availability API 21
The list of classification GUIDs this property definition is available for.
possibleEnumValues
The list of available values in case of an enumeration value type.
canValueBeEditable API 21
Specifies if the property values of this definition can possibly be edited. For custom properties it is always true, for built-ins, it might be false.

 

Remarks

Changed in API 22  In ARCHICAD v2018 the defaultValue‘s type has been changed to API_PropertyDefaultValue from API_PropertyValue.

 

Requirements

Version: API 20 or later
Header: APIdefs_Properties.h

 

See Also

API_Property
Properties