Properties

Overview

This feature of the Archicad allows one to store user-defined name-value pairs for Model elements. The keys (names) of the properties are represented with Property Definitions, that are stored per project, not per element. The definitions are part of a two-level deep tree structure. On the top level there are Property Groups, which are a collection of definitions with a unique name. The definitions’ name also has to be unique within its group.

The definitions also have descriptions and they store the value type (e.g int, double) and collection type (e.g single value, list) of the data it can store. If a definition is made available for a classification, then all the elements in that classification will have that property – initially with a default value, that is part of the definition.

Properties can also have an enumerated collection type, which means that their values are limited to a finite number of predefined valid values. In this case these predefined values are part of the definition

Handler functions

Please refer to the functions below the header of a thematic group to get details on that topic.

The following functions let you manipulate API_PropertyGroups.

ACAPI_Property_ChangePropertyGroup
ACAPI_Property_CreatePropertyGroup
ACAPI_Property_DeletePropertyGroup
ACAPI_Property_GetPropertyGroup
ACAPI_Property_GetPropertyGroups
ACAPI_Property_Import  Featuring API 21

The following functions let you manipulate API_PropertyDefinitions

ACAPI_Property_ChangePropertyDefinition
ACAPI_Property_CreatePropertyDefinition
ACAPI_Property_DeletePropertyDefinition
ACAPI_Property_GetPropertyDefinition
ACAPI_Property_GetPropertyDefinitions
ACAPI_Property_IsValidValue  API 25 feature

The following functions let you manipulate API_PropertyDefinitions attached to elements.

ACAPI_Element_GetPropertyDefinitions
ACAPI_Element_GetPropertyValuesOfDefaultElem
ACAPI_Element_IsPropertyDefinitionAvailable  Featuring API 21
ACAPI_Element_IsPropertyDefinitionAvailableDefault  Featuring API 21
ACAPI_Element_IsPropertyDefinitionVisible  Featuring API 21
ACAPI_Element_IsPropertyDefinitionVisibleDefault  Featuring API 21

The following functions let you manipulate API_PropertyValues attached to elements.

ACAPI_Element_GetPropertyValues
ACAPI_Element_GetPropertyValuesByGuid
ACAPI_Element_GetPropertiesDefault
ACAPI_Element_SetProperties
ACAPI_Element_SetPropertiesOfDefaultElem Featuring API 22
ACAPI_Element_SetProperty Featuring API 22
ACAPI_Element_IsPropertyDefinitionAvailable
ACAPI_Element_IsPropertyDefinitionAvailableDefault
ACAPI_Element_IsPropertyDefinitionValueEditable Featuring API 22
ACAPI_Element_IsPropertyDefinitionValueEditableDefault Featuring API 22

The following functions let you to efficiently manipulate properties for a list of elements.

ACAPI_ElementList_AddProperty
ACAPI_ElementList_ModifyPropertyValue
ACAPI_ElementList_DeleteProperty

The following functions let you manipulate the properties of the attributes

ACAPI_Attribute_GetPropertyDefinitions  API 23 feature
ACAPI_Attribute_GetPropertyValue  API 23 feature
ACAPI_Attribute_GetPropertyValues  API 23 feature
ACAPI_Attribute_GetPropertyValuesByGuid  API 23 feature
ACAPI_Attribute_SetProperty  API 23 feature
ACAPI_Attribute_SetProperties  API 23 feature
ACAPI_Attribute_IsPropertyDefinitionValueEditable  API 23 feature
ACAPI_Attribute_IsPropertyDefinitionAvailable  API 23 feature
ACAPI_Attribute_IsPropertyDefinitionVisible  API 23 feature

You can find several Goodie functions which help you handle properties more easily here:

ACAPI_Goodies  API 22 feature