Write element data
set_element_dataWrite element data. DRY-RUN BY DEFAULT: returns planned changes (current -> new) without touching the model; pass dry_run=false to commit.
Instructions
Write element data. DRY-RUN BY DEFAULT: returns planned changes (current -> new) without touching the model; pass dry_run=false to commit. A change is {guid, property, value}; property takes the addresses get_element_data reads (a property, 'classification:', 'gdl:', 'marker:', 'ifc:.'), so one call can mix kinds. Classification values are an item ID or GUID, null unclassifies. GDL and marker values in metres and radians, an array as the whole list in its own shape (rows for two dimensions; array writes need Tapir 1.7.2), an attribute parameter by index or name. IFC values are text, a number or true/false, with an optional ifc_type (IfcLabel for text by default); Tapir writes IFC properties only in Archicad 27 and older. A commit sends classifications first and reads every change back: 'applied' counts what reads as sent; 'not_applied', changes Archicad answered success for but kept or replaced (a GDL Parameter Script can); 'failed', Archicad's refusals grouped by code and message with a count and sample GUIDs; 'skipped', changes not sent, with the reason (value type, enum, unknown parameter, or an element Archicad would refuse: in another view's database than the active window's, on a hidden or locked layer, inside a hotlinked module, locked with Edit > Locking, or not reserved in Teamwork); 'not_sent' and 'stopped' if a batch was refused outright after earlier batches landed; 'unconfirmed' if the read after the write failed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | ||
| changes | Yes | ||
| dry_run | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||