From b153ea9759c8d7329f7d6e3027da282bacec77c6 Mon Sep 17 00:00:00 2001 From: MichalO Date: Wed, 6 Apr 2022 14:58:46 +0200 Subject: [PATCH] initial commit unite tests: 125 passed, 9 skipped in 163.23s --- .vscode/settings.json | 9 +- Examples/main.py | 3 +- RFEM/BasicObjects/bracing.py | 18 +- RFEM/BasicObjects/frame.py | 2 +- RFEM/BasicObjects/line.py | 61 +++---- RFEM/BasicObjects/lineSet.py | 21 ++- RFEM/BasicObjects/material.py | 8 +- RFEM/BasicObjects/member.py | 112 +++++++----- RFEM/BasicObjects/memberSet.py | 21 ++- RFEM/BasicObjects/node.py | 42 +++-- RFEM/BasicObjects/opening.py | 7 +- RFEM/BasicObjects/section.py | 7 +- RFEM/BasicObjects/solid.py | 35 ++-- RFEM/BasicObjects/solidSet.py | 21 ++- RFEM/BasicObjects/surface.py | 47 ++--- RFEM/BasicObjects/surfaceSet.py | 21 ++- RFEM/BasicObjects/thickness.py | 71 ++++---- RFEM/Calculate/meshSettings.py | 35 ++-- RFEM/Calculate/optimizationSettings.py | 15 +- .../ConcreteServiceabilityConfigurations.py | 8 +- .../ConcreteUltimateConfigurations.py | 8 +- RFEM/Imperfections/imperfectionCase.py | 7 +- RFEM/ImportExport/exports.py | 42 ++--- .../designSituation.py | 7 +- RFEM/LoadCasesAndCombinations/loadCase.py | 14 +- .../loadCombination.py | 11 +- .../modalAnalysisSettings.py | 7 +- .../resultCombination.py | 7 +- .../spectralAnalysisSettings.py | 7 +- .../stabilityAnalysisSettings.py | 28 +-- .../staticAnalysisSettings.py | 28 +-- RFEM/Loads/freeLoad.py | 71 ++++---- RFEM/Loads/imposedLineDeformation.py | 7 +- RFEM/Loads/imposedNodalDeformation.py | 9 +- RFEM/Loads/lineLoad.py | 54 +++--- RFEM/Loads/memberLoad.py | 164 ++++++++++-------- RFEM/Loads/membersetload.py | 164 ++++++++++-------- RFEM/Loads/nodalLoad.py | 35 ++-- RFEM/Loads/solidLoad.py | 41 +++-- RFEM/Loads/solidSetLoad.py | 41 +++-- RFEM/Loads/surfaceLoad.py | 63 ++++--- RFEM/Loads/surfacesetload.py | 63 ++++--- RFEM/Reports/partsList.py | 48 ++--- RFEM/Results/designOverview.py | 4 +- RFEM/SpecialObjects/enlargedColumnHead.py | 7 +- RFEM/SpecialObjects/intersection.py | 7 +- RFEM/SpecialObjects/resultSection.py | 7 +- RFEM/SpecialObjects/rigidLink.py | 28 +-- RFEM/SpecialObjects/structureModification.py | 7 +- RFEM/SpecialObjects/surfaceContact.py | 7 +- .../SpecialObjects/surfaceResultAdjustment.py | 7 +- RFEM/Tools/ModelCheck.py | 40 ++--- RFEM/Tools/PlausibilityCheck.py | 5 +- RFEM/Tools/centreOfGravityAndObjectInfo.py | 12 +- RFEM/Tools/sectionDialogue.py | 27 +-- RFEM/TypesForLines/lineHinge.py | 7 +- RFEM/TypesForLines/lineMeshRefinements.py | 28 +-- RFEM/TypesForLines/lineSupport.py | 7 +- RFEM/TypesForLines/lineWeldedJoint.py | 15 +- .../memberDefinableStiffness.py | 7 +- RFEM/TypesForMembers/memberEccentricity.py | 7 +- RFEM/TypesForMembers/memberHinge.py | 7 +- RFEM/TypesForMembers/memberNonlinearity.py | 7 +- .../memberResultIntermediatePoints.py | 7 +- .../memberStiffnessModification.py | 7 +- RFEM/TypesForMembers/memberSupport.py | 7 +- RFEM/TypesForNodes/nodalMeshRefinement.py | 7 +- RFEM/TypesForNodes/nodalSupport.py | 7 +- RFEM/TypesForSolids/solidContact.py | 7 +- RFEM/TypesForSolids/solidGas.py | 7 +- RFEM/TypesForSolids/solidMeshRefinement.py | 7 +- .../surfaceContactType.py | 7 +- .../steelBoundaryConditions.py | 16 +- .../steelEffectiveLengths.py | 15 +- RFEM/TypesForSurfaces/surfaceEccentricity.py | 7 +- .../surfaceMeshRefinements.py | 7 +- .../surfaceStiffnessModification.py | 7 +- RFEM/TypesForSurfaces/surfaceSupport.py | 7 +- .../ConcreteDurability.py | 15 +- .../ConcreteEffectiveLength.py | 15 +- .../ConcreteReinforcementDirections.py | 7 +- .../ConcreteSurfaceReinforcements.py | 23 +-- RFEM/baseSettings.py | 7 +- RFEM/globalParameter.py | 9 +- RFEM/initModel.py | 97 ++++++++--- RFEM/window.py | 163 ----------------- UnitTests/test_zCalculate.py | 4 +- 87 files changed, 1131 insertions(+), 1064 deletions(-) delete mode 100644 RFEM/window.py diff --git a/.vscode/settings.json b/.vscode/settings.json index 139211b3..60795d86 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "files.trimTrailingWhitespace": true, "editor.tabSize": 4, "editor.insertSpaces": true, - "python.linting.pylintEnabled": true, + "python.linting.pylintEnabled": false, "python.linting.pylintArgs": [], "python.linting.enabled": false, "python.linting.pydocstyleEnabled": false, @@ -19,9 +19,12 @@ "comments": false, "strings": false }, - "editor.formatOnSave": true, "python.analysis.completeFunctionParens": true, "python.disableInstallationCheck": true, "python.linting.banditEnabled": true, - "python.languageServer": "Pylance" + "python.languageServer": "Pylance", + "python.analysis.diagnosticSeverityOverrides": { + "reportOptionalMemberAccess": "none", + "reportGeneralTypeIssues": "none", + } } \ No newline at end of file diff --git a/Examples/main.py b/Examples/main.py index 4c741770..b7f0f007 100644 --- a/Examples/main.py +++ b/Examples/main.py @@ -11,7 +11,7 @@ ) sys.path.append(PROJECT_ROOT) from RFEM.enums import NodalSupportType, StaticAnalysisType, LoadDirectionType, MemberLoadDistribution, MemberLoadDirection, MemberRotationSpecificationType -from RFEM.window import window +from Examples.window import window from RFEM.dataTypes import inf from RFEM.initModel import Model, Calculate_all, insertSpaces, modelLst from RFEM.BasicObjects.material import Material @@ -287,6 +287,7 @@ def main(hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_sp # ------------------------------------------------------------- # Calculate all Calculate_all() + print("Done") if __name__ == '__main__': diff --git a/RFEM/BasicObjects/bracing.py b/RFEM/BasicObjects/bracing.py index 3ef4327d..dd3b5db8 100644 --- a/RFEM/BasicObjects/bracing.py +++ b/RFEM/BasicObjects/bracing.py @@ -11,7 +11,7 @@ # start_section_no: int = 1, # end_section_no: int = 1, # comment: str = '', -# params: dict = None): +# params: dict = None, model = Model): # ''' # Args: @@ -27,7 +27,7 @@ # ''' # # Client model | Bracing -# clientObject = Model.clientModel.factory.create('ns0:bracing') +# clientObject = model.clientModel.factory.create('ns0:bracing') # # Clears object atributes | Sets all atributes to None # clearAtributes(clientObject) @@ -67,7 +67,7 @@ # clientObject[key] = params[key] # # Add Member to client model -# Model.clientModel.service.set_bracing(clientObject) +# model.clientModel.service.set_bracing(clientObject) # def Horizontal(self, # no: int = 1, @@ -80,7 +80,7 @@ # start_bracing_hinge_no: int = 0, # end_bracing_hinge_no: int = 0, # comment: str = '', -# params: dict = None): +# params: dict = None, model = Model): # ''' # Args: @@ -98,7 +98,7 @@ # ''' # # Client model | Bracing -# clientObject = Model.clientModel.factory.create('ns0:bracing') +# clientObject = model.clientModel.factory.create('ns0:bracing') # # Clears object atributes | Sets all atributes to None # clearAtributes(clientObject) @@ -138,7 +138,7 @@ # clientObject[key] = params[key] # # Add Bracing to client model -# Model.clientModel.service.set_bracing(clientObject) +# model.clientModel.service.set_bracing(clientObject) # def Vertical(self, # no: int = 1, @@ -151,7 +151,7 @@ # start_bracing_hinge_no: int = 0, # end_bracing_hinge_no: int = 0, # comment: str = '', -# params: dict = None): +# params: dict = None, model = Model): # ''' # Args: @@ -169,7 +169,7 @@ # ''' # # Client model | Bracing -# clientObject = Model.clientModel.factory.create('ns0:bracing') +# clientObject = model.clientModel.factory.create('ns0:bracing') # # Clears object atributes | Sets all atributes to None # clearAtributes(clientObject) @@ -209,5 +209,5 @@ # clientObject[key] = params[key] # # Add Bracing to client model -# Model.clientModel.service.set_bracing(clientObject) +# model.clientModel.service.set_bracing(clientObject) diff --git a/RFEM/BasicObjects/frame.py b/RFEM/BasicObjects/frame.py index cbcb236e..1c0e55a2 100644 --- a/RFEM/BasicObjects/frame.py +++ b/RFEM/BasicObjects/frame.py @@ -14,7 +14,7 @@ # insertion_point_y: int = 4, # insertion_point_z: int = 3, # comment: str = '', -# params: dict = None): +# params: dict = None, model = Model): # ''' # Args: diff --git a/RFEM/BasicObjects/line.py b/RFEM/BasicObjects/line.py index cae286fe..94ee0a15 100644 --- a/RFEM/BasicObjects/line.py +++ b/RFEM/BasicObjects/line.py @@ -6,7 +6,8 @@ def __init__(self, no: int = 1, nodes_no: str = '1 2', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -17,7 +18,7 @@ def __init__(self, ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -37,14 +38,15 @@ def __init__(self, clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Polyline( no: int = 1, nodes_no: str = '1 2', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -55,7 +57,7 @@ def Polyline( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -78,7 +80,7 @@ def Polyline( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Arc( @@ -87,7 +89,8 @@ def Arc( control_point: list, alpha_adjustment_target = LineArcAlphaAdjustmentTarget.ALPHA_ADJUSTMENT_TARGET_BEGINNING_OF_ARC, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -100,7 +103,7 @@ def Arc( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -129,7 +132,7 @@ def Arc( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Circle( @@ -138,7 +141,7 @@ def Circle( circle_radius: float = 1.0, point_of_normal_to_circle_plane: list = [1,0,0], comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -152,7 +155,7 @@ def Circle( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -184,7 +187,7 @@ def Circle( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def EllipticalArc( @@ -195,7 +198,7 @@ def EllipticalArc( arc_angle_alpha: float = 0, arc_angle_beta: float = 3.141592653589793, comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -210,7 +213,7 @@ def EllipticalArc( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -246,7 +249,7 @@ def EllipticalArc( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Ellipse( @@ -254,7 +257,7 @@ def Ellipse( nodes_no: list = [5,10], ellipse_control_point: list = [18,-4.8,0], comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -266,7 +269,7 @@ def Ellipse( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -296,7 +299,7 @@ def Ellipse( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Parabola( @@ -305,7 +308,7 @@ def Parabola( parabola_control_point: list = [10,-3,0], parabola_alpha: float = 0, comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -318,7 +321,7 @@ def Parabola( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -350,14 +353,14 @@ def Parabola( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def Spline( no: int = 1, nodes_no: str = '1 3 5', comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -368,7 +371,7 @@ def Spline( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -391,7 +394,7 @@ def Spline( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) @staticmethod def NURBS( @@ -401,7 +404,7 @@ def NURBS( weights: list = None, order: int = 0, comment: str = '', - params: dict = None): + params: dict = None, model = Model): ''' Args: @@ -415,7 +418,7 @@ def NURBS( ''' # Client model | Line - clientObject = Model.clientModel.factory.create('ns0:line') + clientObject = model.clientModel.factory.create('ns0:line') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -438,14 +441,14 @@ def NURBS( # TODO: bug 24721 nurbs_control_points = [] for i,j in enumerate(control_points): - point = Model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components') + point = model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components') point.no = i+1 point.global_coordinate_x = control_points[i][0] point.global_coordinate_y = control_points[i][1] point.global_coordinate_z = control_points[i][2] point.weight = 1 if not weights else weights[i] nurbs_control_points.append(point) - clientObject.nurbs_control_points_by_components = Model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components') + clientObject.nurbs_control_points_by_components = model.clientModel.factory.create('ns0:line_nurbs_control_points_by_components') # Comment clientObject.comment = comment @@ -456,4 +459,4 @@ def NURBS( clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_line(clientObject) + model.clientModel.service.set_line(clientObject) diff --git a/RFEM/BasicObjects/lineSet.py b/RFEM/BasicObjects/lineSet.py index ea3333e8..316b9cee 100644 --- a/RFEM/BasicObjects/lineSet.py +++ b/RFEM/BasicObjects/lineSet.py @@ -7,7 +7,8 @@ def __init__(self, lines_no: str = '33 36 39 42 45', line_set_type = SetType.SET_TYPE_CONTINUOUS, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -19,7 +20,7 @@ def __init__(self, ''' # Client model | Line Set - clientObject = Model.clientModel.factory.create('ns0:line_set') + clientObject = model.clientModel.factory.create('ns0:line_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,14 +43,15 @@ def __init__(self, clientObject[key] = params[key] # Add Line Set to client model - Model.clientModel.service.set_line_set(clientObject) + model.clientModel.service.set_line_set(clientObject) @staticmethod def ContinuousLines( no: int = 1, lines_no: str = '33 36 39 42 45', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -60,7 +62,7 @@ def ContinuousLines( ''' # Client model | Line Set - clientObject = Model.clientModel.factory.create('ns0:line_set') + clientObject = model.clientModel.factory.create('ns0:line_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -83,14 +85,15 @@ def ContinuousLines( clientObject[key] = params[key] # Add Line Set to client model - Model.clientModel.service.set_line_set(clientObject) + model.clientModel.service.set_line_set(clientObject) @staticmethod def GroupOfLines( no: int = 1, lines_no: str = '33 36 39 42 45', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -101,7 +104,7 @@ def GroupOfLines( ''' # Client model | Line Set - clientObject = Model.clientModel.factory.create('ns0:line_set') + clientObject = model.clientModel.factory.create('ns0:line_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -124,4 +127,4 @@ def GroupOfLines( clientObject[key] = params[key] # Add Line Set to client model - Model.clientModel.service.set_line_set(clientObject) + model.clientModel.service.set_line_set(clientObject) diff --git a/RFEM/BasicObjects/material.py b/RFEM/BasicObjects/material.py index 1883d959..3f1faa9f 100644 --- a/RFEM/BasicObjects/material.py +++ b/RFEM/BasicObjects/material.py @@ -1,11 +1,13 @@ from RFEM.initModel import clearAtributes, Model + class Material(): def __init__(self, no: int = 1, name: str = 'S235', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -16,7 +18,7 @@ def __init__(self, ''' # Client model | Material - clientObject = Model.clientModel.factory.create('ns0:material') + clientObject = model.clientModel.factory.create('ns0:material') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -36,4 +38,4 @@ def __init__(self, clientObject[key] = params[key] # Add material to client model - Model.clientModel.service.set_material(clientObject) + model.clientModel.service.set_material(clientObject) diff --git a/RFEM/BasicObjects/member.py b/RFEM/BasicObjects/member.py index a440862b..b145aae8 100644 --- a/RFEM/BasicObjects/member.py +++ b/RFEM/BasicObjects/member.py @@ -12,7 +12,8 @@ def __init__(self, start_member_hinge_no: int = 0, end_member_hinge_no: int = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Member Tag @@ -28,7 +29,7 @@ def __init__(self, """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -69,7 +70,7 @@ def __init__(self, clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Beam( @@ -93,7 +94,8 @@ def Beam( 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, 'member_result_intermediate_point' : 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -137,7 +139,7 @@ def Beam( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -330,7 +332,7 @@ def Beam( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Rigid( @@ -344,7 +346,8 @@ def Rigid( 'member_eccentricity_start': 0, 'member_eccentricity_end': 0, 'support':0, 'member_nonlinearity': 0, 'member_result_intermediate_point' : 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -364,7 +367,7 @@ def Rigid( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -432,7 +435,7 @@ def Rigid( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) ## Rib Member should be corrected. @staticmethod @@ -456,7 +459,8 @@ def Rib( 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, 'member_result_intermediate_point' : 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -476,7 +480,7 @@ def Rib( """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -560,7 +564,7 @@ def Rib( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Truss( @@ -579,7 +583,8 @@ def Truss( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -600,7 +605,7 @@ def Truss( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -676,7 +681,7 @@ def Truss( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def TrussOnlyN( @@ -695,7 +700,8 @@ def TrussOnlyN( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -716,7 +722,7 @@ def TrussOnlyN( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -792,7 +798,7 @@ def TrussOnlyN( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Tension( @@ -811,7 +817,8 @@ def Tension( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -832,7 +839,7 @@ def Tension( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -908,7 +915,7 @@ def Tension( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Compression( @@ -927,7 +934,8 @@ def Compression( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -948,7 +956,7 @@ def Compression( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1024,7 +1032,7 @@ def Compression( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Buckling( @@ -1043,7 +1051,8 @@ def Buckling( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1064,7 +1073,7 @@ def Buckling( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1140,7 +1149,7 @@ def Buckling( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def Cable( @@ -1157,7 +1166,8 @@ def Cable( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1178,7 +1188,7 @@ def Cable( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1245,7 +1255,7 @@ def Cable( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def ResultBeam( @@ -1267,7 +1277,8 @@ def ResultBeam( 'end_modifications_member_end_extension': 0, 'end_modifications_member_end_slope_y': 0, 'end_modifications_member_end_slope_z': 0, - 'member_result_intermediate_point' : 0}): + 'member_result_intermediate_point' : 0}, + model = Model): """ Args: no (int): Member Tag @@ -1318,7 +1329,7 @@ def ResultBeam( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1501,7 +1512,7 @@ def ResultBeam( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def DefinableStiffness( @@ -1516,7 +1527,8 @@ def DefinableStiffness( 'member_eccentricity_start': 0, 'member_eccentricity_end': 0, 'member_nonlinearity': 0, 'member_result_intermediate_point' : 0, - 'is_deactivated_for_calculation' : False}): + 'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1537,7 +1549,7 @@ def DefinableStiffness( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1608,7 +1620,7 @@ def DefinableStiffness( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def CouplingRigidRigid( @@ -1618,7 +1630,8 @@ def CouplingRigidRigid( rotation_specification_type = MemberRotationSpecificationType.COORDINATE_SYSTEM_ROTATION_VIA_ANGLE, rotation_parameters = [0], comment: str = '', - params: dict = {'is_deactivated_for_calculation' : False}): + params: dict = {'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1638,7 +1651,7 @@ def CouplingRigidRigid( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1685,7 +1698,7 @@ def CouplingRigidRigid( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def CouplingRigidHinge( @@ -1695,7 +1708,8 @@ def CouplingRigidHinge( rotation_specification_type = MemberRotationSpecificationType.COORDINATE_SYSTEM_ROTATION_VIA_ANGLE, rotation_parameters = [0], comment: str = '', - params: dict = {'is_deactivated_for_calculation' : False}): + params: dict = {'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1715,7 +1729,7 @@ def CouplingRigidHinge( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1762,7 +1776,7 @@ def CouplingRigidHinge( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def CouplingHingeRigid( @@ -1772,7 +1786,8 @@ def CouplingHingeRigid( rotation_specification_type = MemberRotationSpecificationType.COORDINATE_SYSTEM_ROTATION_VIA_ANGLE, rotation_parameters = [0], comment: str = '', - params: dict = {'is_deactivated_for_calculation' : False}): + params: dict = {'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1792,7 +1807,7 @@ def CouplingHingeRigid( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1839,7 +1854,7 @@ def CouplingHingeRigid( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) @staticmethod def CouplingHingeHinge( @@ -1849,7 +1864,8 @@ def CouplingHingeHinge( rotation_specification_type = MemberRotationSpecificationType.COORDINATE_SYSTEM_ROTATION_VIA_ANGLE, rotation_parameters = [0], comment: str = '', - params: dict = {'is_deactivated_for_calculation' : False}): + params: dict = {'is_deactivated_for_calculation' : False}, + model = Model): """ Args: no (int): Member Tag @@ -1869,7 +1885,7 @@ def CouplingHingeHinge( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member - clientObject = Model.clientModel.factory.create('ns0:member') + clientObject = model.clientModel.factory.create('ns0:member') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1916,4 +1932,4 @@ def CouplingHingeHinge( clientObject[key] = params[key] # Add Member to client model - Model.clientModel.service.set_member(clientObject) + model.clientModel.service.set_member(clientObject) diff --git a/RFEM/BasicObjects/memberSet.py b/RFEM/BasicObjects/memberSet.py index cd553d03..2260abac 100644 --- a/RFEM/BasicObjects/memberSet.py +++ b/RFEM/BasicObjects/memberSet.py @@ -7,7 +7,8 @@ def __init__(self, members_no: str = '1 4 5 8 9 12 13 16 17 20 21 24', member_set_type = SetType.SET_TYPE_GROUP, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -19,7 +20,7 @@ def __init__(self, ''' # Client model | Member Set - clientObject = Model.clientModel.factory.create('ns0:member_set') + clientObject = model.clientModel.factory.create('ns0:member_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,14 +43,15 @@ def __init__(self, clientObject[key] = params[key] # Add Member Set to client model - Model.clientModel.service.set_member_set(clientObject) + model.clientModel.service.set_member_set(clientObject) @staticmethod def ContinuousMembers( no: int = 1, members_no: str = '1 4 5 8 9 12 13 16 17 20 21 24', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -60,7 +62,7 @@ def ContinuousMembers( ''' # Client model | Member Set - clientObject = Model.clientModel.factory.create('ns0:member_set') + clientObject = model.clientModel.factory.create('ns0:member_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -83,14 +85,15 @@ def ContinuousMembers( clientObject[key] = params[key] # Add Member Set to client model - Model.clientModel.service.set_member_set(clientObject) + model.clientModel.service.set_member_set(clientObject) @staticmethod def GroupOfmembers( no: int = 1, members_no: str = '1 4 5 8 9 12 13 16 17 20 21 24', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -101,7 +104,7 @@ def GroupOfmembers( ''' # Client model | Member Set - clientObject = Model.clientModel.factory.create('ns0:member_set') + clientObject = model.clientModel.factory.create('ns0:member_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -124,4 +127,4 @@ def GroupOfmembers( clientObject[key] = params[key] # Add Member Set to client model - Model.clientModel.service.set_member_set(clientObject) + model.clientModel.service.set_member_set(clientObject) diff --git a/RFEM/BasicObjects/node.py b/RFEM/BasicObjects/node.py index 5534d946..899f1193 100644 --- a/RFEM/BasicObjects/node.py +++ b/RFEM/BasicObjects/node.py @@ -11,7 +11,8 @@ def __init__(self, coordinate_Y: float = 0.0, coordinate_Z: float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -23,7 +24,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -45,7 +46,7 @@ def __init__(self, clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) @staticmethod def Standard( @@ -53,7 +54,8 @@ def Standard( coordinate_system = [], coordinate_system_type = NodeCoordinateSystemType.COORDINATE_SYSTEM_CARTESIAN, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -75,7 +77,7 @@ def Standard( ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -135,7 +137,7 @@ def Standard( clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) @staticmethod @@ -149,7 +151,8 @@ def BetweenTwoNodes( offset_y: int = 0, offset_z: int = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -170,7 +173,7 @@ def BetweenTwoNodes( ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -214,7 +217,7 @@ def BetweenTwoNodes( clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) @staticmethod def BetweenTwoPoints( @@ -230,7 +233,8 @@ def BetweenTwoPoints( offset_y: float = 0.0, offset_z: float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -254,7 +258,7 @@ def BetweenTwoPoints( ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -299,7 +303,7 @@ def BetweenTwoPoints( clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) @staticmethod def OnLine( @@ -309,7 +313,8 @@ def OnLine( length_between_i_and_j: int = 1, parameters = [True, 0.5], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -326,7 +331,7 @@ def OnLine( ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -361,7 +366,7 @@ def OnLine( clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) @staticmethod def OnMember( @@ -371,7 +376,8 @@ def OnMember( length_between_i_and_j: int = 1, parameters = [True, 0.5], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -389,7 +395,7 @@ def OnMember( ''' # Client model | Node - clientObject = Model.clientModel.factory.create('ns0:node') + clientObject = model.clientModel.factory.create('ns0:node') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -424,4 +430,4 @@ def OnMember( clientObject[key] = params[key] # Add Node to client model - Model.clientModel.service.set_node(clientObject) + model.clientModel.service.set_node(clientObject) diff --git a/RFEM/BasicObjects/opening.py b/RFEM/BasicObjects/opening.py index e804b3a2..9f8f5e88 100644 --- a/RFEM/BasicObjects/opening.py +++ b/RFEM/BasicObjects/opening.py @@ -5,7 +5,8 @@ def __init__(self, no: int = 1, lines_no: str = '1 2 3 4', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -16,7 +17,7 @@ def __init__(self, ''' # Client model | Opening - clientObject = Model.clientModel.factory.create('ns0:opening') + clientObject = model.clientModel.factory.create('ns0:opening') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -36,4 +37,4 @@ def __init__(self, clientObject[key] = params[key] # Add Opening to client model - Model.clientModel.service.set_opening(clientObject) + model.clientModel.service.set_opening(clientObject) diff --git a/RFEM/BasicObjects/section.py b/RFEM/BasicObjects/section.py index 016b76eb..93995b43 100644 --- a/RFEM/BasicObjects/section.py +++ b/RFEM/BasicObjects/section.py @@ -6,7 +6,8 @@ def __init__(self, name: str = 'IPE 300', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -18,7 +19,7 @@ def __init__(self, ''' # Client model | Section - clientObject = Model.clientModel.factory.create('ns0:section') + clientObject = model.clientModel.factory.create('ns0:section') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -41,4 +42,4 @@ def __init__(self, clientObject[key] = params[key] # Add Section to client model - Model.clientModel.service.set_section(clientObject) + model.clientModel.service.set_section(clientObject) diff --git a/RFEM/BasicObjects/solid.py b/RFEM/BasicObjects/solid.py index 56edf3e3..ced3bb09 100644 --- a/RFEM/BasicObjects/solid.py +++ b/RFEM/BasicObjects/solid.py @@ -7,7 +7,8 @@ def __init__(self, boundary_surfaces_no: str = '1 2', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -19,7 +20,7 @@ def __init__(self, ''' # Client model | Solid - clientObject = Model.clientModel.factory.create('ns0:solid') + clientObject = model.clientModel.factory.create('ns0:solid') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,7 +43,7 @@ def __init__(self, clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_solid(clientObject) + model.clientModel.service.set_solid(clientObject) @staticmethod def Standard( @@ -50,7 +51,8 @@ def Standard( boundary_surfaces_no: str = '1 2', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -62,7 +64,7 @@ def Standard( ''' # Client model | Solid - clientObject = Model.clientModel.factory.create('ns0:solid') + clientObject = model.clientModel.factory.create('ns0:solid') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -88,7 +90,7 @@ def Standard( clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_solid(clientObject) + model.clientModel.service.set_solid(clientObject) @staticmethod def Gas( @@ -96,7 +98,8 @@ def Gas( boundary_surfaces_no: str = '1 2', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -108,7 +111,7 @@ def Gas( ''' # Client model | Solid - clientObject = Model.clientModel.factory.create('ns0:solid') + clientObject = model.clientModel.factory.create('ns0:solid') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -134,7 +137,7 @@ def Gas( clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_solid(clientObject) + model.clientModel.service.set_solid(clientObject) @staticmethod def Contact( @@ -142,7 +145,8 @@ def Contact( boundary_surfaces_no: str = '1 2', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -154,7 +158,7 @@ def Contact( ''' # Client model | Solid - clientObject = Model.clientModel.factory.create('ns0:solid') + clientObject = model.clientModel.factory.create('ns0:solid') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -180,7 +184,7 @@ def Contact( clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_solid(clientObject) + model.clientModel.service.set_solid(clientObject) @staticmethod def Soil( @@ -188,7 +192,8 @@ def Soil( boundary_surfaces_no: str = '1 2', material_no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -200,7 +205,7 @@ def Soil( ''' # Client model | Solid - clientObject = Model.clientModel.factory.create('ns0:solid') + clientObject = model.clientModel.factory.create('ns0:solid') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -226,4 +231,4 @@ def Soil( clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_solid(clientObject) \ No newline at end of file + model.clientModel.service.set_solid(clientObject) \ No newline at end of file diff --git a/RFEM/BasicObjects/solidSet.py b/RFEM/BasicObjects/solidSet.py index a35ab61b..cccc8079 100644 --- a/RFEM/BasicObjects/solidSet.py +++ b/RFEM/BasicObjects/solidSet.py @@ -7,7 +7,8 @@ def __init__(self, solids_no: str = '1 2', solid_set_type = SetType.SET_TYPE_GROUP, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -19,7 +20,7 @@ def __init__(self, ''' # Client model | Solid Set - clientObject = Model.clientModel.factory.create('ns0:solid_set') + clientObject = model.clientModel.factory.create('ns0:solid_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,14 +43,15 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Set to client model - Model.clientModel.service.set_solid_set(clientObject) + model.clientModel.service.set_solid_set(clientObject) @staticmethod def ContinuousSolids( no: int = 1, solids_no: str = '1 2', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -60,7 +62,7 @@ def ContinuousSolids( ''' # Client model | Solid Set - clientObject = Model.clientModel.factory.create('ns0:solid_set') + clientObject = model.clientModel.factory.create('ns0:solid_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -83,14 +85,15 @@ def ContinuousSolids( clientObject[key] = params[key] # Add Solid Set to client model - Model.clientModel.service.set_solid_set(clientObject) + model.clientModel.service.set_solid_set(clientObject) @staticmethod def GroupOfSolids( no: int = 1, solids_no: str = '1 2', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -101,7 +104,7 @@ def GroupOfSolids( ''' # Client model | Solid Set - clientObject = Model.clientModel.factory.create('ns0:solid_set') + clientObject = model.clientModel.factory.create('ns0:solid_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -124,4 +127,4 @@ def GroupOfSolids( clientObject[key] = params[key] # Add Solid Set to client model - Model.clientModel.service.set_solid_set(clientObject) + model.clientModel.service.set_solid_set(clientObject) diff --git a/RFEM/BasicObjects/surface.py b/RFEM/BasicObjects/surface.py index 936588ec..591c50b7 100644 --- a/RFEM/BasicObjects/surface.py +++ b/RFEM/BasicObjects/surface.py @@ -1,7 +1,7 @@ from RFEM.enums import SurfaceGeometry, SurfaceLoadDistributionDirection, SurfaceType from RFEM.initModel import Model, clearAtributes, ConvertToDlString -def CreateGeometryAndSetToModel(no, surface_type, boundary_lines_no, geometry_type, geometry_type_parameters, thickness = None, comment = None, params = None): +def CreateGeometryAndSetToModel(no, surface_type, boundary_lines_no, geometry_type, geometry_type_parameters, thickness = None, comment = None, params = None, model = Model): ''' Args: no (int): Surface Tag @@ -20,7 +20,7 @@ def CreateGeometryAndSetToModel(no, surface_type, boundary_lines_no, geometry_ty params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:surface') + clientObject = model.clientModel.factory.create('ns0:surface') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -37,7 +37,7 @@ def CreateGeometryAndSetToModel(no, surface_type, boundary_lines_no, geometry_ty if len(geometry_type_parameters) != 4: raise Exception('WARNING: The geometry type parameter needs to be of length 4. Kindly check list inputs for completeness and correctness.') for line in boundary_lines_list: - if Model.clientModel.service.get_line(int(line))['type'] != 'TYPE_NURBS': + if model.clientModel.service.get_line(int(line))['type'] != 'TYPE_NURBS': raise Exception('WARNING: For a NURBS Surface, the boundary lines need to be NURBS Curves') clientObject.nurbs_control_point_count_in_direction_u = geometry_type_parameters[0] clientObject.nurbs_control_point_count_in_direction_v = geometry_type_parameters[1] @@ -70,7 +70,7 @@ def CreateGeometryAndSetToModel(no, surface_type, boundary_lines_no, geometry_ty clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_surface(clientObject) + model.clientModel.service.set_surface(clientObject) class Surface(): def __init__(self, @@ -78,7 +78,8 @@ def __init__(self, boundary_lines_no: str = '1 2 3 4', thickness: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -90,7 +91,7 @@ def __init__(self, ''' # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:surface') + clientObject = model.clientModel.factory.create('ns0:surface') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -113,7 +114,7 @@ def __init__(self, clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_surface(clientObject) + model.clientModel.service.set_surface(clientObject) @staticmethod def Standard( @@ -123,7 +124,8 @@ def Standard( boundary_lines_no: str = '1 2 3 4', thickness: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -142,7 +144,7 @@ def Standard( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' - CreateGeometryAndSetToModel(no, SurfaceType.TYPE_STANDARD, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params) + CreateGeometryAndSetToModel(no, SurfaceType.TYPE_STANDARD, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params, model) @staticmethod def WithoutThickness( @@ -151,7 +153,8 @@ def WithoutThickness( geometry_type_parameters = None, boundary_lines_no: str = '1 2 3 4', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -169,7 +172,7 @@ def WithoutThickness( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' - CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, comment=comment, params=params) + CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, comment=comment, params=params, model=model) @staticmethod def Rigid( @@ -178,7 +181,8 @@ def Rigid( geometry_type_parameters = None, boundary_lines_no: str = '1 2 3 4', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -196,7 +200,7 @@ def Rigid( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' - CreateGeometryAndSetToModel(no, SurfaceType.TYPE_RIGID, boundary_lines_no, geometry_type, geometry_type_parameters, comment=comment, params=params) + CreateGeometryAndSetToModel(no, SurfaceType.TYPE_RIGID, boundary_lines_no, geometry_type, geometry_type_parameters, comment=comment, params=params, model=model) @staticmethod def Membrane( @@ -206,7 +210,8 @@ def Membrane( boundary_lines_no: str = '1 2 3 4', thickness: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -225,7 +230,7 @@ def Membrane( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' - CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params) + CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params, model) @staticmethod def WithoutMemberaneTension( @@ -235,7 +240,8 @@ def WithoutMemberaneTension( boundary_lines_no: str = '1 2 3 4', thickness: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -254,7 +260,7 @@ def WithoutMemberaneTension( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' - CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params) + CreateGeometryAndSetToModel(no, SurfaceType.TYPE_WITHOUT_THICKNESS, boundary_lines_no, geometry_type, geometry_type_parameters, thickness, comment, params, model) @staticmethod def LoadDistribution( @@ -270,7 +276,8 @@ def LoadDistribution( loaded_members = None, loaded_lines = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -290,7 +297,7 @@ def LoadDistribution( ''' # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:surface') + clientObject = model.clientModel.factory.create('ns0:surface') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -339,4 +346,4 @@ def LoadDistribution( clientObject[key] = params[key] # Add Surface to client model - Model.clientModel.service.set_surface(clientObject) + model.clientModel.service.set_surface(clientObject) diff --git a/RFEM/BasicObjects/surfaceSet.py b/RFEM/BasicObjects/surfaceSet.py index 25994250..c4d5d825 100644 --- a/RFEM/BasicObjects/surfaceSet.py +++ b/RFEM/BasicObjects/surfaceSet.py @@ -7,7 +7,8 @@ def __init__(self, surfaces_no: str = '2 4 7', surface_set_type = SetType.SET_TYPE_GROUP, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -19,7 +20,7 @@ def __init__(self, ''' # Client model | Surface Set - clientObject = Model.clientModel.factory.create('ns0:surface_set') + clientObject = model.clientModel.factory.create('ns0:surface_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,14 +43,15 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Set to client model - Model.clientModel.service.set_surface_set(clientObject) + model.clientModel.service.set_surface_set(clientObject) @staticmethod def ContinuousSurfaces( no: int = 1, surfaces_no: str = '2 4 7', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -61,7 +63,7 @@ def ContinuousSurfaces( ''' # Client model | Surface Set - clientObject = Model.clientModel.factory.create('ns0:surface_set') + clientObject = model.clientModel.factory.create('ns0:surface_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -84,14 +86,15 @@ def ContinuousSurfaces( clientObject[key] = params[key] # Add Surface Set to client model - Model.clientModel.service.set_surface_set(clientObject) + model.clientModel.service.set_surface_set(clientObject) @staticmethod def GroupOfSurfaces( no: int = 1, surfaces_no: str = '2 4 7', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -102,7 +105,7 @@ def GroupOfSurfaces( ''' # Client model | Surface Set - clientObject = Model.clientModel.factory.create('ns0:surface_set') + clientObject = model.clientModel.factory.create('ns0:surface_set') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -125,4 +128,4 @@ def GroupOfSurfaces( clientObject[key] = params[key] # Add Surface Set to client model - Model.clientModel.service.set_surface_set(clientObject) + model.clientModel.service.set_surface_set(clientObject) diff --git a/RFEM/BasicObjects/thickness.py b/RFEM/BasicObjects/thickness.py index b5fc84d8..51dd5be2 100644 --- a/RFEM/BasicObjects/thickness.py +++ b/RFEM/BasicObjects/thickness.py @@ -12,7 +12,8 @@ def __init__(self, material_no: int = 1, uniform_thickness_d: float = 0.20, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -25,7 +26,7 @@ def __init__(self, ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -56,7 +57,7 @@ def __init__(self, clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Uniform( @@ -65,7 +66,8 @@ def Uniform( material_no: int = 1, properties = [0.2], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -78,7 +80,7 @@ def Uniform( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -111,7 +113,7 @@ def Uniform( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Variable_3Nodes( @@ -120,7 +122,8 @@ def Variable_3Nodes( material_no: int = 1, properties = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -134,7 +137,7 @@ def Variable_3Nodes( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -174,7 +177,7 @@ def Variable_3Nodes( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Variable_2NodesAndDirection( @@ -183,7 +186,8 @@ def Variable_2NodesAndDirection( material_no: int = 1, properties = [0.18, 1, 0.18, 2, ThicknessDirection.THICKNESS_DIRECTION_IN_X], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -198,7 +202,7 @@ def Variable_2NodesAndDirection( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -235,7 +239,7 @@ def Variable_2NodesAndDirection( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Variable_4SurfaceCorners( @@ -244,7 +248,8 @@ def Variable_4SurfaceCorners( material_no: int = 1, properties = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -259,7 +264,7 @@ def Variable_4SurfaceCorners( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -301,7 +306,7 @@ def Variable_4SurfaceCorners( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Variable_Circle( @@ -310,7 +315,8 @@ def Variable_Circle( material_no: int = 1, properties = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -324,7 +330,7 @@ def Variable_Circle( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -360,7 +366,7 @@ def Variable_Circle( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def Layers( @@ -368,7 +374,8 @@ def Layers( name: str = None, layers = [[0, 1, 0.2, 0.0, '']], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' NOTE: Available only for Special Solution Add-on Multilayer Surfaces. @@ -384,11 +391,11 @@ def Layers( ''' # Check if Multilayer Surfaces Add-on is ON. - if not GetAddonStatus(Model.clientModel, AddOn.multilayer_surfaces_design_active): - SetAddonStatus(Model.clientModel, AddOn.multilayer_surfaces_design_active, True) + if not GetAddonStatus(model.clientModel, AddOn.multilayer_surfaces_design_active): + SetAddonStatus(model.clientModel, AddOn.multilayer_surfaces_design_active, True) # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -405,10 +412,10 @@ def Layers( clientObject.type = ThicknessType.TYPE_LAYERS.name # Layers - clientObject.layers_reference_table = Model.clientModel.factory.create('ns0:thickness.layers_reference_table') + clientObject.layers_reference_table = model.clientModel.factory.create('ns0:thickness.layers_reference_table') for i,j in enumerate(layers): - tlrt = Model.clientModel.factory.create('ns0:thickness_layers_reference_table') + tlrt = model.clientModel.factory.create('ns0:thickness_layers_reference_table') tlrt.no = no tlrt.layer_no = i+1 tlrt.layer_type = None @@ -432,7 +439,7 @@ def Layers( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def ShapeOrthotropy( @@ -444,7 +451,8 @@ def ShapeOrthotropy( consideration_of_self_weight = [ThicknessShapeOrthotropySelfWeightDefinitionType.SELF_WEIGHT_COMPUTED_FROM_PARAMETERS, 0.18], parameters = [0.18, 0.18], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -480,7 +488,7 @@ def ShapeOrthotropy( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -575,7 +583,7 @@ def ShapeOrthotropy( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) @staticmethod def StiffnessMatrix( @@ -587,7 +595,8 @@ def StiffnessMatrix( coefficient_of_thermal_expansion: float = 0, stiffness_matrix = [[0, 0, 0, 0, 0, 0],[0, 0, 0],[0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0]], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -617,7 +626,7 @@ def StiffnessMatrix( ''' # Client model | Thickness - clientObject = Model.clientModel.factory.create('ns0:thickness') + clientObject = model.clientModel.factory.create('ns0:thickness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -683,4 +692,4 @@ def StiffnessMatrix( clientObject[key] = params[key] # Add Thickness to client model - Model.clientModel.service.set_thickness(clientObject) + model.clientModel.service.set_thickness(clientObject) diff --git a/RFEM/Calculate/meshSettings.py b/RFEM/Calculate/meshSettings.py index 5ee0b920..9829de8c 100644 --- a/RFEM/Calculate/meshSettings.py +++ b/RFEM/Calculate/meshSettings.py @@ -104,7 +104,8 @@ def __init__(self, commonConfig: dict = ComonMeshConfig, surfaceConfig: dict = SurfacesMeshQualityConfig, solidConfig: dict = SolidsMeshQualityConfig, - windConfig: dict = WindSimulationMeshConfig): + windConfig: dict = WindSimulationMeshConfig, + model = Model): """ The object is automaticaly created therefore we can assume that it will not be created but only updated. Only posititve values are recognized. @@ -116,12 +117,12 @@ def __init__(self, windConfig: wind specific parameters; use only when Wind Simulation Add-on is active """ # Get current mesh settings - config = Model.clientModel.service.get_mesh_settings() + config = model.clientModel.service.get_mesh_settings() clientObject = {} for i in config: if i[0] == 'windSimulationMeshConfig': - if GetAddonStatus(Model.clientModel, AddOn.wind_simulation_active): + if GetAddonStatus(model.clientModel, AddOn.wind_simulation_active): clientObject[i[0]] = config[i[0]] else: clientObject[i[0]] = config[i[0]] @@ -144,36 +145,36 @@ def __init__(self, clientObject['SolidsMeshQualityConfig']['QualityCriteriaConfigForSolids'][key_] = solidConfig['QualityCriteriaConfigForSolids'][key_] elif solidConfig[key]: clientObject['SolidsMeshQualityConfig'][key] = solidConfig[key] - if GetAddonStatus(Model.clientModel, AddOn.wind_simulation_active): + if GetAddonStatus(model.clientModel, AddOn.wind_simulation_active): for key in windConfig: if windConfig[key]: clientObject['windSimulationMeshConfig'][key] = windConfig[key] # Add Mesh Settings to client model - Model.clientModel.service.set_mesh_settings(clientObject) + model.clientModel.service.set_mesh_settings(clientObject) @staticmethod - def set_mesh_settings(all_settings): + def set_mesh_settings(all_settings, model = Model): new_sett = {} for i in all_settings: if i[0] == 'windSimulationMeshConfig': - if GetAddonStatus(Model.clientModel, AddOn.wind_simulation_active): + if GetAddonStatus(model.clientModel, AddOn.wind_simulation_active): new_sett['wind_simulation_active'] = all_settings['wind_simulation_active'] else: new_sett[i[0]] = all_settings[i[0]] - Model.clientModel.service.set_mesh_settings(new_sett) + model.clientModel.service.set_mesh_settings(new_sett) -def GetModelInfo(): - return Model.clientModel.service.get_model_info() +def GetModelInfo(model = Model): + return model.clientModel.service.get_model_info() -def GetMeshStatistics(): - mesh_stats = Model.clientModel.service.get_mesh_statistics() - return Model.clientModel.dict(mesh_stats) +def GetMeshStatistics(model = Model): + mesh_stats = model.clientModel.service.get_mesh_statistics() + return model.clientModel.dict(mesh_stats) -def GenerateMesh(): - Model.clientModel.service.generate_mesh() +def GenerateMesh(model = Model): + model.clientModel.service.generate_mesh() -def GetMeshSettings(): - return Model.clientModel.service.get_mesh_settings() +def GetMeshSettings(model = Model): + return model.clientModel.service.get_mesh_settings() diff --git a/RFEM/Calculate/optimizationSettings.py b/RFEM/Calculate/optimizationSettings.py index 8dd11761..d86babef 100644 --- a/RFEM/Calculate/optimizationSettings.py +++ b/RFEM/Calculate/optimizationSettings.py @@ -7,7 +7,8 @@ def __init__(self, general_keep_best_number_model_mutations = 10, general_optimize_on = OptimizeOnType.E_OPTIMIZE_ON_TYPE_MIN_WHOLE_WEIGHT, general_optimizer = Optimizer.E_OPTIMIZER_TYPE_ALL_MUTATIONS, - general_number_random_mutations = 0.2): + general_number_random_mutations = 0.2, + model = Model): """ The object is automaticaly created therefore we can assume, that it will not be created but only updated/changed. @@ -20,7 +21,7 @@ def __init__(self, general_number_random_mutations (float): Number of random mutations """ - opt_settings = Model.clientModel.service.get_optimization_settings() + opt_settings = model.clientModel.service.get_optimization_settings() opt_settings.general_optimization_active = general_optimization_active opt_settings.general_keep_best_number_model_mutations = general_keep_best_number_model_mutations opt_settings.general_optimize_on = general_optimize_on.name @@ -28,12 +29,12 @@ def __init__(self, opt_settings.general_number_random_mutations = general_number_random_mutations # Set Optimization settings to client model - Model.clientModel.service.set_optimization_settings(opt_settings) + model.clientModel.service.set_optimization_settings(opt_settings) @staticmethod - def get_optimization_settings(): - return Model.clientModel.service.get_optimization_settings() + def get(model = Model): + return model.clientModel.service.get_optimization_settings() @staticmethod - def set_optimization_settings(opt_settings): - Model.clientModel.service.set_optimization_settings(opt_settings) \ No newline at end of file + def set(opt_settings, model = Model): + model.clientModel.service.set_optimization_settings(opt_settings) \ No newline at end of file diff --git a/RFEM/ConcreteDesign/ConcreteServiceabilityConfigurations.py b/RFEM/ConcreteDesign/ConcreteServiceabilityConfigurations.py index 44bf39ab..825129ca 100644 --- a/RFEM/ConcreteDesign/ConcreteServiceabilityConfigurations.py +++ b/RFEM/ConcreteDesign/ConcreteServiceabilityConfigurations.py @@ -1,5 +1,4 @@ from RFEM.initModel import Model, clearAtributes, ConvertToDlString -from RFEM.enums import * class ConcreteServiceabilityConfiguration(): @@ -12,7 +11,8 @@ def __init__(self, surface_sets = '', nodes = '', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Configuration Tag @@ -27,7 +27,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:sls_configuration') + clientObject = model.clientModel.factory.create('ns0:sls_configuration') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -63,4 +63,4 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_sls_configuration(clientObject) \ No newline at end of file + model.clientModel.service.set_sls_configuration(clientObject) \ No newline at end of file diff --git a/RFEM/ConcreteDesign/ConcreteUltimateConfigurations.py b/RFEM/ConcreteDesign/ConcreteUltimateConfigurations.py index d80a5b73..0e79ea6d 100644 --- a/RFEM/ConcreteDesign/ConcreteUltimateConfigurations.py +++ b/RFEM/ConcreteDesign/ConcreteUltimateConfigurations.py @@ -1,5 +1,4 @@ from RFEM.initModel import Model, clearAtributes, ConvertToDlString -from RFEM.enums import * class ConcreteUltimateConfiguration(): @@ -12,7 +11,8 @@ def __init__(self, surface_sets = '', nodes = '', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Configuration Tag @@ -27,7 +27,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:uls_configuration') + clientObject = model.clientModel.factory.create('ns0:uls_configuration') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -63,4 +63,4 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_uls_configuration(clientObject) \ No newline at end of file + model.clientModel.service.set_uls_configuration(clientObject) \ No newline at end of file diff --git a/RFEM/Imperfections/imperfectionCase.py b/RFEM/Imperfections/imperfectionCase.py index 38ff6257..a3aefeb6 100644 --- a/RFEM/Imperfections/imperfectionCase.py +++ b/RFEM/Imperfections/imperfectionCase.py @@ -5,7 +5,8 @@ def __init__(self, no: int = 1, assigned_to_load_cases: str = '1', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -15,7 +16,7 @@ def __init__(self, ''' # Client model | Imperfection Case - clientObject = Model.clientModel.factory.create('ns0:imperfection_case') + clientObject = model.clientModel.factory.create('ns0:imperfection_case') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -35,4 +36,4 @@ def __init__(self, clientObject[key] = params[key] # Add Imperfection Case to client model - Model.clientModel.service.set_imperfection_case(clientObject) + model.clientModel.service.set_imperfection_case(clientObject) diff --git a/RFEM/ImportExport/exports.py b/RFEM/ImportExport/exports.py index 74442bed..750221cc 100644 --- a/RFEM/ImportExport/exports.py +++ b/RFEM/ImportExport/exports.py @@ -3,52 +3,52 @@ from RFEM.initModel import Model from RFEM.enums import IFCExportType, ObjectTypes -def ExportDetailsOfDesignToCSV(targetDirectoryPath: str): +def ExportDetailsOfDesignToCSV(targetDirectoryPath: str, model = Model): ''' Export details of design to CSV format. Args: targetDirectoryPath (string): Destination path to the directory ''' - Model.clientModel.service.export_details_of_design_to_csv(targetDirectoryPath) + model.clientModel.service.export_details_of_design_to_csv(targetDirectoryPath) -def ExportResultTablesToCSV(targetDirectoryPath: str): +def ExportResultTablesToCSV(targetDirectoryPath: str, model = Model): ''' Export result tables to CSV format. Args: targetDirectoryPath (string): Destination path to the directory ''' - Model.clientModel.service.export_result_tables_to_csv(targetDirectoryPath) + model.clientModel.service.export_result_tables_to_csv(targetDirectoryPath) -def ExportResultTablesToXML(targetFilePath: str): +def ExportResultTablesToXML(targetFilePath: str, model = Model): ''' Export result tables to XML format. Args: targetFilePath (string): Destination path to the file ''' - Model.clientModel.service.export_result_tables_to_xml(targetFilePath) + model.clientModel.service.export_result_tables_to_xml(targetFilePath) -def ExportResultTablesWithDetaliedMembersResultsToCSV(targetDirectoryPath: str): +def ExportResultTablesWithDetaliedMembersResultsToCSV(targetDirectoryPath: str, model = Model): ''' Export result tables with detailed member results to CSV format. Args: targetDirectoryPath (string): Destination path to the directory ''' - Model.clientModel.service.export_result_tables_with_detailed_members_results_to_csv(targetDirectoryPath) + model.clientModel.service.export_result_tables_with_detailed_members_results_to_csv(targetDirectoryPath) -def ExportResultTablesWithDetaliedMembersResultsToXML(targetFilePath: str): +def ExportResultTablesWithDetaliedMembersResultsToXML(targetFilePath: str, model = Model): ''' Export result tables with detailed member results to XML format. Args: targetFilePath (string): Destination path to the file ''' - Model.clientModel.service.export_result_tables_with_detailed_members_results_to_xml(targetFilePath) + model.clientModel.service.export_result_tables_with_detailed_members_results_to_xml(targetFilePath) -def ExportTo(targetFilePath: str): +def ExportTo(targetFilePath: str, model = Model): ''' Export active model to format specified by suffix of the destination path to file. Supported formats are .xml, .vtk, .xlsx, .saf, .gltf, and .glb. @@ -56,7 +56,7 @@ def ExportTo(targetFilePath: str): Args: targetFilePath (string): Destination path to the file ''' - Model.clientModel.service.export_to(targetFilePath) + model.clientModel.service.export_to(targetFilePath) IFCExportSettings = { 'mirror_axis_x': False, @@ -102,7 +102,7 @@ def ObjectLocations(locationsArray): return {'location': locationsArray} -def ExportToIFC(targetFilePath: str, IFCSettings: IFCExportSettings, ObjectLoc = None): +def ExportToIFC(targetFilePath: str, IFCSettings: IFCExportSettings, ObjectLoc = None, model = Model): ''' Use this function to export active model t o IFC. @@ -112,20 +112,20 @@ def ExportToIFC(targetFilePath: str, IFCSettings: IFCExportSettings, ObjectLoc = ObjectLoc (array): array of ObjectLocation dictionary. If left out, all objects will be exported to IFC. ''' if ObjectLoc: - Model.clientModel.service.export_to_ifc(targetFilePath, IFCSettings, ObjectLoc) + model.clientModel.service.export_to_ifc(targetFilePath, IFCSettings, ObjectLoc) else: - Model.clientModel.service.export_to_ifc(targetFilePath, IFCSettings) + model.clientModel.service.export_to_ifc(targetFilePath, IFCSettings) -def ExportToTables(targetDirectoryPath: str): +def ExportToTables(targetDirectoryPath: str, model = Model): ''' Export active model to tables. Args: targetDirectoryPath (string): Destination path to the directory ''' - Model.clientModel.service.export_to_tables(targetDirectoryPath) + model.clientModel.service.export_to_tables(targetDirectoryPath) -def GetTableExportConfigManager(): +def GetTableExportConfigManager(model = Model): ''' Export active model to tables. Use this fuction to obtain input parameter to SetTableExportConfigManager() @@ -133,9 +133,9 @@ def GetTableExportConfigManager(): Return: Table export configuration. ''' - return Model.clientModel.service.get_table_export_config_manager() + return model.clientModel.service.get_table_export_config_manager() -def SetTableExportConfigManager(TableExportConfigManager): +def SetTableExportConfigManager(TableExportConfigManager, model = Model): ''' Create or change table export settings. To obtain input data (TableExportConfigManager) call GetTableExportConfigManager() first. @@ -143,7 +143,7 @@ def SetTableExportConfigManager(TableExportConfigManager): Args: TableExportConfigManager (dict): Table export config ''' - Model.clientModel.service.set_table_export_config_manager(TableExportConfigManager) + model.clientModel.service.set_table_export_config_manager(TableExportConfigManager) def ParseCSVResultsFromSelectedFileToDict(filePath: str): diff --git a/RFEM/LoadCasesAndCombinations/designSituation.py b/RFEM/LoadCasesAndCombinations/designSituation.py index 15e58cff..6096c03f 100644 --- a/RFEM/LoadCasesAndCombinations/designSituation.py +++ b/RFEM/LoadCasesAndCombinations/designSituation.py @@ -8,7 +8,8 @@ def __init__(self, active: bool = True, name = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: @@ -21,7 +22,7 @@ def __init__(self, """ # Client model | Design Situation - clientObject = Model.clientModel.factory.create('ns0:design_situation') + clientObject = model.clientModel.factory.create('ns0:design_situation') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -49,4 +50,4 @@ def __init__(self, clientObject[key] = params[key] # Add Design Situation to client model - Model.clientModel.service.set_design_situation(clientObject) + model.clientModel.service.set_design_situation(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/loadCase.py b/RFEM/LoadCasesAndCombinations/loadCase.py index 951a40ee..3d4247d1 100644 --- a/RFEM/LoadCasesAndCombinations/loadCase.py +++ b/RFEM/LoadCasesAndCombinations/loadCase.py @@ -9,7 +9,8 @@ def __init__(self, name: str = 'Self-weight', self_weight: list = [True, 0.0, 0.0, 1.0], comment: str = 'Comment', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Load Case Tag @@ -21,7 +22,7 @@ def __init__(self, ''' # Client model | Load Case - clientObject = Model.clientModel.factory.create('ns0:load_case') + clientObject = model.clientModel.factory.create('ns0:load_case') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -68,7 +69,7 @@ def __init__(self, clientObject[key] = params[key] # Add Load Case to client model - Model.clientModel.service.set_load_case(clientObject) + model.clientModel.service.set_load_case(clientObject) @staticmethod def StaticAnalysis( @@ -79,7 +80,8 @@ def StaticAnalysis( action_category=ActionCategoryType.ACTION_CATEGORY_PERMANENT_G, self_weight=[True, 0.0, 0.0, 10.0], comment: str = 'Comment', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Load Case Tag @@ -98,7 +100,7 @@ def StaticAnalysis( ''' # Client model | Load Case - clientObject = Model.clientModel.factory.create('ns0:load_case') + clientObject = model.clientModel.factory.create('ns0:load_case') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -145,4 +147,4 @@ def StaticAnalysis( clientObject[key] = params[key] # Add Load Case to client model - Model.clientModel.service.set_load_case(clientObject) + model.clientModel.service.set_load_case(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/loadCombination.py b/RFEM/LoadCasesAndCombinations/loadCombination.py index 19a08cf3..08fe107e 100644 --- a/RFEM/LoadCasesAndCombinations/loadCombination.py +++ b/RFEM/LoadCasesAndCombinations/loadCombination.py @@ -14,10 +14,11 @@ def __init__(self, to_solve: bool = True, combination_items = [[1.5, 1, 0, False]], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Load Combination - clientObject = Model.clientModel.factory.create('ns0:load_combination') + clientObject = model.clientModel.factory.create('ns0:load_combination') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -60,10 +61,10 @@ def __init__(self, clientObject[key] = params[key] # Items - clientObject.items = Model.clientModel.factory.create('ns0:load_combination.items') + clientObject.items = model.clientModel.factory.create('ns0:load_combination.items') for i,j in enumerate(combination_items): - mlvlp = Model.clientModel.factory.create('ns0:load_combination_items') + mlvlp = model.clientModel.factory.create('ns0:load_combination_items') mlvlp.no = i+1 mlvlp.factor = combination_items[i][0] mlvlp.load_case = combination_items[i][1] @@ -94,4 +95,4 @@ def __init__(self, clientObject.items.load_combination_items.append(mlvlp) # Add Load Combination to client model - Model.clientModel.service.set_load_combination(clientObject) + model.clientModel.service.set_load_combination(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py index 2d90a469..cabc7108 100644 --- a/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py +++ b/RFEM/LoadCasesAndCombinations/modalAnalysisSettings.py @@ -12,7 +12,8 @@ def __init__(self, acting_masses = [], neglect_masses = ModalNeglectMasses.E_NEGLECT_MASSES_NO_NEGLECTION, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Setting Tag @@ -27,7 +28,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:modal_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:modal_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -75,4 +76,4 @@ def __init__(self, clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_modal_analysis_settings(clientObject) + model.clientModel.service.set_modal_analysis_settings(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/resultCombination.py b/RFEM/LoadCasesAndCombinations/resultCombination.py index 3270be88..ab8bb4c5 100644 --- a/RFEM/LoadCasesAndCombinations/resultCombination.py +++ b/RFEM/LoadCasesAndCombinations/resultCombination.py @@ -4,7 +4,8 @@ class ResultCombination(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -14,7 +15,7 @@ def __init__(self, ''' # Client model | Result Combination - clientObject = Model.clientModel.factory.create('ns0:result_combination') + clientObject = model.clientModel.factory.create('ns0:result_combination') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -31,4 +32,4 @@ def __init__(self, clientObject[key] = params[key] # Add Result Combination to client model - Model.clientModel.service.set_result_combination(clientObject) + model.clientModel.service.set_result_combination(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py index 34ba2637..40d939cd 100644 --- a/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py +++ b/RFEM/LoadCasesAndCombinations/spectralAnalysisSettings.py @@ -14,7 +14,8 @@ def __init__(self, damping_for_cqc_rule = CqsDampingRule.CONSTANT_FOR_EACH_MODE, constant_d_for_each_mode: float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -33,7 +34,7 @@ def __init__(self, ''' # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:spectral_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:spectral_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -80,4 +81,4 @@ def __init__(self, for key in params: clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_spectral_analysis_settings(clientObject) + model.clientModel.service.set_spectral_analysis_settings(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py index 8c0f61fc..40b18832 100644 --- a/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py +++ b/RFEM/LoadCasesAndCombinations/stabilityAnalysisSettings.py @@ -8,7 +8,8 @@ def __init__(self, no: int = 1, name: str = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Stability Analysis Setting Tag @@ -18,7 +19,7 @@ def __init__(self, ''' # Client model | Stability Analysis Settings - clientObject = Model.clientModel.factory.create('ns0:stability_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:stability_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -52,7 +53,7 @@ def __init__(self, clientObject[key] = params[key] # Add Stability Analysis Settings to client model - Model.clientModel.service.set_stability_analysis_settings(clientObject) + model.clientModel.service.set_stability_analysis_settings(clientObject) @staticmethod def EigenvalueMethod( @@ -66,7 +67,8 @@ def EigenvalueMethod( eigenvalue_method = StabilityAnalysisSettingsEigenvalueMethod.EIGENVALUE_METHOD_LANCZOS, matrix_type = StabilityAnalysisSettingsMatrixType.MATRIX_TYPE_STANDARD, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Stability Analysis Setting Tag @@ -94,7 +96,7 @@ def EigenvalueMethod( params (dict, optional): ''' # Client model | Stability Analysis Settings - clientObject = Model.clientModel.factory.create('ns0:stability_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:stability_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -147,7 +149,7 @@ def EigenvalueMethod( clientObject[key] = params[key] # Add Stability Analysis Settings to client model - Model.clientModel.service.set_stability_analysis_settings(clientObject) + model.clientModel.service.set_stability_analysis_settings(clientObject) @staticmethod def IncrementalyMethodWithEigenvalue( @@ -164,7 +166,8 @@ def IncrementalyMethodWithEigenvalue( eigenvalue_method = StabilityAnalysisSettingsEigenvalueMethod.EIGENVALUE_METHOD_LANCZOS, matrix_type = StabilityAnalysisSettingsMatrixType.MATRIX_TYPE_STANDARD, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Stability Analysis Setting Tag @@ -213,7 +216,7 @@ def IncrementalyMethodWithEigenvalue( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' # Client model | Stability Analysis Settings - clientObject = Model.clientModel.factory.create('ns0:stability_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:stability_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -289,7 +292,7 @@ def IncrementalyMethodWithEigenvalue( clientObject[key] = params[key] # Add Stability Analysis Settings to client model - Model.clientModel.service.set_stability_analysis_settings(clientObject) + model.clientModel.service.set_stability_analysis_settings(clientObject) @staticmethod def IncrementalyMethodWithoutEigenvalue( @@ -301,7 +304,8 @@ def IncrementalyMethodWithoutEigenvalue( stopping_of_load_increasing = None, save_results_of_all_increments: bool = False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Stability Analysis Setting Tag @@ -341,7 +345,7 @@ def IncrementalyMethodWithoutEigenvalue( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary ''' # Client model | Stability Analysis Settings - clientObject = Model.clientModel.factory.create('ns0:stability_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:stability_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -400,4 +404,4 @@ def IncrementalyMethodWithoutEigenvalue( clientObject[key] = params[key] # Add Stability Analysis Settings to client model - Model.clientModel.service.set_stability_analysis_settings(clientObject) + model.clientModel.service.set_stability_analysis_settings(clientObject) diff --git a/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py b/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py index eb261370..9e2d288d 100644 --- a/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py +++ b/RFEM/LoadCasesAndCombinations/staticAnalysisSettings.py @@ -9,7 +9,8 @@ def __init__(self, name: str = None, analysis_type=StaticAnalysisType.GEOMETRICALLY_LINEAR, comment: str = '', - params: dict = []): + params: dict = None, + model = Model): """ Args: no (int): Static Analysis Setting Tag @@ -19,7 +20,7 @@ def __init__(self, params (dict): Parameters """ # Client model | Surface - clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:static_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -43,7 +44,7 @@ def __init__(self, clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_static_analysis_settings(clientObject) + model.clientModel.service.set_static_analysis_settings(clientObject) @staticmethod def GeometricallyLinear( @@ -56,7 +57,8 @@ def GeometricallyLinear( plate_bending_theory = StaticAnalysisSettingsPlateBendingTheory.PLATE_BENDING_THEORY_MINDLIN, mass_conversion = [False, 0, 0, 0], comment: str = '', - params: dict = []): + params: dict = None, + model = Model): """ Args: @@ -75,7 +77,7 @@ def GeometricallyLinear( """ # Client model - clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:static_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -129,7 +131,7 @@ def GeometricallyLinear( clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_static_analysis_settings(clientObject) + model.clientModel.service.set_static_analysis_settings(clientObject) @staticmethod def LargeDeformation( @@ -146,7 +148,8 @@ def LargeDeformation( plate_bending_theory = StaticAnalysisSettingsPlateBendingTheory.PLATE_BENDING_THEORY_MINDLIN, mass_conversion = [False, 0, 0, 1], comment: str = '', - params: dict = {'save_results_of_all_load_increments': False}): + params: dict = {'save_results_of_all_load_increments': False}, + model = Model): """ Args: @@ -173,7 +176,7 @@ def LargeDeformation( """ # Client model - clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:static_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -252,7 +255,7 @@ def LargeDeformation( clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_static_analysis_settings(clientObject) + model.clientModel.service.set_static_analysis_settings(clientObject) @staticmethod def SecondOrderPDelta( @@ -270,7 +273,8 @@ def SecondOrderPDelta( plate_bending_theory = StaticAnalysisSettingsPlateBendingTheory.PLATE_BENDING_THEORY_MINDLIN, mass_conversion = [False, 0, 0, 1], comment: str = '', - params: dict = []): + params: dict = None, + model = Model): """ Args: no (int): Static Analysis Setting Tag @@ -294,7 +298,7 @@ def SecondOrderPDelta( """ # Client model - clientObject = Model.clientModel.factory.create('ns0:static_analysis_settings') + clientObject = model.clientModel.factory.create('ns0:static_analysis_settings') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -372,4 +376,4 @@ def SecondOrderPDelta( clientObject[key] = params[key] # Add Static Analysis Settings to client model - Model.clientModel.service.set_static_analysis_settings(clientObject) + model.clientModel.service.set_static_analysis_settings(clientObject) diff --git a/RFEM/Loads/freeLoad.py b/RFEM/Loads/freeLoad.py index 49fb7629..f446d729 100644 --- a/RFEM/Loads/freeLoad.py +++ b/RFEM/Loads/freeLoad.py @@ -17,7 +17,8 @@ def ConcentratedLoad( load_direction = FreeConcentratedLoadLoadDirection.LOAD_DIRECTION_GLOBAL_Z, load_parameter = [1000, 0, 0], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -39,7 +40,7 @@ def ConcentratedLoad( ''' # Client model | Free Concentrated Load - clientObject = Model.clientModel.factory.create('ns0:free_concentrated_load') + clientObject = model.clientModel.factory.create('ns0:free_concentrated_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -78,7 +79,7 @@ def ConcentratedLoad( clientObject[key] = params[key] # Add Free Concentrated Load to client model - Model.clientModel.service.set_free_concentrated_load(load_case_no, clientObject) + model.clientModel.service.set_free_concentrated_load(load_case_no, clientObject) @staticmethod def LineLoad( @@ -90,7 +91,8 @@ def LineLoad( load_direction = FreeLineLoadLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -110,7 +112,7 @@ def LineLoad( ''' # Client model | Free Concentrated Load - clientObject = Model.clientModel.factory.create('ns0:free_line_load') + clientObject = model.clientModel.factory.create('ns0:free_line_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -161,7 +163,7 @@ def LineLoad( clientObject[key] = params[key] # Add Free Concentrated Load to client model - Model.clientModel.service.set_free_line_load(load_case_no, clientObject) + model.clientModel.service.set_free_line_load(load_case_no, clientObject) @staticmethod def RectangularLoad( @@ -175,7 +177,8 @@ def RectangularLoad( load_location = FreeRectangularLoadLoadLocationRectangle.LOAD_LOCATION_RECTANGLE_CORNER_POINTS, load_location_parameter = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -215,7 +218,7 @@ def RectangularLoad( ''' # Client model | Free Concentrated Load - clientObject = Model.clientModel.factory.create('ns0:free_rectangular_load') + clientObject = model.clientModel.factory.create('ns0:free_rectangular_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -272,10 +275,10 @@ def RectangularLoad( clientObject.load_location_second_x = load_location_parameter[2] clientObject.load_location_second_y = load_location_parameter[3] - clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') + clientObject.load_varying_in_z_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') varying_in_z = load_location_parameter[4] for i,j in enumerate(varying_in_z): - frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') + frllvp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') frllvp.no = i+1 frllvp.distance = varying_in_z[i][0] frllvp.factor = varying_in_z[i][1] @@ -296,10 +299,10 @@ def RectangularLoad( clientObject.axis_definition_p2_z = load_location_parameter[5][2] clientObject.axis_start_angle = load_location_parameter[6] - clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') + clientObject.load_varying_along_perimeter_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') varying_along_perimeter = load_location_parameter[7] for i,j in enumerate(varying_along_perimeter): - frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') + frllvapp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') frllvapp.no = i+1 frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180) frllvapp.factor = varying_along_perimeter[i][1] @@ -313,10 +316,10 @@ def RectangularLoad( clientObject.load_location_second_x = load_location_parameter[2] clientObject.load_location_second_y = load_location_parameter[3] - clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') + clientObject.load_varying_in_z_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') varying_in_z = load_location_parameter[4] for i,j in enumerate(varying_in_z): - frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') + frllvp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') frllvp.no = i+1 frllvp.distance = varying_in_z[i][0] frllvp.factor = varying_in_z[i][1] @@ -330,10 +333,10 @@ def RectangularLoad( clientObject.axis_definition_p2_z = load_location_parameter[6][2] clientObject.axis_start_angle = load_location_parameter[7] - clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') + clientObject.load_varying_along_perimeter_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') varying_along_perimeter = load_location_parameter[8] for i,j in enumerate(varying_along_perimeter): - frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') + frllvapp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') frllvapp.no = i+1 frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180) frllvapp.factor = varying_along_perimeter[i][1] @@ -358,10 +361,10 @@ def RectangularLoad( clientObject.load_location_center_side_a = load_location_parameter[2] clientObject.load_location_center_side_b = load_location_parameter[3] - clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') + clientObject.load_varying_in_z_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') varying_in_z = load_location_parameter[4] for i,j in enumerate(varying_in_z): - frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') + frllvp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') frllvp.no = i+1 frllvp.distance = varying_in_z[i][0] frllvp.factor = varying_in_z[i][1] @@ -382,10 +385,10 @@ def RectangularLoad( clientObject.axis_definition_p2_z = load_location_parameter[5][2] clientObject.axis_start_angle = load_location_parameter[6] - clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') + clientObject.load_varying_along_perimeter_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') varying_along_perimeter = load_location_parameter[7] for i,j in enumerate(varying_along_perimeter): - frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') + frllvapp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') frllvapp.no = i+1 frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180) frllvapp.factor = varying_along_perimeter[i][1] @@ -399,10 +402,10 @@ def RectangularLoad( clientObject.load_location_center_side_a = load_location_parameter[2] clientObject.load_location_center_side_b = load_location_parameter[3] - clientObject.load_varying_in_z_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') + clientObject.load_varying_in_z_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_in_z_parameters') varying_in_z = load_location_parameter[4] for i,j in enumerate(varying_in_z): - frllvp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') + frllvp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_in_z_parameters') frllvp.no = i+1 frllvp.distance = varying_in_z[i][0] frllvp.factor = varying_in_z[i][1] @@ -416,10 +419,10 @@ def RectangularLoad( clientObject.axis_definition_p2_z = load_location_parameter[6][2] clientObject.axis_start_angle = load_location_parameter[7] - clientObject.load_varying_along_perimeter_parameters = Model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') + clientObject.load_varying_along_perimeter_parameters = model.clientModel.factory.create('ns0:free_rectangular_load.load_varying_along_perimeter_parameters') varying_along_perimeter = load_location_parameter[8] for i,j in enumerate(varying_along_perimeter): - frllvapp = Model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') + frllvapp = model.clientModel.factory.create('ns0:free_rectangular_load_load_varying_along_perimeter_parameters') frllvapp.no = i+1 frllvapp.alpha = varying_along_perimeter[i][0] * (pi/180) frllvapp.factor = varying_along_perimeter[i][1] @@ -434,7 +437,7 @@ def RectangularLoad( clientObject[key] = params[key] # Add Free Concentrated Load to client model - Model.clientModel.service.set_free_rectangular_load(load_case_no, clientObject) + model.clientModel.service.set_free_rectangular_load(load_case_no, clientObject) @staticmethod def CircularLoad( @@ -446,7 +449,8 @@ def CircularLoad( load_direction = FreeCircularLoadLoadDirection.LOAD_DIRECTION_GLOBAL_Z_TRUE, load_parameter = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -466,7 +470,7 @@ def CircularLoad( ''' # Client model | Free Concentrated Load - clientObject = Model.clientModel.factory.create('ns0:free_circular_load') + clientObject = model.clientModel.factory.create('ns0:free_circular_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -516,7 +520,7 @@ def CircularLoad( clientObject[key] = params[key] # Add Free Concentrated Load to client model - Model.clientModel.service.set_free_circular_load(load_case_no, clientObject) + model.clientModel.service.set_free_circular_load(load_case_no, clientObject) @staticmethod def PolygonLoad( @@ -529,7 +533,8 @@ def PolygonLoad( load_location = [], load_parameter = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -558,7 +563,7 @@ def PolygonLoad( ''' # Client model | Free Concentrated Load - clientObject = Model.clientModel.factory.create('ns0:free_polygon_load') + clientObject = model.clientModel.factory.create('ns0:free_polygon_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -582,9 +587,9 @@ def PolygonLoad( clientObject.load_direction = load_direction.name # Load Location - clientObject.load_location = Model.clientModel.factory.create('ns0:free_polygon_load.load_location') + clientObject.load_location = model.clientModel.factory.create('ns0:free_polygon_load.load_location') for i,j in enumerate(load_location): - fplld = Model.clientModel.factory.create('ns0:free_polygon_load_load_location') + fplld = model.clientModel.factory.create('ns0:free_polygon_load_load_location') fplld.no = i+1 fplld.first_coordinate = load_location[i][0] fplld.second_coordinate = load_location[i][1] @@ -623,4 +628,4 @@ def PolygonLoad( clientObject[key] = params[key] # Add Free Concentrated Load to client model - Model.clientModel.service.set_free_polygon_load(load_case_no, clientObject) + model.clientModel.service.set_free_polygon_load(load_case_no, clientObject) diff --git a/RFEM/Loads/imposedLineDeformation.py b/RFEM/Loads/imposedLineDeformation.py index a9daf468..63decca1 100644 --- a/RFEM/Loads/imposedLineDeformation.py +++ b/RFEM/Loads/imposedLineDeformation.py @@ -16,10 +16,11 @@ def __init__(self, load_case_no: int = 1, line_no: str = '1', comment: str = '', - params: dict = LineDeformationParams): + params: dict = LineDeformationParams, + model = Model): # Client model | Imposed Line Deformation - clientObject = Model.clientModel.factory.create('ns0:imposed_line_deformation') + clientObject = model.clientModel.factory.create('ns0:imposed_line_deformation') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -42,4 +43,4 @@ def __init__(self, clientObject[key] = params[key] # Add Nodal Support to client model - Model.clientModel.service.set_imposed_line_deformation(load_case_no, clientObject) + model.clientModel.service.set_imposed_line_deformation(load_case_no, clientObject) diff --git a/RFEM/Loads/imposedNodalDeformation.py b/RFEM/Loads/imposedNodalDeformation.py index 12453f3a..eb5ac2cc 100644 --- a/RFEM/Loads/imposedNodalDeformation.py +++ b/RFEM/Loads/imposedNodalDeformation.py @@ -6,15 +6,16 @@ def __init__(self, no: int = 1, load_case_no: int = 1, node_no: str = '1', - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: load_parameter = [imposed_displacement_x, imposed_displacement_y, imposed_displacement_z, imposed_rotation_x, imposed_rotation_y imposed_rotation_z] ''' # Client model | Imposed Nodal Deformation - clientObject = Model.clientModel.factory.create('ns0:imposed_nodal_deformation') + clientObject = model.clientModel.factory.create('ns0:imposed_nodal_deformation') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -47,4 +48,4 @@ def __init__(self, clientObject[key] = params[key] # Add Imposed Nodal Deformation to client model - Model.clientModel.service.set_imposed_nodal_deformation(load_case_no, clientObject) + model.clientModel.service.set_imposed_nodal_deformation(load_case_no, clientObject) diff --git a/RFEM/Loads/lineLoad.py b/RFEM/Loads/lineLoad.py index 90728a74..09d2c315 100644 --- a/RFEM/Loads/lineLoad.py +++ b/RFEM/Loads/lineLoad.py @@ -10,7 +10,8 @@ def __init__(self, load_direction = LoadDirectionType.LOAD_DIRECTION_LOCAL_Z, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -24,7 +25,7 @@ def __init__(self, ''' # Client model | Line Load - clientObject = Model.clientModel.factory.create('ns0:line_load') + clientObject = model.clientModel.factory.create('ns0:line_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -61,19 +62,20 @@ def __init__(self, clientObject[key] = params[key] # Add Load Line Load to client model - Model.clientModel.service.set_line_load(load_case_no, clientObject) + model.clientModel.service.set_line_load(load_case_no, clientObject) @staticmethod def Force( no: int = 1, load_case_no: int = 1, lines_no: str = '1', - load_distribution= LineLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_direction= LineLoadDirection.LOAD_DIRECTION_LOCAL_Z, - load_parameter = None, + load_distribution = LineLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, + load_direction = LineLoadDirection.LOAD_DIRECTION_LOCAL_Z, + load_parameter: list = None, list_reference: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -111,7 +113,7 @@ def Force( ''' # Client model | Line Load - clientObject = Model.clientModel.factory.create('ns0:line_load') + clientObject = model.clientModel.factory.create('ns0:line_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -220,12 +222,12 @@ def Force( except: print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:line_load.varying_load_parameters') for i,j in enumerate(load_parameter): if len(load_parameter[i]) != 3: raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.') - mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:line_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -287,11 +289,11 @@ def Force( except: print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:line_load.varying_load_parameters') for i,j in enumerate(load_parameter): if len(load_parameter[i]) != 3: raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.') - mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:line_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -315,7 +317,7 @@ def Force( clientObject[key] = params[key] # Add Load Line Load to client model - Model.clientModel.service.set_line_load(load_case_no, clientObject) + model.clientModel.service.set_line_load(load_case_no, clientObject) @staticmethod def Moment( @@ -324,10 +326,11 @@ def Moment( lines_no: str = '1', load_distribution = LineLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, load_direction = LineLoadDirection.LOAD_DIRECTION_LOCAL_Z, - load_parameter = None, + load_parameter: list = None, list_reference: bool = False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -363,7 +366,7 @@ def Moment( ''' # Client model | Line Load - clientObject = Model.clientModel.factory.create('ns0:line_load') + clientObject = model.clientModel.factory.create('ns0:line_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -472,12 +475,12 @@ def Moment( except: print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:line_load.varying_load_parameters') for i,j in enumerate(load_parameter): if len(load_parameter[i]) != 3: raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.') - mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:line_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -539,11 +542,11 @@ def Moment( except: print("WARNING: LineLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:line_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:line_load.varying_load_parameters') for i,j in enumerate(load_parameter): if len(load_parameter[i]) != 3: raise Exception('WARNING: The load parameter sub-lists need to be of length 3. Kindly check sub-list inputs for completeness and correctness.') - mlvlp = Model.clientModel.factory.create('ns0:line_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:line_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -567,7 +570,7 @@ def Moment( clientObject[key] = params[key] # Add Load Line Load to client model - Model.clientModel.service.set_line_load(load_case_no, clientObject) + model.clientModel.service.set_line_load(load_case_no, clientObject) @staticmethod def Mass( @@ -575,9 +578,10 @@ def Mass( load_case_no: int = 1, lines_no: str = '1', individual_mass_components: bool=True, - mass_components = None, + mass_components: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: no (int): Load Tag @@ -594,7 +598,7 @@ def Mass( ''' # Client model | Line Load - clientObject = Model.clientModel.factory.create('ns0:line_load') + clientObject = model.clientModel.factory.create('ns0:line_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -642,4 +646,4 @@ def Mass( clientObject[key] = params[key] # Add Load Line Load to client model - Model.clientModel.service.set_line_load(load_case_no, clientObject) + model.clientModel.service.set_line_load(load_case_no, clientObject) diff --git a/RFEM/Loads/memberLoad.py b/RFEM/Loads/memberLoad.py index e096d2e7..bad14248 100644 --- a/RFEM/Loads/memberLoad.py +++ b/RFEM/Loads/memberLoad.py @@ -11,7 +11,8 @@ def __init__(self, load_direction = LoadDirectionType.LOAD_DIRECTION_LOCAL_Z, magnitude: float = 2000, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -23,7 +24,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -60,7 +61,7 @@ def __init__(self, clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Force( @@ -73,7 +74,8 @@ def Force( force_eccentricity: bool= False, list_reference: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -121,7 +123,7 @@ def Force( 'eccentricity_z_at_start': 0.0} """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -214,10 +216,10 @@ def Force( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -273,9 +275,9 @@ def Force( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -294,9 +296,9 @@ def Force( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -362,7 +364,7 @@ def Force( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Moment( @@ -374,7 +376,8 @@ def Moment( load_parameter = [], list_reference: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -408,7 +411,7 @@ def Moment( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -501,10 +504,10 @@ def Moment( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -560,9 +563,9 @@ def Moment( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -590,7 +593,7 @@ def Moment( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Mass( @@ -600,7 +603,8 @@ def Mass( individual_mass_components: bool=False, mass_components = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -616,7 +620,7 @@ def Mass( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -656,7 +660,7 @@ def Mass( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -669,7 +673,8 @@ def Temperature( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -699,7 +704,7 @@ def Temperature( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -788,9 +793,9 @@ def Temperature( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -815,7 +820,7 @@ def Temperature( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def TemperatureChange( @@ -828,7 +833,8 @@ def TemperatureChange( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -858,7 +864,7 @@ def TemperatureChange( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -947,9 +953,9 @@ def TemperatureChange( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -974,7 +980,7 @@ def TemperatureChange( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def AxialStrain( @@ -987,7 +993,8 @@ def AxialStrain( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1014,7 +1021,7 @@ def AxialStrain( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1095,9 +1102,9 @@ def AxialStrain( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1122,7 +1129,7 @@ def AxialStrain( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def AxialDisplacement( @@ -1132,7 +1139,8 @@ def AxialDisplacement( load_direction = MemberLoadDirection.LOAD_DIRECTION_LOCAL_X, magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1146,7 +1154,7 @@ def AxialDisplacement( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1182,7 +1190,7 @@ def AxialDisplacement( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Precamber( @@ -1195,7 +1203,8 @@ def Precamber( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1222,7 +1231,7 @@ def Precamber( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1303,9 +1312,9 @@ def Precamber( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1330,7 +1339,7 @@ def Precamber( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def InitialPrestress( @@ -1340,7 +1349,8 @@ def InitialPrestress( load_direction = MemberLoadDirection.LOAD_DIRECTION_LOCAL_X, magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1354,7 +1364,7 @@ def InitialPrestress( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1390,7 +1400,7 @@ def InitialPrestress( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Displacement( @@ -1403,7 +1413,8 @@ def Displacement( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1440,7 +1451,7 @@ def Displacement( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1535,9 +1546,9 @@ def Displacement( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1600,9 +1611,9 @@ def Displacement( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1627,7 +1638,7 @@ def Displacement( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def Rotation( @@ -1640,7 +1651,8 @@ def Rotation( list_reference: bool= False, load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1677,7 +1689,7 @@ def Rotation( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1772,9 +1784,9 @@ def Rotation( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1837,9 +1849,9 @@ def Rotation( except: print("WARNING: MemberLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1864,7 +1876,7 @@ def Rotation( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def PipeContentFull( @@ -1874,7 +1886,8 @@ def PipeContentFull( load_direction_orientation = MemberLoadDirectionOrientation.LOAD_DIRECTION_FORWARD, specific_weight : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1888,7 +1901,7 @@ def PipeContentFull( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1927,7 +1940,7 @@ def PipeContentFull( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def PipeContentPartial( @@ -1938,7 +1951,8 @@ def PipeContentPartial( specific_weight : float = 0.0, filling_height : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -1953,7 +1967,7 @@ def PipeContentPartial( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1995,7 +2009,7 @@ def PipeContentPartial( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def PipeInternalPressure( @@ -2004,7 +2018,8 @@ def PipeInternalPressure( members_no: str = '1', pressure : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -2017,7 +2032,7 @@ def PipeInternalPressure( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2053,7 +2068,7 @@ def PipeInternalPressure( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) + model.clientModel.service.set_member_load(load_case_no, clientObject) @staticmethod def RotaryMotion( @@ -2068,7 +2083,8 @@ def RotaryMotion( axis_definition_p1 = [1,0,1], axis_definition_p2 = [0,1,0], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' Args: @@ -2087,7 +2103,7 @@ def RotaryMotion( ''' # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_load') + clientObject = model.clientModel.factory.create('ns0:member_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2141,4 +2157,4 @@ def RotaryMotion( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_load(load_case_no, clientObject) \ No newline at end of file + model.clientModel.service.set_member_load(load_case_no, clientObject) \ No newline at end of file diff --git a/RFEM/Loads/membersetload.py b/RFEM/Loads/membersetload.py index 326f99bb..b6db9ab6 100644 --- a/RFEM/Loads/membersetload.py +++ b/RFEM/Loads/membersetload.py @@ -12,7 +12,8 @@ def __init__(self, load_direction = LoadDirectionType.LOAD_DIRECTION_LOCAL_Z, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -25,7 +26,7 @@ def __init__(self, """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -62,7 +63,7 @@ def __init__(self, clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Force( @@ -74,7 +75,8 @@ def Force( load_parameter = [], force_eccentricity: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -123,7 +125,7 @@ def Force( 'eccentricity_z_at_start': 0.0} """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -234,10 +236,10 @@ def Force( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -301,9 +303,9 @@ def Force( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -322,9 +324,9 @@ def Force( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -393,7 +395,7 @@ def Force( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Moment( @@ -404,7 +406,8 @@ def Moment( load_direction= MemberSetLoadDirection.LOAD_DIRECTION_LOCAL_Z, load_parameter = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -438,7 +441,7 @@ def Moment( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -553,10 +556,10 @@ def Moment( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -624,9 +627,9 @@ def Moment( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -651,7 +654,7 @@ def Moment( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Mass( @@ -661,7 +664,8 @@ def Mass( individual_mass_components: bool=False, mass_components = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -673,7 +677,7 @@ def Mass( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -715,7 +719,7 @@ def Mass( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -727,7 +731,8 @@ def Temperature( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -755,7 +760,7 @@ def Temperature( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -867,9 +872,9 @@ def Temperature( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -891,7 +896,7 @@ def Temperature( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def TemperatureChange( @@ -903,7 +908,8 @@ def TemperatureChange( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -931,7 +937,7 @@ def TemperatureChange( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1037,9 +1043,9 @@ def TemperatureChange( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1061,7 +1067,7 @@ def TemperatureChange( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def AxialStrain( @@ -1073,7 +1079,8 @@ def AxialStrain( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1098,7 +1105,7 @@ def AxialStrain( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1196,9 +1203,9 @@ def AxialStrain( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1220,7 +1227,7 @@ def AxialStrain( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def AxialDisplacement( @@ -1230,7 +1237,8 @@ def AxialDisplacement( load_direction = MemberSetLoadDirection.LOAD_DIRECTION_LOCAL_X, magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1242,7 +1250,7 @@ def AxialDisplacement( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1278,7 +1286,7 @@ def AxialDisplacement( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Precamber( @@ -1290,7 +1298,8 @@ def Precamber( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1315,7 +1324,7 @@ def Precamber( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1414,9 +1423,9 @@ def Precamber( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1438,7 +1447,7 @@ def Precamber( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def InitialPrestress( @@ -1448,7 +1457,8 @@ def InitialPrestress( load_direction = MemberSetLoadDirection.LOAD_DIRECTION_LOCAL_X, magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1460,7 +1470,7 @@ def InitialPrestress( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1496,7 +1506,7 @@ def InitialPrestress( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Displacement( @@ -1508,7 +1518,8 @@ def Displacement( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1543,7 +1554,7 @@ def Displacement( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1658,9 +1669,9 @@ def Displacement( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1738,9 +1749,9 @@ def Displacement( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -1762,7 +1773,7 @@ def Displacement( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def Rotation( @@ -1774,7 +1785,8 @@ def Rotation( load_parameter = [], load_over_total_length: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -1809,7 +1821,7 @@ def Rotation( load_parameter = [[distance, delta_distance, magnitude], ...] """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -1924,9 +1936,9 @@ def Rotation( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -2004,9 +2016,9 @@ def Rotation( except: print("WARNING: MemberSetLoad no: %x, load case: %x - Wrong data input." % (no, load_case_no)) - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:member_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:member_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -2028,7 +2040,7 @@ def Rotation( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def PipeContentFull( @@ -2038,7 +2050,8 @@ def PipeContentFull( load_direction_orientation = MemberSetLoadDirectionOrientation.LOAD_DIRECTION_FORWARD, specific_weight : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -2050,7 +2063,7 @@ def PipeContentFull( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2089,7 +2102,7 @@ def PipeContentFull( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def PipeContentPartial( @@ -2100,7 +2113,8 @@ def PipeContentPartial( specific_weight : float = 0.0, filling_height : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -2113,7 +2127,7 @@ def PipeContentPartial( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2155,7 +2169,7 @@ def PipeContentPartial( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def PipeInternalPressure( @@ -2164,7 +2178,8 @@ def PipeInternalPressure( member_sets: str = '1', pressure : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -2175,7 +2190,7 @@ def PipeInternalPressure( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2211,7 +2226,7 @@ def PipeInternalPressure( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) @staticmethod def RotaryMotion( @@ -2226,7 +2241,8 @@ def RotaryMotion( axis_definition_p1 = [], axis_definition_p2 = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -2243,7 +2259,7 @@ def RotaryMotion( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Member Load - clientObject = Model.clientModel.factory.create('ns0:member_set_load') + clientObject = model.clientModel.factory.create('ns0:member_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -2297,4 +2313,4 @@ def RotaryMotion( clientObject[key] = params[key] # Add Load Member Load to client model - Model.clientModel.service.set_member_set_load(load_case_no, clientObject) + model.clientModel.service.set_member_set_load(load_case_no, clientObject) diff --git a/RFEM/Loads/nodalLoad.py b/RFEM/Loads/nodalLoad.py index b9d52fe3..9bf48028 100644 --- a/RFEM/Loads/nodalLoad.py +++ b/RFEM/Loads/nodalLoad.py @@ -10,7 +10,8 @@ def __init__(self, load_direction= LoadDirectionType.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W, magnitude: float = 0.0, comment: str= '', - params: dict= {}): + params: dict= None, + model = Model): """ Args: no (int): Load Tag @@ -22,7 +23,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Nodal Force - clientObject = Model.clientModel.factory.create('ns0:nodal_load') + clientObject = model.clientModel.factory.create('ns0:nodal_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -55,7 +56,7 @@ def __init__(self, clientObject[key] = params[key] # Add Nodal Force to client model - Model.clientModel.service.set_nodal_load(load_case_no, clientObject) + model.clientModel.service.set_nodal_load(load_case_no, clientObject) @staticmethod def Force( @@ -68,7 +69,8 @@ def Force( specific_direction: bool = False, shifted_display: bool = False, comment: str= '', - params= {}): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -98,7 +100,7 @@ def Force( params={'shifted_display' : [offset_x, offset_y, offset_y, distance]} """ # Client model | Nodal Force - clientObject = Model.clientModel.factory.create('ns0:nodal_load') + clientObject = model.clientModel.factory.create('ns0:nodal_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -199,7 +201,7 @@ def Force( clientObject[key] = params[key] # Add Nodal Force to client model - Model.clientModel.service.set_nodal_load(load_case_no, clientObject) + model.clientModel.service.set_nodal_load(load_case_no, clientObject) @staticmethod def Moment( @@ -211,7 +213,8 @@ def Moment( specific_direction: bool= False, shifted_display: bool= False, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -237,7 +240,7 @@ def Moment( params={'shifted_display' : [offset_x, offset_y, offset_y, distance]} """ # Client model | Nodal Force - clientObject = Model.clientModel.factory.create('ns0:nodal_load') + clientObject = model.clientModel.factory.create('ns0:nodal_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -320,7 +323,7 @@ def Moment( clientObject[key] = params[key] # Add Nodal Force to client model - Model.clientModel.service.set_nodal_load(load_case_no, clientObject) + model.clientModel.service.set_nodal_load(load_case_no, clientObject) @staticmethod def Components( @@ -332,7 +335,8 @@ def Components( force_eccentricity: bool= False, shifted_display: bool= False, comment: str= '', - params: dict= {}): + params: dict= None, + model = Model): """ Args: no (int): Load Tag @@ -357,7 +361,7 @@ def Components( params={'shifted_display' : [offset_x, offset_y, offset_y, distance]} """ # Client model | Nodal Force - clientObject = Model.clientModel.factory.create('ns0:nodal_load') + clientObject = model.clientModel.factory.create('ns0:nodal_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -457,7 +461,7 @@ def Components( clientObject[key] = params[key] # Add Nodal Force to client model - Model.clientModel.service.set_nodal_load(load_case_no, clientObject) + model.clientModel.service.set_nodal_load(load_case_no, clientObject) @staticmethod def Mass( @@ -467,7 +471,8 @@ def Mass( individual_mass_components : bool = False, mass = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -483,7 +488,7 @@ def Mass( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Nodal Force - clientObject = Model.clientModel.factory.create('ns0:nodal_load') + clientObject = model.clientModel.factory.create('ns0:nodal_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -527,4 +532,4 @@ def Mass( clientObject[key] = params[key] # Add Nodal Force to client model - Model.clientModel.service.set_nodal_load(load_case_no, clientObject) + model.clientModel.service.set_nodal_load(load_case_no, clientObject) diff --git a/RFEM/Loads/solidLoad.py b/RFEM/Loads/solidLoad.py index 3c8be1d5..a5379bbd 100644 --- a/RFEM/Loads/solidLoad.py +++ b/RFEM/Loads/solidLoad.py @@ -12,10 +12,11 @@ def __init__(self, load_direction = SolidLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_load') + clientObject = model.clientModel.factory.create('ns0:solid_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -50,7 +51,7 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_load(load_case_no, clientObject) + model.clientModel.service.set_solid_load(load_case_no, clientObject) @staticmethod def Force( @@ -60,10 +61,11 @@ def Force( load_direction = SolidLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_load') + clientObject = model.clientModel.factory.create('ns0:solid_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -98,7 +100,7 @@ def Force( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_load(load_case_no, clientObject) + model.clientModel.service.set_solid_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -106,9 +108,10 @@ def Temperature( load_case_no: int = 1, solids_no: str= '1', load_distribution = SolidLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: LOAD_DISTRIBUTION_UNIFORM: load_parameter = magnitude @@ -119,7 +122,7 @@ def Temperature( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_load') + clientObject = model.clientModel.factory.create('ns0:solid_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -156,7 +159,7 @@ def Temperature( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_load(load_case_no, clientObject) + model.clientModel.service.set_solid_load(load_case_no, clientObject) @staticmethod def Strain( @@ -164,9 +167,10 @@ def Strain( load_case_no: int = 1, solids_no: str= '1', load_distribution = SolidLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: LOAD_DISTRIBUTION_UNIFORM: load_parameter = [strain_uniform_magnitude_x, strain_uniform_magnitude_y, strain_uniform_magnitude_z] @@ -177,7 +181,7 @@ def Strain( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_load') + clientObject = model.clientModel.factory.create('ns0:solid_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -220,16 +224,17 @@ def Strain( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_load(load_case_no, clientObject) + model.clientModel.service.set_solid_load(load_case_no, clientObject) @staticmethod def Motion( no: int = 1, load_case_no: int = 1, solids_no: str= '1', - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: load_parameter = [angular_velocity, angular_acceleration, axis_definition_p1_x, axis_definition_p1_y, axis_definition_p1_z, axis_definition_p2_x, axis_definition_p2_y, axis_definition_p2_z] @@ -237,7 +242,7 @@ def Motion( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_load') + clientObject = model.clientModel.factory.create('ns0:solid_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -277,7 +282,7 @@ def Motion( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_load(load_case_no, clientObject) + model.clientModel.service.set_solid_load(load_case_no, clientObject) #def Buoyancy(): # print('The function Buoyancy() is not implemented yet.') diff --git a/RFEM/Loads/solidSetLoad.py b/RFEM/Loads/solidSetLoad.py index 99ea962c..a43ffd32 100644 --- a/RFEM/Loads/solidSetLoad.py +++ b/RFEM/Loads/solidSetLoad.py @@ -12,10 +12,11 @@ def __init__(self, load_direction = SolidSetLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_set_load') + clientObject = model.clientModel.factory.create('ns0:solid_set_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -50,7 +51,7 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_set_load(load_case_no, clientObject) + model.clientModel.service.set_solid_set_load(load_case_no, clientObject) @staticmethod @@ -61,10 +62,11 @@ def Force( load_direction = SolidSetLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, magnitude: float = 0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_set_load') + clientObject = model.clientModel.factory.create('ns0:solid_set_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -99,7 +101,7 @@ def Force( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_set_load(load_case_no, clientObject) + model.clientModel.service.set_solid_set_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -107,9 +109,10 @@ def Temperature( load_case_no: int = 1, solid_sets_no: str= '1', load_distribution = SolidSetLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: LOAD_DISTRIBUTION_UNIFORM: load_parameter = magnitude @@ -120,7 +123,7 @@ def Temperature( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_set_load') + clientObject = model.clientModel.factory.create('ns0:solid_set_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -157,7 +160,7 @@ def Temperature( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_set_load(load_case_no, clientObject) + model.clientModel.service.set_solid_set_load(load_case_no, clientObject) @staticmethod def Strain( @@ -165,9 +168,10 @@ def Strain( load_case_no: int = 1, solid_sets_no: str= '1', load_distribution = SolidSetLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: LOAD_DISTRIBUTION_UNIFORM: load_parameter = [strain_uniform_magnitude_x, strain_uniform_magnitude_y, strain_uniform_magnitude_z] @@ -178,7 +182,7 @@ def Strain( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_set_load') + clientObject = model.clientModel.factory.create('ns0:solid_set_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -221,16 +225,17 @@ def Strain( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_set_load(load_case_no, clientObject) + model.clientModel.service.set_solid_set_load(load_case_no, clientObject) @staticmethod def Motion( no: int = 1, load_case_no: int = 1, solid_sets_no: str= '1', - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' load_parameter: load_parameter = [angular_velocity, angular_acceleration, axis_definition_p1_x, axis_definition_p1_y, axis_definition_p1_z, axis_definition_p2_x, axis_definition_p2_y, axis_definition_p2_z] @@ -238,7 +243,7 @@ def Motion( {''} ''' # Client model | Solid Load - clientObject = Model.clientModel.factory.create('ns0:solid_set_load') + clientObject = model.clientModel.factory.create('ns0:solid_set_load') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -278,7 +283,7 @@ def Motion( clientObject[key] = params[key] # Add Solid Load to client model - Model.clientModel.service.set_solid_set_load(load_case_no, clientObject) + model.clientModel.service.set_solid_set_load(load_case_no, clientObject) #def Buoyancy(): # print('The function Buoyancy() is not implemented yet.') diff --git a/RFEM/Loads/surfaceLoad.py b/RFEM/Loads/surfaceLoad.py index 0deaf396..aa73d27e 100644 --- a/RFEM/Loads/surfaceLoad.py +++ b/RFEM/Loads/surfaceLoad.py @@ -9,7 +9,8 @@ def __init__(self, surface_no: str = '1', magnitude: float = 1.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -20,7 +21,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -54,7 +55,7 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def Force( @@ -63,9 +64,10 @@ def Force( surface_no: str = '1', load_direction = SurfaceLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, load_distribution = SurfaceLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -95,7 +97,7 @@ def Force( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -163,9 +165,9 @@ def Force( elif load_distribution == SurfaceLoadDistribution.LOAD_DISTRIBUTION_VARYING_IN_Z: - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:surface_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:surface_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:surface_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:surface_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -183,7 +185,7 @@ def Force( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -191,9 +193,10 @@ def Temperature( load_case_no: int = 1, surface_no: str = '1', load_distribution = SurfaceLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -220,7 +223,7 @@ def Temperature( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -295,7 +298,7 @@ def Temperature( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def AxialStrain( @@ -303,9 +306,10 @@ def AxialStrain( load_case_no: int = 1, surface_no: str = '1', load_distribution = SurfaceLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -327,7 +331,7 @@ def AxialStrain( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -382,7 +386,7 @@ def AxialStrain( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def Precamber( @@ -391,7 +395,8 @@ def Precamber( surface_no: str = '1', uniform_magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -402,7 +407,7 @@ def Precamber( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -436,16 +441,17 @@ def Precamber( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def RotaryMotion( no: int = 1, load_case_no: int = 1, surface_no: str = '1', - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -462,7 +468,7 @@ def RotaryMotion( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -507,7 +513,7 @@ def RotaryMotion( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) @staticmethod def Mass( @@ -515,9 +521,10 @@ def Mass( load_case_no: int = 1, surface_no: str = '1', individual_mass_components : bool = False, - mass_parameter = [], + mass_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -535,7 +542,7 @@ def Mass( params (dict, optional): """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_load') + clientObject = model.clientModel.factory.create('ns0:surface_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -577,4 +584,4 @@ def Mass( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_load(load_case_no, clientObject) + model.clientModel.service.set_surface_load(load_case_no, clientObject) diff --git a/RFEM/Loads/surfacesetload.py b/RFEM/Loads/surfacesetload.py index f84fdc97..83929020 100644 --- a/RFEM/Loads/surfacesetload.py +++ b/RFEM/Loads/surfacesetload.py @@ -9,7 +9,8 @@ def __init__(self, surface_sets: str = '1', magnitude: float = 1.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -20,7 +21,7 @@ def __init__(self, params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -54,7 +55,7 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def Force( @@ -63,9 +64,10 @@ def Force( surface_sets: str = '1', load_direction = SurfaceSetLoadDirection.LOAD_DIRECTION_GLOBAL_Z_OR_USER_DEFINED_W_TRUE, load_distribution = SurfaceSetLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -94,7 +96,7 @@ def Force( load_parameter = [[distance_1, delta_distance_1, magnitude_1], [distance_2, delta_distance_2, magnitude_2]...] """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -163,9 +165,9 @@ def Force( elif load_distribution == SurfaceSetLoadDistribution.LOAD_DISTRIBUTION_VARYING_IN_Z: - clientObject.varying_load_parameters = Model.clientModel.factory.create('ns0:surface_set_load.varying_load_parameters') + clientObject.varying_load_parameters = model.clientModel.factory.create('ns0:surface_set_load.varying_load_parameters') for i,j in enumerate(load_parameter): - mlvlp = Model.clientModel.factory.create('ns0:surface_set_load_varying_load_parameters') + mlvlp = model.clientModel.factory.create('ns0:surface_set_load_varying_load_parameters') mlvlp.no = i+1 mlvlp.distance = load_parameter[i][0] mlvlp.delta_distance = load_parameter[i][1] @@ -183,7 +185,7 @@ def Force( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def Temperature( @@ -191,9 +193,10 @@ def Temperature( load_case_no: int = 1, surface_sets: str = '1', load_distribution = SurfaceSetLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = None, + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -219,7 +222,7 @@ def Temperature( load_parameter = [t_c_1, delta_t_1, t_c_2, delta_t_2, node_1, node_2, SurfaceLoadAxisDefinitionType, SurfaceLoadAxisDefinitionAxis, axis_definition_p1] """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -295,7 +298,7 @@ def Temperature( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def AxialStrain( @@ -303,9 +306,10 @@ def AxialStrain( load_case_no: int = 1, surface_sets: str = '1', load_distribution = SurfaceSetLoadDistribution.LOAD_DISTRIBUTION_UNIFORM, - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -328,7 +332,7 @@ def AxialStrain( load_parameter = [magnitude_axial_strain_1x, magnitude_axial_strain_1y, magnitude_axial_strain_2x, magnitude_axial_strain_2y, node_1, node_2] """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -384,7 +388,7 @@ def AxialStrain( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def Precamber( @@ -393,7 +397,8 @@ def Precamber( surface_sets: str = '1', uniform_magnitude : float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -404,7 +409,7 @@ def Precamber( params (dict, optional): Any WS Parameter relevant to the object and its value in form of a dictionary """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -438,16 +443,17 @@ def Precamber( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def RotaryMotion( no: int = 1, load_case_no: int = 1, surface_sets: str = '1', - load_parameter = [], + load_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -463,7 +469,7 @@ def RotaryMotion( load_parameter = [angular_velocity, angular_acceleration, SurfaceLoadAxisDefinitionType, SurfaceLoadAxisDefinitionAxis, SurfaceLoadAxisDirectionType; [x1, y1, z1]] """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -508,7 +514,7 @@ def RotaryMotion( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) @staticmethod def Mass( @@ -516,9 +522,10 @@ def Mass( load_case_no: int = 1, surface_sets: str = '1', individual_mass_components : bool = False, - mass_parameter = [], + mass_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Load Tag @@ -535,7 +542,7 @@ def Mass( mass_parameter = [mass_x, mass_y, mass_z] """ # Client model | Surface Load - clientObject = Model.clientModel.factory.create('ns0:surface_set_load') + clientObject = model.clientModel.factory.create('ns0:surface_set_load') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -571,4 +578,4 @@ def Mass( clientObject[key] = params[key] # Add Surface Load to client model - Model.clientModel.service.set_surface_set_load(load_case_no, clientObject) + model.clientModel.service.set_surface_set_load(load_case_no, clientObject) diff --git a/RFEM/Reports/partsList.py b/RFEM/Reports/partsList.py index 637bf8d0..cb76ded1 100644 --- a/RFEM/Reports/partsList.py +++ b/RFEM/Reports/partsList.py @@ -1,62 +1,62 @@ from RFEM.initModel import Model -def GetPartsListAllByMaterial(): +def GetPartsListAllByMaterial(model = Model): ''' Returns Parts List All By Material ''' try: - return Model.clientModel.service.get_parts_list_all_by_material() + return model.clientModel.service.get_parts_list_all_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_all_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_all_by_material() -def GetPartsListMemberRepresentativesByMaterial(): +def GetPartsListMemberRepresentativesByMaterial(model = Model): ''' Returns Parts List Member Representatives By Material ''' try: - return Model.clientModel.service.get_parts_list_member_representatives_by_material() + return model.clientModel.service.get_parts_list_member_representatives_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_member_representatives_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_member_representatives_by_material() -def GetPartsListMemberSetsByMaterial(): +def GetPartsListMemberSetsByMaterial(model = Model): ''' Returns Parts List Member Sets By Material ''' try: - return Model.clientModel.service.get_parts_list_member_sets_by_material() + return model.clientModel.service.get_parts_list_member_sets_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_member_sets_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_member_sets_by_material() -def GetPartsListMembersByMaterial(): +def GetPartsListMembersByMaterial(model = Model): ''' Returns Parts List Members By Material ''' try: - return Model.clientModel.service.get_parts_list_members_by_material() + return model.clientModel.service.get_parts_list_members_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_members_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_members_by_material() -def GetPartsListSolidsByMaterial(): +def GetPartsListSolidsByMaterial(model = Model): ''' Returns Parts List Solids By Material ''' try: - return Model.clientModel.service.get_parts_list_solids_by_material() + return model.clientModel.service.get_parts_list_solids_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_solids_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_solids_by_material() -def GetPartsListSurfacessByMaterial(): +def GetPartsListSurfacessByMaterial(model = Model): ''' Returns Parts List Surfaces By Material ''' try: - return Model.clientModel.service.get_parts_list_surfaces_by_material() + return model.clientModel.service.get_parts_list_surfaces_by_material() except: - Model.clientModel.service.generate_parts_lists() - return Model.clientModel.service.get_parts_list_surfaces_by_material() + model.clientModel.service.generate_parts_lists() + return model.clientModel.service.get_parts_list_surfaces_by_material() diff --git a/RFEM/Results/designOverview.py b/RFEM/Results/designOverview.py index a7c731c0..7cee1942 100644 --- a/RFEM/Results/designOverview.py +++ b/RFEM/Results/designOverview.py @@ -1,11 +1,11 @@ from RFEM.initModel import Model -def GetDesignOverview(): +def GetDesignOverview(model = Model): ''' Returns whole Design Overview list. ''' # Return Design Overview - return Model.clientModel.service.get_design_overview() + return model.clientModel.service.get_design_overview() def GetPartialDesignOverview(comply: bool = False): """ diff --git a/RFEM/SpecialObjects/enlargedColumnHead.py b/RFEM/SpecialObjects/enlargedColumnHead.py index e559ebed..76b29665 100644 --- a/RFEM/SpecialObjects/enlargedColumnHead.py +++ b/RFEM/SpecialObjects/enlargedColumnHead.py @@ -4,10 +4,11 @@ class EnlargedColumnHead(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Enlarged Column Head - clientObject = Model.clientModel.factory.create('ns0:enlarged_column_head') + clientObject = model.clientModel.factory.create('ns0:enlarged_column_head') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Enlarged Column Head to client model - Model.clientModel.service.set_enlarged_column_head(clientObject) + model.clientModel.service.set_enlarged_column_head(clientObject) diff --git a/RFEM/SpecialObjects/intersection.py b/RFEM/SpecialObjects/intersection.py index 3e943f8e..96a3d255 100644 --- a/RFEM/SpecialObjects/intersection.py +++ b/RFEM/SpecialObjects/intersection.py @@ -6,10 +6,11 @@ def __init__(self, surface_1: int = 1, surface_2: int = 2, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Intersection - clientObject = Model.clientModel.factory.create('ns0:intersection') + clientObject = model.clientModel.factory.create('ns0:intersection') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -30,4 +31,4 @@ def __init__(self, clientObject[key] = params[key] # Add Intersection to client model - Model.clientModel.service.set_intersection(clientObject) + model.clientModel.service.set_intersection(clientObject) diff --git a/RFEM/SpecialObjects/resultSection.py b/RFEM/SpecialObjects/resultSection.py index caa9e994..82ed22f2 100644 --- a/RFEM/SpecialObjects/resultSection.py +++ b/RFEM/SpecialObjects/resultSection.py @@ -4,10 +4,11 @@ class ResultSection(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Result Section - clientObject = Model.clientModel.factory.create('ns0:result_section') + clientObject = model.clientModel.factory.create('ns0:result_section') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Result Section to client model - Model.clientModel.service.set_result_section(clientObject) + model.clientModel.service.set_result_section(clientObject) diff --git a/RFEM/SpecialObjects/rigidLink.py b/RFEM/SpecialObjects/rigidLink.py index 8c46a16e..22f484ff 100644 --- a/RFEM/SpecialObjects/rigidLink.py +++ b/RFEM/SpecialObjects/rigidLink.py @@ -8,10 +8,11 @@ def __init__(self, line_2: int = 2, ignore_relative_position: bool = True, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Rigid Link - clientObject = Model.clientModel.factory.create('ns0:rigid_link') + clientObject = model.clientModel.factory.create('ns0:rigid_link') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -38,7 +39,7 @@ def __init__(self, clientObject[key] = params[key] # Add rigid link to client model - Model.clientModel.service.set_rigid_link(clientObject) + model.clientModel.service.set_rigid_link(clientObject) @staticmethod def LineToLine( @@ -47,10 +48,11 @@ def LineToLine( line_2: int = 2, ignore_relative_position: bool = True, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line To Line Rigid Link - clientObject = Model.clientModel.factory.create('ns0:rigid_link') + clientObject = model.clientModel.factory.create('ns0:rigid_link') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -77,7 +79,7 @@ def LineToLine( clientObject[key] = params[key] # Add rigid link to client model - Model.clientModel.service.set_rigid_link(clientObject) + model.clientModel.service.set_rigid_link(clientObject) @staticmethod def LineToSurface( @@ -86,10 +88,11 @@ def LineToSurface( surface: int = 1, ignore_relative_position: bool = True, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line To Surface Rigid Link - clientObject = Model.clientModel.factory.create('ns0:rigid_link') + clientObject = model.clientModel.factory.create('ns0:rigid_link') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -117,7 +120,7 @@ def LineToSurface( clientObject[key] = params[key] # Add rigid link to client model - Model.clientModel.service.set_rigid_link(clientObject) + model.clientModel.service.set_rigid_link(clientObject) @staticmethod def Diapragm( @@ -125,10 +128,11 @@ def Diapragm( nodes: str = '3 4', lines: str = '6 7', comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Diapragm Rigid Link - clientObject = Model.clientModel.factory.create('ns0:rigid_link') + clientObject = model.clientModel.factory.create('ns0:rigid_link') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -154,4 +158,4 @@ def Diapragm( clientObject[key] = params[key] # Add rigid link to client model - Model.clientModel.service.set_rigid_link(clientObject) + model.clientModel.service.set_rigid_link(clientObject) diff --git a/RFEM/SpecialObjects/structureModification.py b/RFEM/SpecialObjects/structureModification.py index d12b976f..6f72b343 100644 --- a/RFEM/SpecialObjects/structureModification.py +++ b/RFEM/SpecialObjects/structureModification.py @@ -4,10 +4,11 @@ class StructureModification(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Structure Modification - clientObject = Model.clientModel.factory.create('ns0:structure_modification') + clientObject = model.clientModel.factory.create('ns0:structure_modification') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Structure Modification to client model - Model.clientModel.service.set_structure_modification(clientObject) + model.clientModel.service.set_structure_modification(clientObject) diff --git a/RFEM/SpecialObjects/surfaceContact.py b/RFEM/SpecialObjects/surfaceContact.py index 43d7fb82..e6186eff 100644 --- a/RFEM/SpecialObjects/surfaceContact.py +++ b/RFEM/SpecialObjects/surfaceContact.py @@ -4,10 +4,11 @@ class SurfaceContact(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surfaces Contact - clientObject = Model.clientModel.factory.create('ns0:surfaces_contact') + clientObject = model.clientModel.factory.create('ns0:surfaces_contact') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surfaces Contact to client model - Model.clientModel.service.set_surfaces_contact(clientObject) + model.clientModel.service.set_surfaces_contact(clientObject) diff --git a/RFEM/SpecialObjects/surfaceResultAdjustment.py b/RFEM/SpecialObjects/surfaceResultAdjustment.py index 4e1d2e17..9d4f84aa 100644 --- a/RFEM/SpecialObjects/surfaceResultAdjustment.py +++ b/RFEM/SpecialObjects/surfaceResultAdjustment.py @@ -4,10 +4,11 @@ class SurfaceResultsAdjustment(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Result Adjustment - clientObject = Model.clientModel.factory.create('ns0:surface_results_adjustment') + clientObject = model.clientModel.factory.create('ns0:surface_results_adjustment') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Result Adjustmentto client model - Model.clientModel.service.set_surface_results_adjustment(clientObject) + model.clientModel.service.set_surface_results_adjustment(clientObject) diff --git a/RFEM/Tools/ModelCheck.py b/RFEM/Tools/ModelCheck.py index 82b4ba03..43869749 100644 --- a/RFEM/Tools/ModelCheck.py +++ b/RFEM/Tools/ModelCheck.py @@ -1,13 +1,11 @@ +from RFEM.BasicObjects.member import Member from RFEM.initModel import Model from RFEM.enums import ModelCheckGetOptionType, ModelCheckProcessOptionType class ModelCheck(): - def __init__(self): - pass - @staticmethod - def GetIdenticalNodes(tolerance): + def GetIdenticalNodes(tolerance, model = Model): """ Args: tolerance (float): Tolerance @@ -16,12 +14,12 @@ def GetIdenticalNodes(tolerance): """ operation = ModelCheckGetOptionType.IDENTICAL_NODES.name - object_groups = Model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) + object_groups = model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) return object_groups @staticmethod - def DeleteUnusedNodes(tolerance, object_groups): + def DeleteUnusedNodes(tolerance, object_groups, model = Model): """ Args: tolerance (float): Tolerance @@ -29,10 +27,10 @@ def DeleteUnusedNodes(tolerance, object_groups): """ process = ModelCheckProcessOptionType.DELETE_UNUSED_NODES.name - Model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, object_groups) + model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, object_groups) @staticmethod - def UniteNodes(tolerance, object_groups): + def UniteNodes(tolerance, object_groups, model = Model): """ Args: tolerance (float): Tolerance @@ -40,10 +38,10 @@ def UniteNodes(tolerance, object_groups): """ process = ModelCheckProcessOptionType.UNITE_NODES_AND_DELETE_UNUSED_NODES.name - Model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, object_groups) + model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, object_groups) @staticmethod - def GetNotConnectedLines(tolerance): + def GetNotConnectedLines(tolerance, model = Model): """ Args: tolerance (float): Tolerance @@ -52,12 +50,12 @@ def GetNotConnectedLines(tolerance): """ operation = ModelCheckGetOptionType.CROSSING_LINES.name - line_groups = Model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) + line_groups = model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) return line_groups @staticmethod - def CrossLines(tolerance, line_groups): + def CrossLines(tolerance, line_groups, model = Model): """ Args: tolerance (float): Tolerance @@ -65,10 +63,10 @@ def CrossLines(tolerance, line_groups): """ process = ModelCheckProcessOptionType.CROSS_LINES.name - Model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, line_groups) + model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, line_groups) @staticmethod - def GetNotConnectedMembers(tolerance): + def GetNotConnectedMembers(tolerance, model = Model): """ Args: tolerance (float): Tolerance @@ -77,12 +75,12 @@ def GetNotConnectedMembers(tolerance): """ operation = ModelCheckGetOptionType.CROSSING_MEMBERS.name - member_groups = Model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) + member_groups = model.clientModel.service.model_check__get_object_groups_operation(operation, tolerance) return member_groups @staticmethod - def CrossMembers(tolerance, member_groups): + def CrossMembers(tolerance, member_groups, model = Model): """ Args: tolerance (float): Tolerance @@ -90,28 +88,28 @@ def CrossMembers(tolerance, member_groups): """ process = ModelCheckProcessOptionType.CROSS_MEMBERS.name - Model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, member_groups) + model.clientModel.service.model_check__process_object_groups_operation(process, tolerance, member_groups) @staticmethod - def GetOverlappingLines(): + def GetOverlappingLines(model = Model): """ Returns: Overlapping Line Groups """ operation = ModelCheckGetOptionType.OVERLAPPING_LINES.name - overlapping_lines = Model.clientModel.service.model_check__get_object_groups_operation(operation) + overlapping_lines = model.clientModel.service.model_check__get_object_groups_operation(operation) return overlapping_lines @staticmethod - def GetOverlappingMembers(): + def GetOverlappingMembers(model = Model): """ Returns: Overlapping Member Groups """ operation = ModelCheckGetOptionType.OVERLAPPING_MEMBERS.name - overlapping_members = Model.clientModel.service.model_check__get_object_groups_operation(operation) + overlapping_members = model.clientModel.service.model_check__get_object_groups_operation(operation) return overlapping_members diff --git a/RFEM/Tools/PlausibilityCheck.py b/RFEM/Tools/PlausibilityCheck.py index f238e8f7..24e2b3fd 100644 --- a/RFEM/Tools/PlausibilityCheck.py +++ b/RFEM/Tools/PlausibilityCheck.py @@ -4,9 +4,10 @@ class PlausibilityCheck(): def __init__(self, - skip_warnings:bool = False): + skip_warnings:bool = False, + model = Model): - response = Model.clientModel.service.plausibility_check(skip_warnings) + response = model.clientModel.service.plausibility_check(skip_warnings) if "failed" in response: self.checkresult = PlausibilityCheckResult.CHECK_FAILED.name diff --git a/RFEM/Tools/centreOfGravityAndObjectInfo.py b/RFEM/Tools/centreOfGravityAndObjectInfo.py index 9d2513ab..49dda323 100644 --- a/RFEM/Tools/centreOfGravityAndObjectInfo.py +++ b/RFEM/Tools/centreOfGravityAndObjectInfo.py @@ -78,17 +78,19 @@ def SolidInformation( result = ObjectInformation.__BuildResultsArray(ObjectTypes.E_OBJECT_TYPE_SOLID, no, 0) return ObjectInformation.__AreaVolumeMassInformationLength(information,result, 4) - def __BuildResultsArray(object_type, no, parent_no): - elements = Model.clientModel.factory.create('ns0:array_of_get_center_of_gravity_and_objects_info_elements_type') - clientObject = Model.clientModel.factory.create('ns0:get_center_of_gravity_and_objects_info_element_type') + @staticmethod + def __BuildResultsArray(object_type, no, parent_no, model = Model): + elements = model.clientModel.factory.create('ns0:array_of_get_center_of_gravity_and_objects_info_elements_type') + clientObject = model.clientModel.factory.create('ns0:get_center_of_gravity_and_objects_info_element_type') clientObject.parent_no = parent_no clientObject.no = no clientObject.type = object_type.name elements.element.append(clientObject) - result = Model.clientModel.service.get_center_of_gravity_and_objects_info(elements) - result = Model.clientModel.dict(result) + result = model.clientModel.service.get_center_of_gravity_and_objects_info(elements) + result = model.clientModel.dict(result) return result + @staticmethod def __AreaVolumeMassInformationLength(information, result, row_key): if information.name == "LENGTH" or information.name == "AREA": return result['section'][row_key].rows[0][0].value diff --git a/RFEM/Tools/sectionDialogue.py b/RFEM/Tools/sectionDialogue.py index 354806f3..9eb1a292 100644 --- a/RFEM/Tools/sectionDialogue.py +++ b/RFEM/Tools/sectionDialogue.py @@ -1,43 +1,46 @@ from RFEM.initModel import Model -def CreateSectionFavoriteList(name: str = "Favorites"): +def CreateSectionFavoriteList(name: str = "Favorites", model = Model): if isinstance(name, str): - Model.clientModel.service.create_section_favorite_list(name) + model.clientModel.service.create_section_favorite_list(name) else: print("WARNING:Name of the section favorite list should be a string. Please kindly check the inputs.") def AddSectionToFavoriteList(list_name: str = "Favorites", - section_name: str = "IPE 300"): + section_name: str = "IPE 300", + model = Model): if isinstance(list_name, str) and isinstance(section_name, str): - Model.clientModel.service.add_section_to_favorite_list(list_name, section_name) + model.clientModel.service.add_section_to_favorite_list(list_name, section_name) else: print("WARNING:Name of the section favorite list and the section should be a string. Please kindly check the inputs.") def DeleteSectionFromFavoriteList(list_name: str = "Favorites", - section_name: str = "IPE 300"): + section_name: str = "IPE 300", + model = Model): if isinstance(list_name, str) and isinstance(section_name, str): - Model.clientModel.service.delete_section_from_favorite_list(list_name, section_name) + model.clientModel.service.delete_section_from_favorite_list(list_name, section_name) else: print("WARNING:Name of the section favorite list and the section should be a string. Please kindly check the inputs.") -def GetSectionFavoriteLists(): +def GetSectionFavoriteLists(model = Model): - return Model.clientModel.service.get_section_favorite_lists() + return model.clientModel.service.get_section_favorite_lists() -def DeleteSectionFavoriteList(name: str = "Favorites"): +def DeleteSectionFavoriteList(name: str = "Favorites", model = Model): if isinstance(name, str): - Model.clientModel.service.delete_section_favorite_list(name) + model.clientModel.service.delete_section_favorite_list(name) else: print("WARNING:Name of the section favorite list should be a string. Please kindly check the inputs.") def CreateSectionFromRsectionFile(no: int = 1, - file_path: str = "/rsection_file_path/"): + file_path: str = "/rsection_file_path/", + model = Model): if isinstance(no, int) and isinstance(file_path, str): - Model.clientModel.service.create_section_from_rsection_file(no, file_path) + model.clientModel.service.create_section_from_rsection_file(no, file_path) else: print("WARNING: Type of file_path argument should be string and the type of the no argument should be integer. Please kindly check the inputs.") diff --git a/RFEM/TypesForLines/lineHinge.py b/RFEM/TypesForLines/lineHinge.py index ea3149fb..30af4259 100644 --- a/RFEM/TypesForLines/lineHinge.py +++ b/RFEM/TypesForLines/lineHinge.py @@ -14,7 +14,8 @@ def __init__(self, translational_release: list = [800, inf, inf], rotational_release_phi: int = inf, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ assigned_to doesn't work. Can't figure why. @@ -22,7 +23,7 @@ def __init__(self, """ # Client model | Line Hinge - clientObject = Model.clientModel.factory.create('ns0:line_hinge') + clientObject = model.clientModel.factory.create('ns0:line_hinge') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -51,5 +52,5 @@ def __init__(self, clientObject[key] = params[key] # Add Line Hinge to client model - Model.clientModel.service.set_line_hinge(clientObject) + model.clientModel.service.set_line_hinge(clientObject) diff --git a/RFEM/TypesForLines/lineMeshRefinements.py b/RFEM/TypesForLines/lineMeshRefinements.py index ea8305f7..0fa05cf6 100644 --- a/RFEM/TypesForLines/lineMeshRefinements.py +++ b/RFEM/TypesForLines/lineMeshRefinements.py @@ -11,10 +11,11 @@ def __init__(self, type = LineMeshRefinementsType.TYPE_LENGTH, number_of_layers: int = 2, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:line_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:line_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -40,7 +41,7 @@ def __init__(self, clientObject[key] = params[key] # Add Line Mesh Refinement to client model - Model.clientModel.service.set_line_mesh_refinement(clientObject) + model.clientModel.service.set_line_mesh_refinement(clientObject) @staticmethod def TargetFELength( @@ -49,10 +50,11 @@ def TargetFELength( target_length: float = 0.1, number_of_layers: int = 2, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:line_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:line_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -81,7 +83,7 @@ def TargetFELength( clientObject[key] = params[key] # Add Line Mesh Refinement to client model - Model.clientModel.service.set_line_mesh_refinement(clientObject) + model.clientModel.service.set_line_mesh_refinement(clientObject) @staticmethod def NumberFiniteElements( @@ -90,10 +92,11 @@ def NumberFiniteElements( elements_finite_elements: int = 10, number_of_layers: int = 2, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:line_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:line_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -122,7 +125,7 @@ def NumberFiniteElements( clientObject[key] = params[key] # Add Line Mesh Refinement to client model - Model.clientModel.service.set_line_mesh_refinement(clientObject) + model.clientModel.service.set_line_mesh_refinement(clientObject) @staticmethod def Gradually( @@ -131,10 +134,11 @@ def Gradually( gradual_rows: int = 10, number_of_layers: int = 2, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:line_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:line_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -163,4 +167,4 @@ def Gradually( clientObject[key] = params[key] # Add Line Mesh Refinement to client model - Model.clientModel.service.set_line_mesh_refinement(clientObject) + model.clientModel.service.set_line_mesh_refinement(clientObject) diff --git a/RFEM/TypesForLines/lineSupport.py b/RFEM/TypesForLines/lineSupport.py index 598e3eb7..64c39745 100644 --- a/RFEM/TypesForLines/lineSupport.py +++ b/RFEM/TypesForLines/lineSupport.py @@ -38,10 +38,11 @@ def __init__(self, lines_no: str = '1 2', support_type = LineSupportType.HINGED, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Support - clientObject = Model.clientModel.factory.create('ns0:line_support') + clientObject = model.clientModel.factory.create('ns0:line_support') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -90,4 +91,4 @@ def __init__(self, clientObject[key] = params[key] # Add Line Support to client model - Model.clientModel.service.set_line_support(clientObject) + model.clientModel.service.set_line_support(clientObject) diff --git a/RFEM/TypesForLines/lineWeldedJoint.py b/RFEM/TypesForLines/lineWeldedJoint.py index 0c6af073..c682ab49 100644 --- a/RFEM/TypesForLines/lineWeldedJoint.py +++ b/RFEM/TypesForLines/lineWeldedJoint.py @@ -11,10 +11,11 @@ def __init__(self, weld_size_a1: int = 0.005, longitudinal_arrangement = WeldLongitudalArrangement.CONTINUOUS, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Line Welded Joint - clientObject = Model.clientModel.factory.create('ns0:line_welded_joint') + clientObject = model.clientModel.factory.create('ns0:line_welded_joint') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -43,21 +44,21 @@ def __init__(self, clientObject[key] = params[key] # Add Line welded joint to client model - Model.clientModel.service.set_line_welded_joint(clientObject) + model.clientModel.service.set_line_welded_joint(clientObject) iLines = ConvertStrToListOfInt(lines) iSurfaces = ConvertStrToListOfInt(surfaces) for i in iLines: - line = Model.clientModel.service.get_line(i) + line = model.clientModel.service.get_line(i) line.has_line_welds = True - clientWeld = Model.clientModel.factory.create('ns0:line_line_weld_assignment') + clientWeld = model.clientModel.factory.create('ns0:line_line_weld_assignment') clientWeld.no = i clientWeld.weld = no clientWeld.surface1 = iSurfaces[0] clientWeld.surface2 = iSurfaces[1] if len(iSurfaces) == 3: clientWeld.surface3 = iSurfaces[2] - line.line_weld_assignment = Model.clientModel.factory.create('ns0:array_of_line_line_weld_assignment') + line.line_weld_assignment = model.clientModel.factory.create('ns0:array_of_line_line_weld_assignment') line.line_weld_assignment.line_line_weld_assignment.append(clientWeld) - Model.clientModel.service.set_line(line) + model.clientModel.service.set_line(line) diff --git a/RFEM/TypesForMembers/memberDefinableStiffness.py b/RFEM/TypesForMembers/memberDefinableStiffness.py index f158002a..34be4236 100644 --- a/RFEM/TypesForMembers/memberDefinableStiffness.py +++ b/RFEM/TypesForMembers/memberDefinableStiffness.py @@ -4,10 +4,11 @@ class MemberDefinableStiffness(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Definable Stffness - clientObject = Model.clientModel.factory.create('ns0:member_definable_stiffness') + clientObject = model.clientModel.factory.create('ns0:member_definable_stiffness') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Definable Stffness to client model - Model.clientModel.service.set_member_definable_stiffness(clientObject) + model.clientModel.service.set_member_definable_stiffness(clientObject) diff --git a/RFEM/TypesForMembers/memberEccentricity.py b/RFEM/TypesForMembers/memberEccentricity.py index 8ac28672..f0139888 100644 --- a/RFEM/TypesForMembers/memberEccentricity.py +++ b/RFEM/TypesForMembers/memberEccentricity.py @@ -4,10 +4,11 @@ class MemberEccentricity(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Eccentricity - clientObject = Model.clientModel.factory.create('ns0:member_eccentricity') + clientObject = model.clientModel.factory.create('ns0:member_eccentricity') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Eccentricity to client model - Model.clientModel.service.set_member_eccentricity(clientObject) + model.clientModel.service.set_member_eccentricity(clientObject) diff --git a/RFEM/TypesForMembers/memberHinge.py b/RFEM/TypesForMembers/memberHinge.py index 9629a5cb..916103ee 100644 --- a/RFEM/TypesForMembers/memberHinge.py +++ b/RFEM/TypesForMembers/memberHinge.py @@ -12,10 +12,11 @@ def __init__(self, rotational_release_my: float = 0.0, rotational_release_mz: float = inf, comment: str = 'Rotational Release My', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Hinge - clientObject = Model.clientModel.factory.create('ns0:member_hinge') + clientObject = model.clientModel.factory.create('ns0:member_hinge') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -53,4 +54,4 @@ def __init__(self, clientObject[key] = params[key] # Add Line to client model - Model.clientModel.service.set_member_hinge(clientObject) + model.clientModel.service.set_member_hinge(clientObject) diff --git a/RFEM/TypesForMembers/memberNonlinearity.py b/RFEM/TypesForMembers/memberNonlinearity.py index a1912dd7..a091afb8 100644 --- a/RFEM/TypesForMembers/memberNonlinearity.py +++ b/RFEM/TypesForMembers/memberNonlinearity.py @@ -4,10 +4,11 @@ class MemberNonlinearity(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Nonlinearity - clientObject = Model.clientModel.factory.create('ns0:member_nonlinearity') + clientObject = model.clientModel.factory.create('ns0:member_nonlinearity') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Nonlinearity to client model - Model.clientModel.service.set_member_nonlinearity(clientObject) + model.clientModel.service.set_member_nonlinearity(clientObject) diff --git a/RFEM/TypesForMembers/memberResultIntermediatePoints.py b/RFEM/TypesForMembers/memberResultIntermediatePoints.py index 3d64b1cd..d9359dc4 100644 --- a/RFEM/TypesForMembers/memberResultIntermediatePoints.py +++ b/RFEM/TypesForMembers/memberResultIntermediatePoints.py @@ -4,10 +4,11 @@ class MemberResultIntermediatePoint(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Result Intermediate Point - clientObject = Model.clientModel.factory.create('ns0:member_result_intermediate_point') + clientObject = model.clientModel.factory.create('ns0:member_result_intermediate_point') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Result Intermediate Point to client model - Model.clientModel.service.set_member_result_intermediate_point(clientObject) + model.clientModel.service.set_member_result_intermediate_point(clientObject) diff --git a/RFEM/TypesForMembers/memberStiffnessModification.py b/RFEM/TypesForMembers/memberStiffnessModification.py index 160d29f2..d44047d2 100644 --- a/RFEM/TypesForMembers/memberStiffnessModification.py +++ b/RFEM/TypesForMembers/memberStiffnessModification.py @@ -4,10 +4,11 @@ class MemberStiffnessModification(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Stiffness Modification - clientObject = Model.clientModel.factory.create('ns0:smember_stiffness_modification') + clientObject = model.clientModel.factory.create('ns0:smember_stiffness_modification') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Stiffness Modification to client model - Model.clientModel.service.set_member_stiffness_modification(clientObject) + model.clientModel.service.set_member_stiffness_modification(clientObject) diff --git a/RFEM/TypesForMembers/memberSupport.py b/RFEM/TypesForMembers/memberSupport.py index ce85c74b..63576646 100644 --- a/RFEM/TypesForMembers/memberSupport.py +++ b/RFEM/TypesForMembers/memberSupport.py @@ -4,10 +4,11 @@ class MemberSupport(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Member Support - clientObject = Model.clientModel.factory.create('ns0:member_support') + clientObject = model.clientModel.factory.create('ns0:member_support') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Member Support to client model - Model.clientModel.service.set_member_support(clientObject) + model.clientModel.service.set_member_support(clientObject) diff --git a/RFEM/TypesForNodes/nodalMeshRefinement.py b/RFEM/TypesForNodes/nodalMeshRefinement.py index e504bb9e..00105f5b 100644 --- a/RFEM/TypesForNodes/nodalMeshRefinement.py +++ b/RFEM/TypesForNodes/nodalMeshRefinement.py @@ -4,10 +4,11 @@ class NodalMeshRefinement(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Nodal Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:nodal_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:nodal_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Nodal Mesh Refinement to client model - Model.clientModel.service.set_nodal_mesh_refinement(clientObject) + model.clientModel.service.set_nodal_mesh_refinement(clientObject) diff --git a/RFEM/TypesForNodes/nodalSupport.py b/RFEM/TypesForNodes/nodalSupport.py index 1b285a73..291f0447 100644 --- a/RFEM/TypesForNodes/nodalSupport.py +++ b/RFEM/TypesForNodes/nodalSupport.py @@ -38,10 +38,11 @@ def __init__(self, nodes_no: str = '1 2', support_type = NodalSupportType.HINGED, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Nodal Support - clientObject = Model.clientModel.factory.create('ns0:nodal_support') + clientObject = model.clientModel.factory.create('ns0:nodal_support') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -90,4 +91,4 @@ def __init__(self, clientObject[key] = params[key] # Add Nodal Support to client model - Model.clientModel.service.set_nodal_support(clientObject) + model.clientModel.service.set_nodal_support(clientObject) diff --git a/RFEM/TypesForSolids/solidContact.py b/RFEM/TypesForSolids/solidContact.py index 92aed1d8..ece207bf 100644 --- a/RFEM/TypesForSolids/solidContact.py +++ b/RFEM/TypesForSolids/solidContact.py @@ -4,10 +4,11 @@ class SolidContact(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Contact - clientObject = Model.clientModel.factory.create('ns0:solid_contacts') + clientObject = model.clientModel.factory.create('ns0:solid_contacts') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Contact to client model - Model.clientModel.service.set_solid_contacts(clientObject) + model.clientModel.service.set_solid_contacts(clientObject) diff --git a/RFEM/TypesForSolids/solidGas.py b/RFEM/TypesForSolids/solidGas.py index 317c7f80..86715fbb 100644 --- a/RFEM/TypesForSolids/solidGas.py +++ b/RFEM/TypesForSolids/solidGas.py @@ -4,10 +4,11 @@ class SolidGas(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Gas - clientObject = Model.clientModel.factory.create('ns0:solid_gas') + clientObject = model.clientModel.factory.create('ns0:solid_gas') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Gas to client model - Model.clientModel.service.set_solid_gas(clientObject) + model.clientModel.service.set_solid_gas(clientObject) diff --git a/RFEM/TypesForSolids/solidMeshRefinement.py b/RFEM/TypesForSolids/solidMeshRefinement.py index ac85ce00..f580c9cc 100644 --- a/RFEM/TypesForSolids/solidMeshRefinement.py +++ b/RFEM/TypesForSolids/solidMeshRefinement.py @@ -4,10 +4,11 @@ class SolidMeshRefinement(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Solid Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:solid_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:solid_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Solid Mesh Refinement to client model - Model.clientModel.service.set_solid_mesh_refinement(clientObject) + model.clientModel.service.set_solid_mesh_refinement(clientObject) diff --git a/RFEM/TypesForSpecialObjects/surfaceContactType.py b/RFEM/TypesForSpecialObjects/surfaceContactType.py index ffcc74ef..f8d6889b 100644 --- a/RFEM/TypesForSpecialObjects/surfaceContactType.py +++ b/RFEM/TypesForSpecialObjects/surfaceContactType.py @@ -4,10 +4,11 @@ class SurfaceContactType(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Contact Type - clientObject = Model.clientModel.factory.create('ns0:surfaces_contact_type') + clientObject = model.clientModel.factory.create('ns0:surfaces_contact_type') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Contact Type to client model - Model.clientModel.service.set_surfaces_contact_type(clientObject) + model.clientModel.service.set_surfaces_contact_type(clientObject) diff --git a/RFEM/TypesForSteelDesign/steelBoundaryConditions.py b/RFEM/TypesForSteelDesign/steelBoundaryConditions.py index bb86c457..4a7b12d8 100644 --- a/RFEM/TypesForSteelDesign/steelBoundaryConditions.py +++ b/RFEM/TypesForSteelDesign/steelBoundaryConditions.py @@ -21,7 +21,8 @@ def __init__(self, ["End", False, False, False, False, False, False, False, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ""] ], comment: str = '', - params: dict = {}): + params: dict = {}, + model = Model): """ Args: @@ -92,7 +93,7 @@ def __init__(self, """ # Client Model | Types For Steel Design Boundary Conditions - clientObject = Model.clientModel.factory.create('ns0:steel_boundary_conditions') + clientObject = model.clientModel.factory.create('ns0:steel_boundary_conditions') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -117,10 +118,10 @@ def __init__(self, clientObject.member_sets = ConvertToDlString(member_sets) # Boundary Conditions Nodal Supports - clientObject.nodal_supports = Model.clientModel.factory.create('ns0:steel_boundary_conditions.nodal_supports') + clientObject.nodal_supports = model.clientModel.factory.create('ns0:steel_boundary_conditions.nodal_supports') for i,j in enumerate(nodal_supports): - mlvlp = Model.clientModel.factory.create('ns0:steel_boundary_conditions_nodal_supports') + mlvlp = model.clientModel.factory.create('ns0:steel_boundary_conditions_nodal_supports') mlvlp.no = i mlvlp.node_seq_no = nodal_supports[i][0] mlvlp.support_type = nodal_supports[i][1].name @@ -151,10 +152,10 @@ def __init__(self, clientObject.nodal_supports.steel_boundary_conditions_nodal_supports.append(mlvlp) # Boundary Conditions Member Hinges - clientObject.member_hinges = Model.clientModel.factory.create('ns0:steel_boundary_conditions.member_hinges') + clientObject.member_hinges = model.clientModel.factory.create('ns0:steel_boundary_conditions.member_hinges') for i,j in enumerate(member_hinges): - mlvlp = Model.clientModel.factory.create('ns0:steel_boundary_conditions_member_hinges') + mlvlp = model.clientModel.factory.create('ns0:steel_boundary_conditions_member_hinges') mlvlp.no = i mlvlp.node_seq_no = member_hinges[i][0] mlvlp.release_in_x = member_hinges[i][1] @@ -189,5 +190,4 @@ def __init__(self, clientObject[key] = params[key] # Add Steel Boundary Conditions to client model - Model.clientModel.service.set_steel_boundary_conditions(clientObject) - + model.clientModel.service.set_steel_boundary_conditions(clientObject) diff --git a/RFEM/TypesForSteelDesign/steelEffectiveLengths.py b/RFEM/TypesForSteelDesign/steelEffectiveLengths.py index ec588f8c..3ab8ab17 100644 --- a/RFEM/TypesForSteelDesign/steelEffectiveLengths.py +++ b/RFEM/TypesForSteelDesign/steelEffectiveLengths.py @@ -30,7 +30,8 @@ def __init__(self, import_from_stability_analysis_enabled: bool = False, determination_of_mcr = SteelEffectiveLengthsDeterminationMcrEurope.DETERMINATION_EUROPE_EIGENVALUE, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Effective Length Tag @@ -89,7 +90,7 @@ def __init__(self, """ # Client Model | Types For Steel Design Effective Lengths - clientObject = Model.clientModel.factory.create('ns0:steel_effective_lengths') + clientObject = model.clientModel.factory.create('ns0:steel_effective_lengths') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -129,10 +130,10 @@ def __init__(self, clientObject.name = user_defined_name[1] # Effective Lengths Nodal Supports - clientObject.nodal_supports = Model.clientModel.factory.create('ns0:steel_effective_lengths.nodal_supports') + clientObject.nodal_supports = model.clientModel.factory.create('ns0:steel_effective_lengths.nodal_supports') for i,j in enumerate(nodal_supports): - mlvlp = Model.clientModel.factory.create('ns0:steel_effective_lengths_nodal_supports') + mlvlp = model.clientModel.factory.create('ns0:steel_effective_lengths_nodal_supports') mlvlp.no = i mlvlp.support_type = nodal_supports[i][0].name mlvlp.support_in_z = nodal_supports[i][1] @@ -151,10 +152,10 @@ def __init__(self, clientObject.nodal_supports.steel_effective_lengths_nodal_supports.append(mlvlp) # Effective Lengths Factors - clientObject.factors = Model.clientModel.factory.create('ns0:steel_effective_lengths.factors') + clientObject.factors = model.clientModel.factory.create('ns0:steel_effective_lengths.factors') for i,j in enumerate(factors): - mlvlp_f = Model.clientModel.factory.create('ns0:steel_effective_lengths_factors') + mlvlp_f = model.clientModel.factory.create('ns0:steel_effective_lengths_factors') mlvlp_f.no = i mlvlp_f.flexural_buckling_u= factors[i][0] mlvlp_f.flexural_buckling_v= factors[i][1] @@ -194,4 +195,4 @@ def __init__(self, clientObject[key] = params[key] # Add Steel Effective Lengths to client model - Model.clientModel.service.set_steel_effective_lengths(clientObject) + model.clientModel.service.set_steel_effective_lengths(clientObject) diff --git a/RFEM/TypesForSurfaces/surfaceEccentricity.py b/RFEM/TypesForSurfaces/surfaceEccentricity.py index e564b056..2009703b 100644 --- a/RFEM/TypesForSurfaces/surfaceEccentricity.py +++ b/RFEM/TypesForSurfaces/surfaceEccentricity.py @@ -4,10 +4,11 @@ class SurfaceEccentricity(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Eccentricity - clientObject = Model.clientModel.factory.create('ns0:surface_eccentricity') + clientObject = model.clientModel.factory.create('ns0:surface_eccentricity') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Eccentricity to client model - Model.clientModel.service.set_surface_eccentricity(clientObject) + model.clientModel.service.set_surface_eccentricity(clientObject) diff --git a/RFEM/TypesForSurfaces/surfaceMeshRefinements.py b/RFEM/TypesForSurfaces/surfaceMeshRefinements.py index c1d460f6..4013bf90 100644 --- a/RFEM/TypesForSurfaces/surfaceMeshRefinements.py +++ b/RFEM/TypesForSurfaces/surfaceMeshRefinements.py @@ -4,10 +4,11 @@ class SurfaceMeshRefinement(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Mesh Refinement - clientObject = Model.clientModel.factory.create('ns0:surface_mesh_refinement') + clientObject = model.clientModel.factory.create('ns0:surface_mesh_refinement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Mesh Refinement to client model - Model.clientModel.service.set_surface_mesh_refinement(clientObject) + model.clientModel.service.set_surface_mesh_refinement(clientObject) diff --git a/RFEM/TypesForSurfaces/surfaceStiffnessModification.py b/RFEM/TypesForSurfaces/surfaceStiffnessModification.py index 199a7b4d..cf51c7e4 100644 --- a/RFEM/TypesForSurfaces/surfaceStiffnessModification.py +++ b/RFEM/TypesForSurfaces/surfaceStiffnessModification.py @@ -4,10 +4,11 @@ class SurfaceStiffnessModification(): def __init__(self, no: int = 1, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Stifness Modification - clientObject = Model.clientModel.factory.create('ns0:surface_stiffness_modification') + clientObject = model.clientModel.factory.create('ns0:surface_stiffness_modification') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -24,4 +25,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Stifness Modification to client model - Model.clientModel.service.set_surface_stiffness_modification(clientObject) + model.clientModel.service.set_surface_stiffness_modification(clientObject) diff --git a/RFEM/TypesForSurfaces/surfaceSupport.py b/RFEM/TypesForSurfaces/surfaceSupport.py index ab090d64..1703f4ad 100644 --- a/RFEM/TypesForSurfaces/surfaceSupport.py +++ b/RFEM/TypesForSurfaces/surfaceSupport.py @@ -10,10 +10,11 @@ def __init__(self, c_2_x: float = 0.0, c_2_y: float = 0.0, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): # Client model | Surface Support - clientObject = Model.clientModel.factory.create('ns0:surface_support') + clientObject = model.clientModel.factory.create('ns0:surface_support') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -40,4 +41,4 @@ def __init__(self, clientObject[key] = params[key] # Add Surface Support to client model - Model.clientModel.service.set_surface_support(clientObject) + model.clientModel.service.set_surface_support(clientObject) diff --git a/RFEM/TypesforConcreteDesign/ConcreteDurability.py b/RFEM/TypesforConcreteDesign/ConcreteDurability.py index 63a3dec8..aedefbe3 100644 --- a/RFEM/TypesforConcreteDesign/ConcreteDurability.py +++ b/RFEM/TypesforConcreteDesign/ConcreteDurability.py @@ -17,7 +17,8 @@ def __init__(self, additional_protection_reduction = [False], allowance_deviation = [DurabilityAllowanceDeviationType.STANDARD, False], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Concrete Durability Tag @@ -38,7 +39,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:concrete_durability') + clientObject = model.clientModel.factory.create('ns0:concrete_durability') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -163,12 +164,4 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_concrete_durability(clientObject) - - - - - - - - + model.clientModel.service.set_concrete_durability(clientObject) diff --git a/RFEM/TypesforConcreteDesign/ConcreteEffectiveLength.py b/RFEM/TypesforConcreteDesign/ConcreteEffectiveLength.py index 6da38398..28a0a37e 100644 --- a/RFEM/TypesforConcreteDesign/ConcreteEffectiveLength.py +++ b/RFEM/TypesforConcreteDesign/ConcreteEffectiveLength.py @@ -19,7 +19,8 @@ def __init__(self, RestraintTypeAboutZ.SUPPORT_STATUS_NO, RestraintTypeWarping.SUPPORT_STATUS_NO, "2"]], factors = [[1, 1]], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Effective Length Tag @@ -42,7 +43,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:concrete_effective_lengths') + clientObject = model.clientModel.factory.create('ns0:concrete_effective_lengths') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -77,18 +78,18 @@ def __init__(self, clientObject.structure_type_about_axis_z = flexural_buckling_about_z[1].name # Factors - clientObject.factors = Model.clientModel.factory.create('ns0:concrete_effective_lengths.factors') + clientObject.factors = model.clientModel.factory.create('ns0:concrete_effective_lengths.factors') for i in range(len(factors)): - mlvlp = Model.clientModel.factory.create('ns0:concrete_effective_lengths_factors') + mlvlp = model.clientModel.factory.create('ns0:concrete_effective_lengths_factors') mlvlp.no = i+1 mlvlp.flexural_buckling_y = factors[i][0] mlvlp.flexural_buckling_z = factors[i][1] clientObject.factors.concrete_effective_lengths_factors.append(mlvlp) # Nodal Supports - clientObject.nodal_supports = Model.clientModel.factory.create('ns0:concrete_effective_lengths.nodal_supports') + clientObject.nodal_supports = model.clientModel.factory.create('ns0:concrete_effective_lengths.nodal_supports') for i in range(len(nodal_supports)): - mlvlp = Model.clientModel.factory.create('ns0:concrete_effective_lengths_nodal_supports') + mlvlp = model.clientModel.factory.create('ns0:concrete_effective_lengths_nodal_supports') mlvlp.no = i+1 mlvlp.support_type = nodal_supports[i][0].name mlvlp.support_in_z = nodal_supports[i][1] @@ -114,7 +115,7 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_concrete_effective_lengths(clientObject) + model.clientModel.service.set_concrete_effective_lengths(clientObject) diff --git a/RFEM/TypesforConcreteDesign/ConcreteReinforcementDirections.py b/RFEM/TypesforConcreteDesign/ConcreteReinforcementDirections.py index 8f0ad088..bb0e4371 100644 --- a/RFEM/TypesforConcreteDesign/ConcreteReinforcementDirections.py +++ b/RFEM/TypesforConcreteDesign/ConcreteReinforcementDirections.py @@ -10,7 +10,8 @@ def __init__(self, reinforcement_direction_type = ReinforcementDirectionType.REINFORCEMENT_DIRECTION_TYPE_FIRST_REINFORCEMENT_IN_X, rotation_parameters = [], comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Reinforcement Direction Tag @@ -23,7 +24,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:reinforcement_direction') + clientObject = model.clientModel.factory.create('ns0:reinforcement_direction') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -54,7 +55,7 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_reinforcement_direction(clientObject) + model.clientModel.service.set_reinforcement_direction(clientObject) diff --git a/RFEM/TypesforConcreteDesign/ConcreteSurfaceReinforcements.py b/RFEM/TypesforConcreteDesign/ConcreteSurfaceReinforcements.py index 880b50a4..ea7bada5 100644 --- a/RFEM/TypesforConcreteDesign/ConcreteSurfaceReinforcements.py +++ b/RFEM/TypesforConcreteDesign/ConcreteSurfaceReinforcements.py @@ -14,10 +14,11 @@ def __init__(self, cover_offset = [True, True, 0, 0], reinforcement_direction = SurfaceReinforcementDirectionType.REINFORCEMENT_DIRECTION_TYPE_IN_DESIGN_REINFORCEMENT_DIRECTION, reinforcement_direction_parameters = [SurfaceReinforcementDesignDirection.DESIGN_REINFORCEMENT_DIRECTION_A_S_1], - reinforcement_location = [], - reinforcement_acting_region = [], + reinforcement_location: list = None, + reinforcement_acting_region: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): """ Args: no (int): Surface Reinforcement Tag @@ -48,7 +49,7 @@ def __init__(self, """ # Client model | Concrete Durabilities - clientObject = Model.clientModel.factory.create('ns0:surface_reinforcement') + clientObject = model.clientModel.factory.create('ns0:surface_reinforcement') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -147,9 +148,9 @@ def __init__(self, clientObject.location_center_y = reinforcement_location[1] clientObject.location_radius = reinforcement_location[2] elif location_type.name == "LOCATION_TYPE_FREE_POLYGON": - clientObject.polygon_points = Model.clientModel.factory.create('ns0:surface_reinforcement.polygon_points') + clientObject.polygon_points = model.clientModel.factory.create('ns0:surface_reinforcement.polygon_points') for i in range(len(reinforcement_location)): - mlvlp = Model.clientModel.factory.create('ns0:surface_reinforcement_polygon_points') + mlvlp = model.clientModel.factory.create('ns0:surface_reinforcement_polygon_points') mlvlp.no = i+1 mlvlp.first_coordinate = reinforcement_location[i][0] mlvlp.second_coordinate = reinforcement_location[i][1] @@ -170,12 +171,4 @@ def __init__(self, clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_surface_reinforcement(clientObject) - - - - - - - - + model.clientModel.service.set_surface_reinforcement(clientObject) diff --git a/RFEM/baseSettings.py b/RFEM/baseSettings.py index fe8f9f77..dcef48ac 100644 --- a/RFEM/baseSettings.py +++ b/RFEM/baseSettings.py @@ -8,7 +8,8 @@ def __init__(self, local_axes_orientation = LocalAxesOrientationType.E_LOCAL_AXES_ORIENTATION_ZDOWN, tolerances = [0.0005, 0.0005, 0.0005, 0.0005], member_representatives: bool = False, - member_set_representatives: bool = False): + member_set_representatives: bool = False, + model = Model): """ Args: gravitational_acceleration (int): Gravitational Acceleration (m/sn2) @@ -21,7 +22,7 @@ def __init__(self, tolerances = [tolerance_for_nodes, tolerance_for_lines, tolerance_for_surfaces_and_planes, tolerance_for_directions] """ # Client model | Load Case - clientObject = Model.clientModel.factory.create('ns0:model_settings_and_options_type') + clientObject = model.clientModel.factory.create('ns0:model_settings_and_options_type') # Clears object atributes | Sets all atributes to None clearAtributes(clientObject) @@ -51,4 +52,4 @@ def __init__(self, clientObject.member_set_representatives_active = member_set_representatives # Add Base Data Settings to client model - Model.clientModel.service.set_model_settings_and_options(clientObject) + model.clientModel.service.set_model_settings_and_options(clientObject) diff --git a/RFEM/globalParameter.py b/RFEM/globalParameter.py index 98ec3762..9617e887 100644 --- a/RFEM/globalParameter.py +++ b/RFEM/globalParameter.py @@ -12,7 +12,8 @@ def AddParameter( definition_type = GlobalParameterDefinitionType.DEFINITION_TYPE_VALUE, definition_parameter: list = None, comment: str = '', - params: dict = None): + params: dict = None, + model = Model): ''' for definition_type = GlobalParameterDefinitionType.DEFINITION_TYPE_FORMULA: definition_parameter = [formula] @@ -31,7 +32,7 @@ def AddParameter( ''' # Client model | Global Parameter - clientObject = Model.clientModel.factory.create('ns0:global_parameter') + clientObject = model.clientModel.factory.create('ns0:global_parameter') # Clears object attributes | Sets all attributes to None clearAtributes(clientObject) @@ -57,7 +58,7 @@ def AddParameter( clientObject.formula = definition_parameter[0] elif definition_type.name == 'DEFINITION_TYPE_OPTIMIZATION' or definition_type.name == 'DEFINITION_TYPE_OPTIMIZATION_ASCENDING' or definition_type.name == 'DEFINITION_TYPE_OPTIMIZATION_DESCENDING': - SetAddonStatus(Model.clientModel, AddOn.cost_estimation_active) + SetAddonStatus(model.clientModel, AddOn.cost_estimation_active) if len(definition_parameter) != 4: raise Exception('WARNING: The definition parameter needs to be of length 4. Kindly check list inputs for completeness and correctness.') clientObject.value = definition_parameter[0] @@ -79,4 +80,4 @@ def AddParameter( clientObject[key] = params[key] # Add Global Parameter to client model - Model.clientModel.service.set_global_parameter(clientObject) + model.clientModel.service.set_global_parameter(clientObject) diff --git a/RFEM/initModel.py b/RFEM/initModel.py index e1592380..ca77581a 100644 --- a/RFEM/initModel.py +++ b/RFEM/initModel.py @@ -121,10 +121,10 @@ sys.exit() # Persistent connection -# Without next 4 lines the connection lasts only 1 request, -# the message: 'Application is locked by external connection' -# is blinking whole time and the execution is unnecessarily long. -# This solution works with unit-tests. +# Next 4 lines enables Client to work within 1 session which is much faster to execute. +# Without it the session lasts only one request which results in poor performance. +# Assigning session to application Client (here client) instead of model Client +# results also in poor performace. session = requests.Session() adapter = requests.adapters.HTTPAdapter(pool_connections=1, pool_maxsize=1) session.mount('http://', adapter) @@ -132,31 +132,57 @@ class Model(): clientModel = None + def __init__(self, new_model: bool=True, model_name: str="TestModel", delete: bool=False, delete_all: bool=False): + """ + Class object representing individual model in RFEM. + Class enables to edit multiple models in one session through holding + one transport session active by not setting 'trans' into Client. + + Args: + new_model (bool, optional): Set to True if new model is requested. + model_name (str, optional): Defaults to "TestModel". + delete (bool, optional): Delete results + delete_all (bool, optional): Delete all objects in Model. + """ cModel = None modelLs = client.service.get_model_list() if new_model: if modelLs and model_name in modelLs.name: - new = client.service.open_model(model_name) + 'wsdl' - cModel = Client(new, transport=trans) + modelIndex = 0 + for i,j in enumerate(modelLs.name): + if modelLs.name[i] == model_name: + modelIndex = i + new = client.service.get_model(modelIndex) + 'wsdl' + # Set transport parameter if it is the first model + if modelLs: + cModel = Client(new) + else: + cModel = Client(new, transport=trans) cModel.service.delete_all_results() cModel.service.delete_all() else: new = client.service.new_model(model_name) + 'wsdl' - cModel = Client(new, transport=trans) + if modelLs: + cModel = Client(new) + else: + cModel = Client(new, transport=trans) else: modelIndex = 0 for i,j in enumerate(modelLs.name): if modelLs.name[i] == model_name: modelIndex = i new = client.service.get_model(modelIndex) + 'wsdl' - cModel = Client(new, transport=trans) + if modelLs: + cModel = Client(new) + else: + cModel = Client(new, transport=trans) if delete: print('Deleting results...') cModel.service.delete_all_results() @@ -164,14 +190,18 @@ def __init__(self, print('Delete all...') cModel.service.delete_all() - Model.clientModel = cModel + # when using multiple intances/model + self.clientModel = cModel + # when using only one instace/model + if not modelLs: + Model.clientModel = cModel def clearAtributes(obj): ''' Clears object atributes. Sets all atributes to None. - Params: + Args: obj: object to clear ''' @@ -181,6 +211,21 @@ def clearAtributes(obj): obj[i[0]] = None return obj +def closeModel(index_or_name, save_changes = False): + """ + Close any model with index or name. Be sure to close the first created + model last. It carries whole session. + """ + if isinstance(index_or_name, int): + client.service.close_model(index_or_name, save_changes) + elif isinstance(index_or_name, str): + modelLs = client.service.get_model_list() + for i,j in enumerate(modelLs.name): + if modelLs.name[i] == index_or_name: + client.service.close_model(i, save_changes) + else: + assert True, 'Parameter index_or_name must be int or string.' + def insertSpaces(lst: list): ''' Add spaces between list of numbers. @@ -188,17 +233,17 @@ def insertSpaces(lst: list): ''' return ' '.join(str(item) for item in lst) -def Calculate_all(generateXmlSolverInput: bool = False): +def Calculate_all(generateXmlSolverInput: bool = False, model = Model): ''' Calculates model. CAUTION: Don't use it in unit tests! It works when executing tests individualy but when running all of them it causes RFEM to stuck and generates failures, which are hard to investigate. - Params: + Args: - generateXmlSolverInput: generate XML solver input ''' - Model.clientModel.service.calculate_all(generateXmlSolverInput) + model.clientModel.service.calculate_all(generateXmlSolverInput) def ConvertToDlString(s): ''' @@ -210,7 +255,7 @@ def ConvertToDlString(s): '1-3' -> '1 2 3' '1,3,5-9' -> '1 3 5 6 7 8 9' - Params: + Args: RSTAB / RFEM common string Returns a WS conform string. @@ -379,7 +424,7 @@ def SetAddonStatus(modelClient, addOn = AddOn.stress_analysis_active, status = T modelClient.service.set_addon_statuses(addonLst) -def CalculateSelectedCases(loadCases: list = None, designSituations: list = None, loadCombinations: list = None): +def CalculateSelectedCases(loadCases: list = None, designSituations: list = None, loadCombinations: list = None, model = Model): ''' This method calculate just selected objects - load cases, desingSituations, loadCombinations Args: @@ -387,10 +432,10 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None designSituations (list, optional): [description]. Defaults to None. loadCombinations (list, optional): [description]. Defaults to None. ''' - specificObjectsToCalculate = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements') + specificObjectsToCalculate = model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements') if loadCases is not None: for loadCase in loadCases: - specificObjectsToCalculateLC = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') + specificObjectsToCalculateLC = model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') specificObjectsToCalculateLC.no = loadCase specificObjectsToCalculateLC.parent_no = 0 specificObjectsToCalculateLC.type = ObjectTypes.E_OBJECT_TYPE_LOAD_CASE.name @@ -398,7 +443,7 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None if designSituations is not None: for designSituation in designSituations: - specificObjectsToCalculateDS = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') + specificObjectsToCalculateDS = model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') specificObjectsToCalculateDS.no = designSituation specificObjectsToCalculateDS.parent_no = 0 specificObjectsToCalculateDS.type = ObjectTypes.E_OBJECT_TYPE_DESIGN_SITUATION.name @@ -406,15 +451,15 @@ def CalculateSelectedCases(loadCases: list = None, designSituations: list = None if loadCombinations is not None: for loadCombination in loadCombinations: - specificObjectsToCalculateLC = Model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') + specificObjectsToCalculateLC = model.clientModel.factory.create('ns0:array_of_calculate_specific_objects_elements.element') specificObjectsToCalculateLC.no = loadCombination specificObjectsToCalculateLC.parent_no = 0 specificObjectsToCalculateLC.type = ObjectTypes.E_OBJECT_TYPE_LOAD_CASE.name specificObjectsToCalculate.element.append(specificObjectsToCalculateLC) - Model.clientModel.service.calculate_specific_objects(specificObjectsToCalculate) + model.clientModel.service.calculate_specific_objects(specificObjectsToCalculate) -def FirstFreeIdNumber(memType = ObjectTypes.E_OBJECT_TYPE_MEMBER, parent_no: int = 0): +def FirstFreeIdNumber(memType = ObjectTypes.E_OBJECT_TYPE_MEMBER, parent_no: int = 0, model = Model): ''' This method returns the next available Id Number for the selected object type Args: @@ -424,9 +469,9 @@ def FirstFreeIdNumber(memType = ObjectTypes.E_OBJECT_TYPE_MEMBER, parent_no: int (1) A geometric object has, in general, a parent_no = 0 (2) The parent_no parameter becomes significant for example with loads ''' - return Model.clientModel.service.get_first_free_number(memType.name, parent_no) + return model.clientModel.service.get_first_free_number(memType.name, parent_no) -def SetModelType(model_type = ModelType.E_MODEL_TYPE_3D): +def SetModelType(model_type = ModelType.E_MODEL_TYPE_3D, model = Model): ''' This method sets the model type. The model type is E_MODEL_TYPE_3D by default. @@ -442,12 +487,12 @@ def SetModelType(model_type = ModelType.E_MODEL_TYPE_3D): ModelType.E_MODEL_TYPE_3D ''' - Model.clientModel.service.set_model_type(model_type.name) + model.clientModel.service.set_model_type(model_type.name) -def GetModelType(): +def GetModelType(model = Model): ''' The method returns a string of the current model type. ''' - return Model.clientModel.service.get_model_type() + return model.clientModel.service.get_model_type() diff --git a/RFEM/window.py b/RFEM/window.py deleted file mode 100644 index df15656c..00000000 --- a/RFEM/window.py +++ /dev/null @@ -1,163 +0,0 @@ -from tkinter import Tk -from tkinter import ttk, Entry, Label, Button, Radiobutton, Checkbutton, CENTER, VERTICAL, INSERT, NORMAL, DISABLED, LEFT, W, IntVar, StringVar - -def window(mainFunc, lstOfModels): - color = '#F2F3F4' - # Creating tkinter window - win = Tk() - win.resizable(False, False) - win.title('Power of automation with RFEM6') - win.geometry("550x280") - - win.configure(bg=color) - win.grid_columnconfigure(index=0, minsize=140) - win.grid_columnconfigure(index=1, minsize=80) - win.grid_columnconfigure(index=2, minsize=80) - win.grid_columnconfigure(index=3, minsize=70) - win.grid_columnconfigure(index=4, minsize=120) - - # Separators - y = 3 - rh = 120 #0.76 - ttk.Separator(win, orient=VERTICAL).place(x=140, y=y, height=rh) - ttk.Separator(win, orient=VERTICAL).place(x=260, y=y, height=rh) - ttk.Separator(win, orient=VERTICAL).place(x=350, y=y, height=rh) - ttk.Separator(win, orient=VERTICAL).place(x=430, y=y, height=rh) - - Label(text="Params Type", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=0) - Label(text="Data Type", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=1) - Label(text="Symbol", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=2) - Label(text="Units", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=3) - Label(text="Magnitude", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=0, column=4) - - Label(text="hall width", bg=color).grid(row=1, column=0) - Label(text="hall height", bg=color).grid(row=2, column=0) - Label(text="hall height", bg=color).grid(row=3, column=0) - Label(text="frame spacing", bg=color).grid(row=4, column=0) - Label(text="number of frames", bg=color).grid(row=5, column=0) - Label(text="Options", justify=CENTER, font="Segoe 9 bold", bg=color).grid(row=6, column=0) - - Label(text="float", bg=color).grid(row=1, column=1) - Label(text="float", bg=color).grid(row=2, column=1) - Label(text="float", bg=color).grid(row=3, column=1) - Label(text="float", bg=color).grid(row=4, column=1) - Label(text="integer", bg=color).grid(row=5, column=1) - - Label(text="L", bg=color).grid(row=1, column=2) - Label(text="h_o", bg=color).grid(row=2, column=2) - Label(text="h_m", bg=color).grid(row=3, column=2) - Label(text="f_s", bg=color).grid(row=4, column=2) - Label(text="n", bg=color).grid(row=5, column=2) - - Label(text="meters", bg=color).grid(row=1, column=3) - Label(text="meters", bg=color).grid(row=2, column=3) - Label(text="meters", bg=color).grid(row=3, column=3) - Label(text="meters", bg=color).grid(row=4, column=3) - Label(text="-", bg=color).grid(row=5, column=3) - - def validateAll(val): # 1 mandatory argument, not used - try: - float(e1.get()) - float(e2.get()) - float(e3.get()) - float(e4.get()) - int(e5.get()) - button1['state']="normal" - return 1 - except: - button1['state']="disabled" - print("disabled") - return 0 - - # Setting entry points - e1 = Entry(justify=CENTER, width=15) # (relief=FLAT, justify=CENTER, bg=color) - e1.grid(row=1, column=4) - e1.insert(INSERT, 20.0) - e2 = Entry(justify=CENTER, width=15) - e2.grid(row=2, column=4) - e2.insert(INSERT, 5.2) - e3 = Entry(justify=CENTER, width=15) - e3.grid(row=3, column=4) - e3.insert(INSERT, 7.3) - e4 = Entry(justify=CENTER, width=15) - e4.grid(row=4, column=4) - e4.insert(INSERT, 6.0) - e5 = Entry(justify=CENTER, width=15) - e5.grid(row=5, column=4) - e5.insert(INSERT, 6) - - - def start(val): - # hall_width_L, hall_height_h_o, hall_height_h_m, number_frames, frame_spacing, new_model, model_name, delete, delete_all - model_name = e6.get() if var1.get() else modeCombo.get() - mainFunc(float(e1.get()),float(e2.get()),float(e3.get()),int(e5.get()),float(e4.get()),var1.get(),model_name,int(var2.get()),int(var3.get())) - def close_window(val): - win.destroy() - - # substitute for validatecommand and validation options of Entry (e1-e5) - e1.bind('', validateAll) - e1.bind('', validateAll) - e2.bind('', validateAll) - e2.bind('', validateAll) - e3.bind('', validateAll) - e3.bind('', validateAll) - e4.bind('', validateAll) - e4.bind('', validateAll) - e5.bind('', validateAll) - e5.bind('', validateAll) - - def selectRadioButton(): - if var1.get()==1: - c2.config(state=DISABLED) - c3.config(state=DISABLED) - modeCombo.config(state=DISABLED) - e6.config(state=NORMAL) - else: - e6.config(state=DISABLED) - c2.config(state=NORMAL) - c3.config(state=NORMAL) - modeCombo.config(state=NORMAL) - - # Radiobuttons - var1 = IntVar() - c1 = Radiobutton(win, text='create new model', variable=var1, value=1, command=selectRadioButton) - c1.grid(row=7, column=0, sticky=W) - c1.select() - c1 = Radiobutton(win, text='use existing model', variable=var1, value=0, command=selectRadioButton) - c1.grid(row=8, column=0, sticky=W) - c1.config(state=DISABLED) - - # Textbox - e6 = Entry(justify=LEFT, width=19) - e6.grid(row=7, column=1) - e6.insert(INSERT, 'new_Model') - - # Combobox - n = StringVar() - lst = [] - modeCombo = ttk.Combobox(win, text='model', width=16, textvariable=n) - if lstOfModels: - c1.config(state=NORMAL) - for i in lstOfModels.name: - lst.append(i) - modeCombo['values'] = lst - modeCombo.current(0) - modeCombo.grid(row=8, column=1, sticky=W) - - # Checkboxes - var2 = IntVar() - c2 = Checkbutton(win, text='delete results', state=DISABLED, variable=var2, onvalue=1, offvalue=0) - c2.grid(row=9, column=0, sticky=W) - var3 = IntVar() - c3 = Checkbutton(win, text='delete_all model', state=DISABLED, variable=var3, onvalue=1, offvalue=0) - c3.grid(row=10, column=0, sticky=W) - - button1=Button(text='Run', anchor=CENTER, width=12, height=1, bg=color, state="normal") # width=16 - button1.grid(row=11, column=4) - button1.bind('', start) - - button2=Button(text='Close', anchor=CENTER, width=12, height=1, bg=color, state="normal") - button2.grid(row=11, column=3) - button2.bind('', close_window) - - win.mainloop() diff --git a/UnitTests/test_zCalculate.py b/UnitTests/test_zCalculate.py index c68b0bd9..01f70f42 100644 --- a/UnitTests/test_zCalculate.py +++ b/UnitTests/test_zCalculate.py @@ -57,7 +57,7 @@ def test_optimization_settings(): OptimizationSettings(True, 11, OptimizeOnType.E_OPTIMIZE_ON_TYPE_MIN_COST, Optimizer.E_OPTIMIZER_TYPE_PERCENTS_OF_RANDOM_MUTATIONS, 0.3) - opt_sett = OptimizationSettings.get_optimization_settings() + opt_sett = OptimizationSettings.get() assert opt_sett.general_optimization_active assert opt_sett.general_keep_best_number_model_mutations == 11 assert opt_sett.general_optimize_on == OptimizeOnType.E_OPTIMIZE_ON_TYPE_MIN_COST.name @@ -65,4 +65,4 @@ def test_optimization_settings(): assert opt_sett.general_number_random_mutations == 0.3 opt_sett.general_keep_best_number_model_mutations = 15 - OptimizationSettings.set_optimization_settings(opt_sett) + OptimizationSettings.set(opt_sett)