diff --git a/docs/documentation/enums.md b/docs/documentation/enums.md index 614bb71..8b127f0 100644 --- a/docs/documentation/enums.md +++ b/docs/documentation/enums.md @@ -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 diff --git a/pyproject.toml b/pyproject.toml index ae78ed4..d16d272 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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' diff --git a/src/cadwork/multi_layer_cover_type.pyi b/src/cadwork/multi_layer_cover_type.pyi new file mode 100644 index 0000000..c632e97 --- /dev/null +++ b/src/cadwork/multi_layer_cover_type.pyi @@ -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 + diff --git a/src/cadwork/multi_layer_subtype.pyi b/src/cadwork/multi_layer_subtype.pyi new file mode 100644 index 0000000..05ad725 --- /dev/null +++ b/src/cadwork/multi_layer_subtype.pyi @@ -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 + diff --git a/src/multi_layer_cover_controller/__init__.pyi b/src/multi_layer_cover_controller/__init__.pyi index ee46e45..5f84e71 100644 --- a/src/multi_layer_cover_controller/__init__.pyi +++ b/src/multi_layer_cover_controller/__init__.pyi @@ -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 @@ -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. + """ \ No newline at end of file