pytabs.load_patterns
1# pyTABS - ETABS .NET API python wrapper 2# LoadPatterns- cLoadPatterns interface 3__all__ = ['LoadPatterns'] 4 5# import ETABS namespace and pyTABS error handler 6from pytabs.etabs_config import * 7from pytabs.error_handle import * 8 9 10class LoadPatterns: 11 """LoadPatterns interface""" 12 def __init__(self, sap_model : etabs.cSapModel) -> None: 13 # link of SapModel interface 14 self.sap_model = sap_model 15 # create LoadPatterns interface 16 self.load_patterns = etabs.cLoadPatterns(sap_model.LoadPatterns) 17 18 19 def add(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType, self_weight_multiplier : float = 0, add_analysis_case : bool = True): 20 """Adds a new load pattern. 21 22 :param load_pattern_name: name for the new load pattern 23 :type load_pattern_name: str 24 :param load_pattern_type: one of the items in the eLoadPatternType enumeration 25 :type load_pattern_type: eLoadPatternType 26 :param self_weight_multiplier: self weight multiplier for the new load pattern, defaults to 0 27 :type self_weight_multiplier: float, optional 28 :param add_analysis_case: if `True`, a linear static load case corresponding to the new load pattern is added, defaults to `True` 29 :type add_analysis_case: bool, optional 30 """ 31 handle(self.load_patterns.Add(load_pattern_name, load_pattern_type, self_weight_multiplier, add_analysis_case)) 32 33 34 #TODO Add ChangeName method 35 36 37 def count(self) -> int: 38 """Retrieves the number of defined load patterns. 39 40 :return: number of defined load patterns 41 :rtype: int 42 """ 43 return self.load_patterns.Count() 44 45 46 #TODO Add Delete method 47 #TODO GetAutoSeismicCode method 48 #TODO GetAutoWindCode method 49 50 51 def get_type(self, load_pattern_name : str) -> etabs.eLoadPatternType: 52 """Retrieves the load type for a specified load pattern. 53 54 :param load_pattern_name: name of an existing load pattern 55 :type load_pattern_name: str 56 :return: one of the items in the eLoadPatternType enumeration 57 :rtype: eLoadPatternType 58 """ 59 load_pattern_type = etabs.eLoadPatternType.ActiveEarthPressure 60 [ret, load_pattern_type] = self.load_patterns.GetLoadType(load_pattern_name, load_pattern_type) 61 handle(ret) 62 return load_pattern_type 63 64 65 def get_name_list(self) -> list[str]: 66 """Retrieves the names of all defined load cases. 67 68 :return: list of load pattern names 69 :rtype: list[str] 70 """ 71 number_names = int() 72 load_pattern_names = [str()] 73 [ret, number_names, load_pattern_names] = self.load_patterns.GetNameList(number_names, load_pattern_names) 74 handle(ret) 75 return list(load_pattern_names) 76 77 78 def get_self_weight_multiplier(self, load_pattern_name : str) -> float: 79 """Retrieves the self weight multiplier for a specified load pattern. 80 81 :param load_pattern_name: name of an existing load pattern 82 :type load_pattern_name: str 83 :return: self weight multiplier for the specified load pattern 84 :rtype: float 85 """ 86 self_weight_multiplier = float() 87 [ret, self_weight_multiplier] = self.load_patterns.GetSelfWTMultiplier(load_pattern_name, self_weight_multiplier) 88 handle(ret) 89 return self_weight_multiplier 90 91 92 def set_load_type(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType) -> None: 93 """Assigns a load type to a load pattern. 94 95 :param load_pattern_name: name of an existing load pattern 96 :type load_pattern_name: str 97 :param load_pattern_type: one of the items in the `eLoadPatternType` enumeration 98 :type load_pattern_type: eLoadPatternType 99 """ 100 handle(self.load_patterns.SetLoadType(load_pattern_name, load_pattern_type)) 101 102 103 def set_self_weight_multiplier(self, load_pattern_name : str, self_weight_multiplier : float) -> None: 104 """Assigns a self weight multiplier to a load case. 105 106 :param load_pattern_name: name of an existing load pattern 107 :type load_pattern_name: str 108 :param self_weight_multiplier: self weight multiplier for the specified load pattern 109 :type self_weight_multiplier: float 110 """ 111 handle(self.load_patterns.SetSelfWTMultiplier(load_pattern_name, self_weight_multiplier))
class
LoadPatterns:
11class LoadPatterns: 12 """LoadPatterns interface""" 13 def __init__(self, sap_model : etabs.cSapModel) -> None: 14 # link of SapModel interface 15 self.sap_model = sap_model 16 # create LoadPatterns interface 17 self.load_patterns = etabs.cLoadPatterns(sap_model.LoadPatterns) 18 19 20 def add(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType, self_weight_multiplier : float = 0, add_analysis_case : bool = True): 21 """Adds a new load pattern. 22 23 :param load_pattern_name: name for the new load pattern 24 :type load_pattern_name: str 25 :param load_pattern_type: one of the items in the eLoadPatternType enumeration 26 :type load_pattern_type: eLoadPatternType 27 :param self_weight_multiplier: self weight multiplier for the new load pattern, defaults to 0 28 :type self_weight_multiplier: float, optional 29 :param add_analysis_case: if `True`, a linear static load case corresponding to the new load pattern is added, defaults to `True` 30 :type add_analysis_case: bool, optional 31 """ 32 handle(self.load_patterns.Add(load_pattern_name, load_pattern_type, self_weight_multiplier, add_analysis_case)) 33 34 35 #TODO Add ChangeName method 36 37 38 def count(self) -> int: 39 """Retrieves the number of defined load patterns. 40 41 :return: number of defined load patterns 42 :rtype: int 43 """ 44 return self.load_patterns.Count() 45 46 47 #TODO Add Delete method 48 #TODO GetAutoSeismicCode method 49 #TODO GetAutoWindCode method 50 51 52 def get_type(self, load_pattern_name : str) -> etabs.eLoadPatternType: 53 """Retrieves the load type for a specified load pattern. 54 55 :param load_pattern_name: name of an existing load pattern 56 :type load_pattern_name: str 57 :return: one of the items in the eLoadPatternType enumeration 58 :rtype: eLoadPatternType 59 """ 60 load_pattern_type = etabs.eLoadPatternType.ActiveEarthPressure 61 [ret, load_pattern_type] = self.load_patterns.GetLoadType(load_pattern_name, load_pattern_type) 62 handle(ret) 63 return load_pattern_type 64 65 66 def get_name_list(self) -> list[str]: 67 """Retrieves the names of all defined load cases. 68 69 :return: list of load pattern names 70 :rtype: list[str] 71 """ 72 number_names = int() 73 load_pattern_names = [str()] 74 [ret, number_names, load_pattern_names] = self.load_patterns.GetNameList(number_names, load_pattern_names) 75 handle(ret) 76 return list(load_pattern_names) 77 78 79 def get_self_weight_multiplier(self, load_pattern_name : str) -> float: 80 """Retrieves the self weight multiplier for a specified load pattern. 81 82 :param load_pattern_name: name of an existing load pattern 83 :type load_pattern_name: str 84 :return: self weight multiplier for the specified load pattern 85 :rtype: float 86 """ 87 self_weight_multiplier = float() 88 [ret, self_weight_multiplier] = self.load_patterns.GetSelfWTMultiplier(load_pattern_name, self_weight_multiplier) 89 handle(ret) 90 return self_weight_multiplier 91 92 93 def set_load_type(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType) -> None: 94 """Assigns a load type to a load pattern. 95 96 :param load_pattern_name: name of an existing load pattern 97 :type load_pattern_name: str 98 :param load_pattern_type: one of the items in the `eLoadPatternType` enumeration 99 :type load_pattern_type: eLoadPatternType 100 """ 101 handle(self.load_patterns.SetLoadType(load_pattern_name, load_pattern_type)) 102 103 104 def set_self_weight_multiplier(self, load_pattern_name : str, self_weight_multiplier : float) -> None: 105 """Assigns a self weight multiplier to a load case. 106 107 :param load_pattern_name: name of an existing load pattern 108 :type load_pattern_name: str 109 :param self_weight_multiplier: self weight multiplier for the specified load pattern 110 :type self_weight_multiplier: float 111 """ 112 handle(self.load_patterns.SetSelfWTMultiplier(load_pattern_name, self_weight_multiplier))
LoadPatterns interface
def
add( self, load_pattern_name: str, load_pattern_type: ETABSv1.eLoadPatternType, self_weight_multiplier: float = 0, add_analysis_case: bool = True):
20 def add(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType, self_weight_multiplier : float = 0, add_analysis_case : bool = True): 21 """Adds a new load pattern. 22 23 :param load_pattern_name: name for the new load pattern 24 :type load_pattern_name: str 25 :param load_pattern_type: one of the items in the eLoadPatternType enumeration 26 :type load_pattern_type: eLoadPatternType 27 :param self_weight_multiplier: self weight multiplier for the new load pattern, defaults to 0 28 :type self_weight_multiplier: float, optional 29 :param add_analysis_case: if `True`, a linear static load case corresponding to the new load pattern is added, defaults to `True` 30 :type add_analysis_case: bool, optional 31 """ 32 handle(self.load_patterns.Add(load_pattern_name, load_pattern_type, self_weight_multiplier, add_analysis_case))
Adds a new load pattern.
Parameters
- load_pattern_name: name for the new load pattern
- load_pattern_type: one of the items in the eLoadPatternType enumeration
- self_weight_multiplier: self weight multiplier for the new load pattern, defaults to 0
- add_analysis_case: if
True
, a linear static load case corresponding to the new load pattern is added, defaults toTrue
def
count(self) -> int:
38 def count(self) -> int: 39 """Retrieves the number of defined load patterns. 40 41 :return: number of defined load patterns 42 :rtype: int 43 """ 44 return self.load_patterns.Count()
Retrieves the number of defined load patterns.
Returns
number of defined load patterns
def
get_type(self, load_pattern_name: str) -> ETABSv1.eLoadPatternType:
52 def get_type(self, load_pattern_name : str) -> etabs.eLoadPatternType: 53 """Retrieves the load type for a specified load pattern. 54 55 :param load_pattern_name: name of an existing load pattern 56 :type load_pattern_name: str 57 :return: one of the items in the eLoadPatternType enumeration 58 :rtype: eLoadPatternType 59 """ 60 load_pattern_type = etabs.eLoadPatternType.ActiveEarthPressure 61 [ret, load_pattern_type] = self.load_patterns.GetLoadType(load_pattern_name, load_pattern_type) 62 handle(ret) 63 return load_pattern_type
Retrieves the load type for a specified load pattern.
Parameters
- load_pattern_name: name of an existing load pattern
Returns
one of the items in the eLoadPatternType enumeration
def
get_name_list(self) -> list[str]:
66 def get_name_list(self) -> list[str]: 67 """Retrieves the names of all defined load cases. 68 69 :return: list of load pattern names 70 :rtype: list[str] 71 """ 72 number_names = int() 73 load_pattern_names = [str()] 74 [ret, number_names, load_pattern_names] = self.load_patterns.GetNameList(number_names, load_pattern_names) 75 handle(ret) 76 return list(load_pattern_names)
Retrieves the names of all defined load cases.
Returns
list of load pattern names
def
get_self_weight_multiplier(self, load_pattern_name: str) -> float:
79 def get_self_weight_multiplier(self, load_pattern_name : str) -> float: 80 """Retrieves the self weight multiplier for a specified load pattern. 81 82 :param load_pattern_name: name of an existing load pattern 83 :type load_pattern_name: str 84 :return: self weight multiplier for the specified load pattern 85 :rtype: float 86 """ 87 self_weight_multiplier = float() 88 [ret, self_weight_multiplier] = self.load_patterns.GetSelfWTMultiplier(load_pattern_name, self_weight_multiplier) 89 handle(ret) 90 return self_weight_multiplier
Retrieves the self weight multiplier for a specified load pattern.
Parameters
- load_pattern_name: name of an existing load pattern
Returns
self weight multiplier for the specified load pattern
def
set_load_type( self, load_pattern_name: str, load_pattern_type: ETABSv1.eLoadPatternType) -> None:
93 def set_load_type(self, load_pattern_name : str, load_pattern_type : etabs.eLoadPatternType) -> None: 94 """Assigns a load type to a load pattern. 95 96 :param load_pattern_name: name of an existing load pattern 97 :type load_pattern_name: str 98 :param load_pattern_type: one of the items in the `eLoadPatternType` enumeration 99 :type load_pattern_type: eLoadPatternType 100 """ 101 handle(self.load_patterns.SetLoadType(load_pattern_name, load_pattern_type))
Assigns a load type to a load pattern.
Parameters
- load_pattern_name: name of an existing load pattern
- load_pattern_type: one of the items in the
eLoadPatternType
enumeration
def
set_self_weight_multiplier(self, load_pattern_name: str, self_weight_multiplier: float) -> None:
104 def set_self_weight_multiplier(self, load_pattern_name : str, self_weight_multiplier : float) -> None: 105 """Assigns a self weight multiplier to a load case. 106 107 :param load_pattern_name: name of an existing load pattern 108 :type load_pattern_name: str 109 :param self_weight_multiplier: self weight multiplier for the specified load pattern 110 :type self_weight_multiplier: float 111 """ 112 handle(self.load_patterns.SetSelfWTMultiplier(load_pattern_name, self_weight_multiplier))
Assigns a self weight multiplier to a load case.
Parameters
- load_pattern_name: name of an existing load pattern
- self_weight_multiplier: self weight multiplier for the specified load pattern