69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
# Block Operations Tools (7)
|
|
|
|
Blocks are reusable named groups of entities. A **block definition** is the template; a **block reference** (INSERT entity) is a placed instance with position, scale, and rotation.
|
|
|
|
---
|
|
|
|
## block_list
|
|
No parameters. Returns all block definitions: `{name, origin, attribute_count, entity_count, is_xref, description}`.
|
|
|
|
## block_insert
|
|
Place a block reference in the drawing.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `name` | `str` | Block definition name (must exist) |
|
|
| `x, y` | `float` | Insertion point |
|
|
| `x_scale` | `float` | X scale factor (default: 1.0) |
|
|
| `y_scale` | `float` | Y scale factor (default: 1.0) |
|
|
| `rotation` | `float` | Rotation in degrees (default: 0) |
|
|
| `layer` | `str \| null` | Target layer |
|
|
|
|
Returns entity info with handle (type: INSERT).
|
|
|
|
## block_explode
|
|
Decompose a block reference into individual entities.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `handle` | `str` | Block reference (INSERT entity) handle |
|
|
|
|
Returns list of new entity handles created from explosion.
|
|
|
|
## block_get_attributes
|
|
Read attribute values from a block reference.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `handle` | `str` | Block reference handle |
|
|
|
|
Returns `{tag: value}` dict of all attributes.
|
|
|
|
## block_set_attributes
|
|
Write attribute values to a block reference.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `handle` | `str` | Block reference handle |
|
|
| `attributes` | `dict` | `{tag: value}` pairs to set |
|
|
|
|
## block_create_from_entities
|
|
Create a new block definition from existing entities.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `name` | `str` | New block definition name |
|
|
| `handles` | `list[str]` | Entity handles to include |
|
|
| `base_x, base_y` | `float` | Block base/insertion point |
|
|
|
|
Entities are moved into the block definition.
|
|
|
|
## block_find_references
|
|
Find all INSERT entities that reference a specific block.
|
|
|
|
| Param | Type | Description |
|
|
|-------|------|-------------|
|
|
| `name` | `str` | Block definition name |
|
|
|
|
Returns list of block reference entity infos.
|