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