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