Skip to content

Commit 48c765f

Browse files
[API-482] Updated version and documentation for multi layer cover controller (#294)
* [API-482] Updated version and documentation for multi layer cover controller * [API-482] [API-560] Updated api version and removed irrelevant C++ oriented method
1 parent b9d12bb commit 48c765f

5 files changed

Lines changed: 304 additions & 2 deletions

File tree

docs/documentation/enums.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,27 @@
6060
show_root_heading: false
6161
show_source: true
6262

63-
## Multi Layer Cover Type
63+
## Multi Layer Type
6464

6565
::: cadwork.multi_layer_type
6666
rendering:
6767
show_root_heading: false
6868
show_source: true
6969

70+
## Multi Layer Cover Subtype
71+
72+
::: cadwork.multi_layer_subtype
73+
rendering:
74+
show_root_heading: false
75+
show_source: true
76+
77+
## Multi Layer Cover Type
78+
79+
::: cadwork.multi_layer_cover_type
80+
rendering:
81+
show_root_heading: false
82+
show_source: true
83+
7084
## BIMteam upload
7185

7286
::: cadwork.bim_team_upload_result_code

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "cwapi3d"
3-
version = "32.301.0"
3+
version = "32.401.0"
44
authors = [{ name = "Cadwork", email = "it@cadwork.ca" }]
55
requires-python = ">= 3.12"
66
description = 'Python bindings for CwAPI3D'
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from enum import IntEnum, unique
2+
3+
4+
@unique
5+
class multi_layer_cover_type(IntEnum):
6+
"""multi layer cover type
7+
8+
Examples:
9+
>>> cadwork.multi_layer_cover_type.framedWall
10+
framedWall
11+
"""
12+
framedWall = 0
13+
""""""
14+
solidWall = 1
15+
""""""
16+
logWall = 2
17+
""""""
18+
framedRoof = 3
19+
""""""
20+
solidRoof = 4
21+
""""""
22+
framedFloor = 5
23+
""""""
24+
solidFloor = 6
25+
""""""
26+
27+
def __int__(self) -> int:
28+
return self.value
29+
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from enum import IntEnum, unique
2+
3+
4+
@unique
5+
class multi_layer_subtype(IntEnum):
6+
"""multi layer subtype
7+
8+
Examples:
9+
>>> cadwork.multi_layer_subtype.undefined
10+
undefined
11+
"""
12+
undefined = 0
13+
""""""
14+
loadBearingFrameStructure = 1
15+
""""""
16+
solidStructure = 2
17+
""""""
18+
straightEdge = 3
19+
""""""
20+
biasEdge = 4
21+
""""""
22+
vertical = 5
23+
""""""
24+
horizontal = 6
25+
""""""
26+
air = 7
27+
""""""
28+
nonLoadBearingFrameStructure = 8
29+
""""""
30+
31+
def __int__(self) -> int:
32+
return self.value
33+

src/multi_layer_cover_controller/__init__.pyi

Lines changed: 226 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from typing import List
2+
from cadwork import multi_layer_cover_type
23
from cadwork.api_types import *
34
from cadwork.multi_layer_type import multi_layer_type
45

@@ -368,3 +369,228 @@ def get_cover_color(set_id: MultiLayerSetId) -> ColorId:
368369
Returns:
369370
The cover color.
370371
"""
372+
373+
def get_multi_layer_framed_floors() -> List[MultiLayerSetId]:
374+
"""Gets all framed multi layer floor ids.
375+
376+
Examples:
377+
>>> floor_ids = mlc.get_multi_layer_framed_floors()
378+
>>> print(f"Found {len(floor_ids)} multi-layer floor definitions")
379+
>>> for floor_id in floor_ids:
380+
... name = mlc.get_multi_layer_set_name(floor_id)
381+
... print(f"Floor ID: {floor_id}, Name: {name}")
382+
383+
Returns:
384+
The multi layer floor ids.
385+
"""
386+
387+
def create_multi_layer_framed_floor(set_name: str) -> MultiLayerSetId:
388+
"""Creates a new multi layer floor with given name and default values.
389+
390+
Parameters:
391+
set_name: The multi layer set name.
392+
393+
Examples:
394+
>>> set_id = mlc.create_multi_layer_framed_floor("Standard Floor")
395+
>>> print(f"Created new multi-layer floor with ID: {set_id}")
396+
397+
Returns:
398+
The multi layer set id.
399+
"""
400+
401+
def get_multi_layer_framed_roofs() -> List[MultiLayerSetId]:
402+
"""Gets all multi layer roof ids.
403+
404+
Examples:
405+
>>> roof_ids = mlc.get_multi_layer_framed_roofs()
406+
>>> print(f"Found {len(roof_ids)} multi-layer roof definitions")
407+
>>> for roof_id in roof_ids:
408+
... name = mlc.get_multi_layer_set_name(roof_id)
409+
... print(f"Roof ID: {roof_id}, Name: {name}")
410+
411+
Returns:
412+
The multi layer roof ids.
413+
"""
414+
415+
def get_multi_layer_solid_floors() -> List[MultiLayerSetId]:
416+
"""Gets all solid multi layer floor ids.
417+
418+
Examples:
419+
>>> floor_ids = mlc.get_multi_layer_solid_floors()
420+
>>> print(f"Found {len(floor_ids)} multi-layer floor definitions")
421+
>>> for floor_id in floor_ids:
422+
... name = mlc.get_multi_layer_set_name(floor_id)
423+
... print(f"Floor ID: {floor_id}, Name: {name}")
424+
425+
Returns:
426+
The multi layer floor ids.
427+
"""
428+
429+
def create_multi_layer_solid_floor(set_name: str) -> MultiLayerSetId:
430+
"""Creates a new multi layer solid floor with given name and default values.
431+
432+
Parameters:
433+
set_name: The multi layer set name.
434+
435+
Examples:
436+
>>> set_id = mlc.create_multi_layer_solid_floor("Standard Solid Floor")
437+
>>> print(f"Created new multi-layer solid floor with ID: {set_id}")
438+
439+
Returns:
440+
The multi layer set id.
441+
"""
442+
443+
def create_multi_layer_framed_roof(set_name: str) -> MultiLayerSetId:
444+
"""Creates a new multi layer roof with given name and default values.
445+
446+
Parameters:
447+
set_name: The multi layer set name.
448+
449+
Examples:
450+
>>> set_id = mlc.create_multi_layer_framed_roof("Pitched Roof")
451+
>>> print(f"Created new multi-layer roof with ID: {set_id}")
452+
453+
Returns:
454+
The multi layer set id.
455+
"""
456+
457+
def create_multi_layer_framed_wall(set_name: str) -> MultiLayerSetId:
458+
"""Creates a new multi layer wall with given name and default values.
459+
460+
Parameters:
461+
set_name: The multi layer set name.
462+
463+
Examples:
464+
>>> set_id = mlc.create_multi_layer_framed_wall("Standard Wall")
465+
>>> print(f"Created new multi-layer wall with ID: {set_id}")
466+
467+
Returns:
468+
The multi layer set id.
469+
"""
470+
471+
def get_multi_layer_sets() -> List[MultiLayerSetId]:
472+
"""Gets all multi layer set ids of all types.
473+
474+
Examples:
475+
>>> all_ids = mlc.get_multi_layer_sets()
476+
>>> print(f"Found {len(all_ids)} multi-layer definitions in total")
477+
>>> for set_id in all_ids:
478+
... name = mlc.get_multi_layer_set_name(set_id)
479+
... print(f"Set ID: {set_id}, Name: {name}")
480+
481+
Returns:
482+
The multi layer set ids.
483+
"""
484+
485+
def create_multi_layer_by_cover_type(set_name: str, cover_type: multi_layer_cover_type) -> MultiLayerSetId:
486+
"""Creates a new multi layer set of specified type with given name and default values.
487+
488+
Parameters:
489+
set_name: The multi layer set name.
490+
cover_type: The cover type.
491+
492+
Examples:
493+
>>> set_id = mlc.create_multi_layer_by_cover_type("Custom Solid Wall", cadwork.multi_layer_cover_type.solidWall)
494+
>>> print(f"Created new multi-layer set with ID: {set_id}")
495+
496+
Returns:
497+
The multi layer set id.
498+
"""
499+
500+
def get_multi_layer_sets_for_cover_type(cover_type: multi_layer_cover_type) -> List[MultiLayerSetId]:
501+
"""Gets all multi layer set ids of specified cover type.
502+
503+
Parameters:
504+
cover_type: The cover type.
505+
506+
Examples:
507+
>>> set_ids = mlc.get_multi_layer_sets_for_cover_type(cadwork.multi_layer_cover_type.solidWall)
508+
509+
Returns:
510+
The multi layer set ids.
511+
"""
512+
513+
514+
def get_multi_layer_log_walls() -> List[MultiLayerSetId]:
515+
"""Gets all multi layer log wall ids.
516+
517+
Examples:
518+
>>> log_wall_ids = mlc.get_multi_layer_log_walls()
519+
>>> print(f"Found {len(log_wall_ids)} multi-layer log wall definitions")
520+
>>> for log_wall_id in log_wall_ids:
521+
... name = mlc.get_multi_layer_set_name(log_wall_id)
522+
... print(f"Log Wall ID: {log_wall_id}, Name: {name}")
523+
524+
Returns:
525+
The multi layer log wall ids.
526+
"""
527+
528+
def create_multi_layer_log_wall(set_name: str) -> MultiLayerSetId:
529+
"""Creates a new multi layer log wall with given name and default values.
530+
531+
Parameters:
532+
set_name: The multi layer set name.
533+
534+
Examples:
535+
>>> set_id = mlc.create_multi_layer_log_wall("Standard Log Wall")
536+
>>> print(f"Created new multi-layer log wall with ID: {set_id}")
537+
538+
Returns:
539+
The multi layer set id.
540+
"""
541+
542+
def get_multi_layer_solid_roofs() -> List[MultiLayerSetId]:
543+
"""Gets all multi layer solid roof ids.
544+
545+
Examples:
546+
>>> solid_roof_ids = mlc.get_multi_layer_solid_roofs()
547+
>>> print(f"Found {len(solid_roof_ids)} multi-layer solid roof definitions")
548+
>>> for solid_roof_id in solid_roof_ids:
549+
... name = mlc.get_multi_layer_set_name(solid_roof_id)
550+
... print(f"Solid Roof ID: {solid_roof_id}, Name: {name}")
551+
552+
Returns:
553+
The multi layer solid roof ids.
554+
"""
555+
556+
def create_multi_layer_solid_roof(set_name: str) -> MultiLayerSetId:
557+
"""Creates a new multi layer solid roof with given name and default values.
558+
559+
Parameters:
560+
set_name: The multi layer set name.
561+
562+
Examples:
563+
>>> set_id = mlc.create_multi_layer_solid_roof("Standard Solid Roof")
564+
>>> print(f"Created new multi-layer solid roof with ID: {set_id}")
565+
566+
Returns:
567+
The multi layer set id.
568+
"""
569+
570+
def get_multi_layer_solid_walls() -> List[MultiLayerSetId]:
571+
"""Gets all multi layer solid wall ids.
572+
573+
Examples:
574+
>>> solid_wall_ids = mlc.get_multi_layer_solid_walls()
575+
>>> print(f"Found {len(solid_wall_ids)} multi-layer solid wall definitions")
576+
>>> for solid_wall_id in solid_wall_ids:
577+
... name = mlc.get_multi_layer_set_name(solid_wall_id)
578+
... print(f"Solid Wall ID: {solid_wall_id}, Name: {name}")
579+
580+
Returns:
581+
The multi layer solid wall ids.
582+
"""
583+
584+
def create_multi_layer_solid_wall(set_name: str) -> MultiLayerSetId:
585+
"""Creates a new multi layer solid wall with given name and default values.
586+
587+
Parameters:
588+
set_name: The multi layer set name.
589+
590+
Examples:
591+
>>> set_id = mlc.create_multi_layer_solid_wall("Standard Solid Wall")
592+
>>> print(f"Created new multi-layer solid wall with ID: {set_id}")
593+
594+
Returns:
595+
The multi layer set id.
596+
"""

0 commit comments

Comments
 (0)