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

LoadPatterns(sap_model: ETABSv1.cSapModel)
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)
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 to True
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