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"""
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 toFalse
- 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