Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion docs/documentation/enums.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,27 @@
show_root_heading: false
show_source: true

## Multi Layer Cover Type
## Multi Layer Type

::: cadwork.multi_layer_type
rendering:
show_root_heading: false
show_source: true

## Multi Layer Cover Subtype

::: cadwork.multi_layer_subtype
rendering:
show_root_heading: false
show_source: true

## Multi Layer Cover Type

::: cadwork.multi_layer_cover_type
rendering:
show_root_heading: false
show_source: true

## BIMteam upload

::: cadwork.bim_team_upload_result_code
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "cwapi3d"
version = "32.301.0"
version = "32.401.0"
authors = [{ name = "Cadwork", email = "it@cadwork.ca" }]
requires-python = ">= 3.12"
description = 'Python bindings for CwAPI3D'
Expand Down
29 changes: 29 additions & 0 deletions src/cadwork/multi_layer_cover_type.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from enum import IntEnum, unique


@unique
class multi_layer_cover_type(IntEnum):
"""multi layer cover type

Examples:
>>> cadwork.multi_layer_cover_type.framedWall
framedWall
"""
framedWall = 0
""""""
solidWall = 1
""""""
logWall = 2
""""""
framedRoof = 3
""""""
solidRoof = 4
""""""
framedFloor = 5
""""""
solidFloor = 6
""""""

def __int__(self) -> int:
return self.value

33 changes: 33 additions & 0 deletions src/cadwork/multi_layer_subtype.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from enum import IntEnum, unique


@unique
class multi_layer_subtype(IntEnum):
"""multi layer subtype

Examples:
>>> cadwork.multi_layer_subtype.undefined
undefined
"""
undefined = 0
""""""
loadBearingFrameStructure = 1
""""""
solidStructure = 2
""""""
straightEdge = 3
""""""
biasEdge = 4
""""""
vertical = 5
""""""
horizontal = 6
""""""
air = 7
""""""
nonLoadBearingFrameStructure = 8
""""""

def __int__(self) -> int:
return self.value

226 changes: 226 additions & 0 deletions src/multi_layer_cover_controller/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import List
from cadwork import multi_layer_cover_type
from cadwork.api_types import *
from cadwork.multi_layer_type import multi_layer_type

Expand Down Expand Up @@ -368,3 +369,228 @@ def get_cover_color(set_id: MultiLayerSetId) -> ColorId:
Returns:
The cover color.
"""

def get_multi_layer_framed_floors() -> List[MultiLayerSetId]:
"""Gets all framed multi layer floor ids.

Examples:
>>> floor_ids = mlc.get_multi_layer_framed_floors()
>>> print(f"Found {len(floor_ids)} multi-layer floor definitions")
>>> for floor_id in floor_ids:
... name = mlc.get_multi_layer_set_name(floor_id)
... print(f"Floor ID: {floor_id}, Name: {name}")

Returns:
The multi layer floor ids.
"""

def create_multi_layer_framed_floor(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer floor with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_framed_floor("Standard Floor")
>>> print(f"Created new multi-layer floor with ID: {set_id}")

Returns:
The multi layer set id.
"""

def get_multi_layer_framed_roofs() -> List[MultiLayerSetId]:
"""Gets all multi layer roof ids.

Examples:
>>> roof_ids = mlc.get_multi_layer_framed_roofs()
>>> print(f"Found {len(roof_ids)} multi-layer roof definitions")
>>> for roof_id in roof_ids:
... name = mlc.get_multi_layer_set_name(roof_id)
... print(f"Roof ID: {roof_id}, Name: {name}")

Returns:
The multi layer roof ids.
"""

def get_multi_layer_solid_floors() -> List[MultiLayerSetId]:
"""Gets all solid multi layer floor ids.

Examples:
>>> floor_ids = mlc.get_multi_layer_solid_floors()
>>> print(f"Found {len(floor_ids)} multi-layer floor definitions")
>>> for floor_id in floor_ids:
... name = mlc.get_multi_layer_set_name(floor_id)
... print(f"Floor ID: {floor_id}, Name: {name}")

Returns:
The multi layer floor ids.
"""

