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

- The type of this property definition
Meaning
API_PropertyStaticBuiltInDefinitionTypeIt is a built-in property (the definition itself is read only). The set of static built-in properties do not change.
API_PropertyDynamicBuiltInDefinitionTypeIt 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_PropertyCustomDefinitionTypeIt 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
Meaning
API_PropertySingleCollectionTypeThe property stores a single value
API_PropertyListCollectionTypeThe property stores a list of values
API_PropertySingleChoiceEnumerationCollectionTypeThe property stores a single value from a list of allowed values
API_PropertyMultipleChoiceEnumerationCollectionTypeThe property stores a subset of values from a list of allowed values
- valueType
- Type of the data that the property stores
Meaning
API_PropertyIntegerValueTypeThe property has integer value(s)
API_PropertyRealValueTypeThe property has real (double) value(s)
API_PropertyBooleanValueTypeThe property has boolean value(s)
API_PropertyStringValueTypeThe property has string value(s)
- measureType

-
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).
Meaning
API_PropertyUndefinedMeasureTypeThe property is in invalid state.
API_PropertyDefaultMeasureTypeThe property doesn’t have special measure.
API_PropertyLengthMeasureTypeThe property has length value.
API_PropertyAreaMeasureTypeThe property has area value.
API_PropertyVolumeMeasureTypeThe property has volume value.
API_PropertyAngleMeasureTypeThe property has angle value.
- defaultValue

- The default value of this property definition.
- availability

- 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

- 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
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