skppy.data_structure.layers

Layer and LayerFolder data classes.

Layers (called “Tags” in modern SketchUp) control entity visibility. LayerFolders group layers hierarchically.

Example

layer = Layer(id=1, name="Walls", visible=True)
folder = LayerFolder(name="Architecture", visible=True)
folder.child_layer_ids = [1, 2]
class skppy.data_structure.layers.Layer[source]

Bases: object

A SketchUp layer (called “Tag” in modern SketchUp).

Layers control entity visibility. Each entity in a SketchUp model is assigned to exactly one layer.

Parameters:
  • id (int) – Unique layer ID.

  • name (str) – Display name.

  • visible (bool) – Whether the layer is visible.

  • material_id (int or None, optional) – Serialized ID of the layer display material.

  • material (Material or None, optional) – Layer display material used by color-by-layer rendering. Modern files may embed this resource directly in the layer record.

  • page_behavior (int, optional) – Serialized layer page behavior (TAG_LAYER_SCENE_FLAGS).

Examples

>>> layer = Layer(id=1, name="Walls", visible=True)
>>> layer.name
'Walls'
__init__(id: int = 0, name: str = '', visible: bool = True, material_id: int | None = None, material: 'Material' | None = None, page_behavior: int = 0) None
class skppy.data_structure.layers.LayerFolder[source]

Bases: object

A folder for grouping layers hierarchically.

Parameters:
  • name (str) – Display name.

  • visible (bool) – Whether the folder is visible.

  • child_layer_ids (list of int, optional) – IDs of layers directly contained in this folder.

  • child_folders (list of LayerFolder, optional) – Nested sub-folders.

Examples

>>> folder = LayerFolder(name="Architecture", visible=True)
>>> folder.child_layer_ids = [1, 2, 3]
__init__(name: str = '', visible: bool = True, child_layer_ids: List[int] = <factory>, child_folders: List[LayerFolder] = <factory>) None