pytabs.area_obj

 1# pyTABS - ETABS .NET API python wrapper
 2# AreaObj - cAreaObj interface 
 3__all__ = ['AreaObj']
 4
 5# import ETABS namespace and pyTABS error handler
 6from pytabs.etabs_config import *
 7from pytabs.error_handle import *
 8
 9# import typing
10from typing import TypedDict
11
12
13class AreaObjectLabelData(TypedDict):
14    """TypedDict class for Area object label data return"""
15    area_name : str
16    area_label : str
17    area_story : str
18
19
20class AreaObj:
21    """AreaObj interface"""
22    def __init__(self, sap_model : etabs.cSapModel) -> None:
23        # link of SapModel interface
24        self.sap_model = sap_model
25        # create AreaObj interface
26        self.area_obj = etabs.cAreaObj(self.sap_model.AreaObj)
27        
28        # relate relevant ETABS enumerations
29        self.eWallPierRebarLayerType = etabs.eWallPierRebarLayerType
30        """EtabsModel `WallPierRebarLayerType` enumeration"""
31        self.eWallSpandrelRebarLayerType = etabs.eWallSpandrelRebarLayerType
32        """EtabsModel `WallSpandrelRebarLayerType` enumeration"""
33
34
35    def get_label_from_name(self, area_name : str) -> AreaObjectLabelData:
36        """Retrieves the label and story for a unique area object name.
37
38        :param area_name: name of the area object
39        :type area_name: str
40        :return: label and story of area object name
41        :rtype: `AreaObjectLabelData`
42        """
43        area_label = str()
44        area_story = str()
45        [ret, area_label, area_story] = self.area_obj.GetLabelFromName(area_name, area_label, area_story)
46        handle(ret)
47        return {'area_name': area_name,
48                'area_label': area_label,
49                'area_story': area_story}
50
51
52    def get_name_list_on_story(self, story_name: str) -> list[str]:
53        """Retrieves the names of the defined area objects on a given story.
54
55        :param story_name: name of an existing story
56        :type story_name: str
57        :return: area object names on existing story
58        :rtype: list[str]
59        """
60        number_names = int()
61        area_names = [str()]
62        [ret, number_names, area_names] = self.area_obj.GetNameListOnStory(story_name, number_names, area_names)
63        handle(ret)
64        return list(area_names)
65
66
67    def set_group_assign(self, name : str, group_name : str, remove : bool = False, item_type: etabs.eItemType = etabs.eItemType.Objects) -> None:
68        """Adds or removes area objects from a specified group.
69
70        :param name: name of an existing area object or group depending on the value of item_type 
71        :type name: str
72        :param group_name: name of an existing group to which the assignment is made 
73        :type group_name: str
74        :param remove: `True` for add, False for remove, defaults to `False`
75        :type remove: bool, optional
76        :param item_type: one of eItemType enumeration (`Objects` : area object specified by name is added/removed from group, `Group` : all area objects in the group specified by name are added/removed from group, `SelectedObjects` : all selected area objects are added/removed from group, name is ignored), defaults to eItemType.Objects
77        :type item_type: eItemType, optional
78        """
79        handle(self.area_obj.SetGroupAssign(name, group_name, remove, item_type))
class AreaObj:
21class AreaObj:
22    """AreaObj interface"""
23    def __init__(self, sap_model : etabs.cSapModel) -> None:
24        # link of SapModel interface
25        self.sap_model = sap_model
26        # create AreaObj interface
27        self.area_obj = etabs.cAreaObj(self.sap_model.AreaObj)
28        
29        # relate relevant ETABS enumerations
30        self.eWallPierRebarLayerType = etabs.eWallPierRebarLayerType
31        """EtabsModel `WallPierRebarLayerType` enumeration"""
32        self.eWallSpandrelRebarLayerType = etabs.eWallSpandrelRebarLayerType
33        """EtabsModel `WallSpandrelRebarLayerType` enumeration"""
34
35
36    def get_label_from_name(self, area_name : str) -> AreaObjectLabelData:
37        """Retrieves the label and story for a unique area object name.
38
39        :param area_name: name of the area object
40        :type area_name: str
41        :return: label and story of area object name
42        :rtype: `AreaObjectLabelData`
43        """
44        area_label = str()
45        area_story = str()
46        [ret, area_label, area_story] = self.area_obj.GetLabelFromName(area_name, area_label, area_story)
47        handle(ret)
48        return {'area_name': area_name,
49                'area_label': area_label,
50                'area_story': area_story}
51
52
53    def get_name_list_on_story(self, story_name: str) -> list[str]:
54        """Retrieves the names of the defined area objects on a given story.
55
56        :param story_name: name of an existing story
57        :type story_name: str
58        :return: area object names on existing story
59        :rtype: list[str]
60        """
61        number_names = int()
62        area_names = [str()]
63        [ret, number_names, area_names] = self.area_obj.GetNameListOnStory(story_name, number_names, area_names)
64        handle(ret)
65        return list(area_names)
66
67
68    def set_group_assign(self, name : str, group_name : str, remove : bool = False, item_type: etabs.eItemType = etabs.eItemType.Objects) -> None:
69        """Adds or removes area objects from a specified group.
70
71        :param name: name of an existing area object or group depending on the value of item_type 
72        :type name: str
73        :param group_name: name of an existing group to which the assignment is made 
74        :type group_name: str
75        :param remove: `True` for add, False for remove, defaults to `False`
76        :type remove: bool, optional
77        :param item_type: one of eItemType enumeration (`Objects` : area object specified by name is added/removed from group, `Group` : all area objects in the group specified by name are added/removed from group, `SelectedObjects` : all selected area objects are added/removed from group, name is ignored), defaults to eItemType.Objects
78        :type item_type: eItemType, optional
79        """
80        handle(self.area_obj.SetGroupAssign(name, group_name, remove, item_type))