def create_multi_layer_solid_floor(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer solid floor with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_solid_floor("Standard Solid Floor")
>>> print(f"Created new multi-layer solid floor with ID: {set_id}")

Returns:
The multi layer set id.
"""

def create_multi_layer_framed_roof(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer roof with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_framed_roof("Pitched Roof")
>>> print(f"Created new multi-layer roof with ID: {set_id}")

Returns:
The multi layer set id.
"""

def create_multi_layer_framed_wall(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer wall with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_framed_wall("Standard Wall")
>>> print(f"Created new multi-layer wall with ID: {set_id}")

Returns:
The multi layer set id.
"""

def get_multi_layer_sets() -> List[MultiLayerSetId]:
"""Gets all multi layer set ids of all types.

Examples:
>>> all_ids = mlc.get_multi_layer_sets()
>>> print(f"Found {len(all_ids)} multi-layer definitions in total")
>>> for set_id in all_ids:
... name = mlc.get_multi_layer_set_name(set_id)
... print(f"Set ID: {set_id}, Name: {name}")

Returns:
The multi layer set ids.
"""

def create_multi_layer_by_cover_type(set_name: str, cover_type: multi_layer_cover_type) -> MultiLayerSetId:
"""Creates a new multi layer set of specified type with given name and default values.

Parameters:
set_name: The multi layer set name.
cover_type: The cover type.

Examples:
>>> set_id = mlc.create_multi_layer_by_cover_type("Custom Solid Wall", cadwork.multi_layer_cover_type.solidWall)
>>> print(f"Created new multi-layer set with ID: {set_id}")

Returns:
The multi layer set id.
"""

def get_multi_layer_sets_for_cover_type(cover_type: multi_layer_cover_type) -> List[MultiLayerSetId]:
"""Gets all multi layer set ids of specified cover type.

Parameters:
cover_type: The cover type.

Examples:
>>> set_ids = mlc.get_multi_layer_sets_for_cover_type(cadwork.multi_layer_cover_type.solidWall)

Returns:
The multi layer set ids.
"""


def get_multi_layer_log_walls() -> List[MultiLayerSetId]:
"""Gets all multi layer log wall ids.

Examples:
>>> log_wall_ids = mlc.get_multi_layer_log_walls()
>>> print(f"Found {len(log_wall_ids)} multi-layer log wall definitions")
>>> for log_wall_id in log_wall_ids:
... name = mlc.get_multi_layer_set_name(log_wall_id)
... print(f"Log Wall ID: {log_wall_id}, Name: {name}")

Returns:
The multi layer log wall ids.
"""

def create_multi_layer_log_wall(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer log wall with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_log_wall("Standard Log Wall")
>>> print(f"Created new multi-layer log wall with ID: {set_id}")

Returns:
The multi layer set id.
"""

def get_multi_layer_solid_roofs() -> List[MultiLayerSetId]:
"""Gets all multi layer solid roof ids.

Examples:
>>> solid_roof_ids = mlc.get_multi_layer_solid_roofs()
>>> print(f"Found {len(solid_roof_ids)} multi-layer solid roof definitions")
>>> for solid_roof_id in solid_roof_ids:
... name = mlc.get_multi_layer_set_name(solid_roof_id)
... print(f"Solid Roof ID: {solid_roof_id}, Name: {name}")

Returns:
The multi layer solid roof ids.
"""

def create_multi_layer_solid_roof(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer solid roof with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_solid_roof("Standard Solid Roof")
>>> print(f"Created new multi-layer solid roof with ID: {set_id}")

Returns:
The multi layer set id.
"""

def get_multi_layer_solid_walls() -> List[MultiLayerSetId]:
"""Gets all multi layer solid wall ids.

Examples:
>>> solid_wall_ids = mlc.get_multi_layer_solid_walls()
>>> print(f"Found {len(solid_wall_ids)} multi-layer solid wall definitions")
>>> for solid_wall_id in solid_wall_ids:
... name = mlc.get_multi_layer_set_name(solid_wall_id)
... print(f"Solid Wall ID: {solid_wall_id}, Name: {name}")

Returns:
The multi layer solid wall ids.
"""

def create_multi_layer_solid_wall(set_name: str) -> MultiLayerSetId:
"""Creates a new multi layer solid wall with given name and default values.

Parameters:
set_name: The multi layer set name.

Examples:
>>> set_id = mlc.create_multi_layer_solid_wall("Standard Solid Wall")
>>> print(f"Created new multi-layer solid wall with ID: {set_id}")

Returns:
The multi layer set id.
"""
Loading