AreaObj interface

AreaObj(sap_model: ETABSv1.cSapModel)
23    def __init__(self, sap_model : etabs.cSapModel) -> None:
24        # link of SapModel interface
25        self.sap_model = sap_model
26        # create AreaObj interface
27        self.area_obj = etabs.cAreaObj(self.sap_model.AreaObj)
28        
29        # relate relevant ETABS enumerations
30        self.eWallPierRebarLayerType = etabs.eWallPierRebarLayerType
31        """EtabsModel `WallPierRebarLayerType` enumeration"""
32        self.eWallSpandrelRebarLayerType = etabs.eWallSpandrelRebarLayerType
33        """EtabsModel `WallSpandrelRebarLayerType` enumeration"""
eWallPierRebarLayerType

EtabsModel WallPierRebarLayerType enumeration

eWallSpandrelRebarLayerType

EtabsModel WallSpandrelRebarLayerType enumeration

def get_label_from_name(self, area_name: str) -> pytabs.area_obj.AreaObjectLabelData:
36    def get_label_from_name(self, area_name : str) -> AreaObjectLabelData:
37        """Retrieves the label and story for a unique area object name.
38
39        :param area_name: name of the area object
40        :type area_name: str
41        :return: label and story of area object name
42        :rtype: `AreaObjectLabelData`
43        """
44        area_label = str()
45        area_story = str()
46        [ret, area_label, area_story] = self.area_obj.GetLabelFromName(area_name, area_label, area_story)
47        handle(ret)
48        return {'area_name': area_name,
49                'area_label': area_label,
50                'area_story': area_story}

Retrieves the label and story for a unique area object name.

Parameters
  • area_name: name of the area object
Returns

label and story of area object name

def get_name_list_on_story(self, story_name: str) -> list[str]:
53    def get_name_list_on_story(self, story_name: str) -> list[str]:
54        """Retrieves the names of the defined area objects on a given story.
55
56        :param story_name: name of an existing story
57        :type story_name: str
58        :return: area object names on existing story
59        :rtype: list[str]
60        """
61        number_names = int()
62        area_names = [str()]
63        [ret, number_names, area_names] = self.area_obj.GetNameListOnStory(story_name, number_names, area_names)
64        handle(ret)
65        return list(area_names)

Retrieves the names of the defined area objects on a given story.

Parameters
  • story_name: name of an existing story
Returns

area object names on existing story

def set_group_assign( self, name: str, group_name: str, remove: bool = False, item_type: ETABSv1.eItemType = <ETABSv1.eItemType object>) -> None:
68    def set_group_assign(self, name : str, group_name : str, remove : bool = False, item_type: etabs.eItemType = etabs.eItemType.Objects) -> None:
69        """Adds or removes area objects from a specified group.
70
71        :param name: name of an existing area object or group depending on the value of item_type 
72        :type name: str
73        :param group_name: name of an existing group to which the assignment is made 
74        :type group_name: str
75        :param remove: `True` for add, False for remove, defaults to `False`
76        :type remove: bool, optional
77        :param item_type: one of eItemType enumeration (`Objects` : area object specified by name is added/removed from group, `Group` : all area objects in the group specified by name are added/removed from group, `SelectedObjects` : all selected area objects are added/removed from group, name is ignored), defaults to eItemType.Objects
78        :type item_type: eItemType, optional
79        """
80        handle(self.area_obj.SetGroupAssign(name, group_name, remove, item_type))

Adds or removes area objects from a specified group.

Parameters
  • name: name of an existing area object or group depending on the value of item_type
  • group_name: name of an existing group to which the assignment is made
  • remove: True for add, False for remove, defaults to False
  • item_type: one of eItemType enumeration (Objects : area object specified by name is added/removed from group, Group : all area objects in the group specified by name are added/removed from group, SelectedObjects: all selected area objects are added/removed from group, name is ignored), defaults to eItemType.Objects