From d9903037c4057854d9d1cd3df3cb6b1c75d36bc2 Mon Sep 17 00:00:00 2001 From: prascle Date: Wed, 20 Mar 2013 12:39:07 +0000 Subject: [PATCH] PR: update with geompyDC 7.1.0 --- src/GEOM_SWIG/geomBuilder.py | 250 +++++++++++++++++++++++++++++++---- 1 file changed, 222 insertions(+), 28 deletions(-) diff --git a/src/GEOM_SWIG/geomBuilder.py b/src/GEOM_SWIG/geomBuilder.py index 7b39d5f2a..bc35be65f 100644 --- a/src/GEOM_SWIG/geomBuilder.py +++ b/src/GEOM_SWIG/geomBuilder.py @@ -356,8 +356,8 @@ def PackData(data): ## the AddTexture() function of geomBuilder class. ## For example, ## \code -## import geomBuilder -## geompy = geomBuilder.geomInstance(salome.myStudy) +## from salome.geom import geomBuilder +## geompy = geomBuilder.New(salome.myStudy) ## texture = geompy.readtexture('mytexture.dat') ## texture = geompy.AddTexture(*texture) ## obj.SetMarkerTexture(texture) @@ -382,8 +382,8 @@ def ReadTexture(fname): sequence of tree values: texture's width, height in pixels and its byte stream Example of usage: - import geomBuilder - geompy = geomBuilder.geomInstance(salome.myStudy) + from salome.geom import geomBuilder + geompy = geomBuilder.New(salome.myStudy) texture = geompy.readtexture('mytexture.dat') texture = geompy.AddTexture(*texture) obj.SetMarkerTexture(texture) @@ -563,7 +563,6 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): self.AdvOp = None pass - ## @addtogroup l1_geomBuilder_auxiliary ## Process object publication in the study, as follows: # - if @a theName is specified (not None), the object is published in the study # with this name, not taking into account "auto-publishing" option; @@ -826,7 +825,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): drwAttribute.SetDrawable(False) pass - # end of l1_geomBuilder_auxiliary + # end of l1_geompy_auxiliary ## @} ## @addtogroup l3_restore_ss @@ -3763,6 +3762,61 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): RaiseIfFailed("MakePipeBiNormalAlongVector", self.PrimOp) self._autoPublish(anObj, theName, "pipe") return anObj + + ## Makes a thick solid from a face or a shell + # @param theShape Face or Shell to be thicken + # @param theThickness Thickness of the resulting solid + # @param theName Object name; when specified, this parameter is used + # for result publication in the study. Otherwise, if automatic + # publication is switched on, default value is used for result name. + # + # @return New GEOM.GEOM_Object, containing the created solid + # + def MakeThickSolid(self, theShape, theThickness, theName=None): + """ + Make a thick solid from a face or a shell + + Parameters: + theShape Face or Shell to be thicken + theThickness Thickness of the resulting solid + theName Object name; when specified, this parameter is used + for result publication in the study. Otherwise, if automatic + publication is switched on, default value is used for result name. + + Returns: + New GEOM.GEOM_Object, containing the created solid + """ + # Example: see GEOM_TestAll.py + anObj = self.PrimOp.MakeThickening(theShape, theThickness, True) + RaiseIfFailed("MakeThickening", self.PrimOp) + self._autoPublish(anObj, theName, "pipe") + return anObj + + + ## Modifies a face or a shell to make it a thick solid + # @param theShape Face or Shell to be thicken + # @param theThickness Thickness of the resulting solid + # + # @return The modified shape + # + def Thicken(self, theShape, theThickness): + """ + Modifies a face or a shell to make it a thick solid + + Parameters: + theBase Base shape to be extruded. + thePath Path shape to extrude the base shape along it. + theName Object name; when specified, this parameter is used + for result publication in the study. Otherwise, if automatic + publication is switched on, default value is used for result name. + + Returns: + The modified shape + """ + # Example: see GEOM_TestAll.py + anObj = self.PrimOp.MakeThickening(theShape, theThickness, False) + RaiseIfFailed("MakeThickening", self.PrimOp) + return anObj ## Build a middle path of a pipe-like shape. # The path shape can be a wire or an edge. @@ -6605,7 +6659,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # # @ref tui_partition "Example" def MakePartition(self, ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], - Limit=ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], + Limit=self.ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], KeepNonlimitShapes=0, theName=None): """ Perform partition operation. @@ -6673,7 +6727,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @ref swig_todo "Example" def MakePartitionNonSelfIntersectedShape(self, ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], - Limit=ShapeType["AUTO"], RemoveWebs=0, + Limit=self.ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], KeepNonlimitShapes=0, theName=None): """ @@ -6711,7 +6765,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @ref tui_partition "Example 1" # \n @ref swig_Partition "Example 2" def Partition(self, ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], - Limit=ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], + Limit=self.ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], KeepNonlimitShapes=0, theName=None): """ See method geompy.MakePartition for more information. @@ -11508,16 +11562,34 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # The extremity of the incident pipe is located on junction point P3. # If P1, P2 and P3 are not given, the center of the shape is (0,0,0) and # the main plane of the T-shape is XOY. + # # @param theR1 Internal radius of main pipe # @param theW1 Width of main pipe # @param theL1 Half-length of main pipe # @param theR2 Internal radius of incident pipe (R2 < R1) # @param theW2 Width of incident pipe (R2+W2 < R1+W1) # @param theL2 Half-length of incident pipe + # # @param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=True) # @param theP1 1st junction point of main pipe # @param theP2 2nd junction point of main pipe # @param theP3 Junction point of incident pipe + # + # @param theRL Internal radius of left thickness reduction + # @param theWL Width of left thickness reduction + # @param theLtransL Length of left transition part + # @param theLthinL Length of left thin part + # + # @param theRR Internal radius of right thickness reduction + # @param theWR Width of right thickness reduction + # @param theLtransR Length of right transition part + # @param theLthinR Length of right thin part + # + # @param theRI Internal radius of incident thickness reduction + # @param theWI Width of incident thickness reduction + # @param theLtransI Length of incident transition part + # @param theLthinI Length of incident thin part + # # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. @@ -11525,7 +11597,12 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @return List of GEOM.GEOM_Object, containing the created shape and propagation groups. # # @ref tui_creation_pipetshape "Example" - def MakePipeTShape(self, theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh=True, theP1=None, theP2=None, theP3=None, theName=None): + def MakePipeTShape (self, theR1, theW1, theL1, theR2, theW2, theL2, + theHexMesh=True, theP1=None, theP2=None, theP3=None, + theRL=0, theWL=0, theLtransL=0, theLthinL=0, + theRR=0, theWR=0, theLtransR=0, theLthinR=0, + theRI=0, theWI=0, theLtransI=0, theLthinI=0, + theName=None): """ Create a T-shape object with specified caracteristics for the main and the incident pipes (radius, width, half-length). @@ -11534,7 +11611,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): If P1, P2 and P3 are not given, the center of the shape is (0,0,0) and the main plane of the T-shape is XOY. - Paremeters: + Parameters: theR1 Internal radius of main pipe theW1 Width of main pipe theL1 Half-length of main pipe @@ -11545,6 +11622,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): theP1 1st junction point of main pipe theP2 2nd junction point of main pipe theP3 Junction point of incident pipe + + theRL Internal radius of left thickness reduction + theWL Width of left thickness reduction + theLtransL Length of left transition part + theLthinL Length of left thin part + + theRR Internal radius of right thickness reduction + theWR Width of right thickness reduction + theLtransR Length of right transition part + theLthinR Length of right thin part + + theRI Internal radius of incident thickness reduction + theWI Width of incident thickness reduction + theLtransI Length of incident transition part + theLthinI Length of incident thin part + theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. @@ -11557,12 +11650,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): pipetshape = geompy.MakePipeTShape(80.0, 20.0, 200.0, 50.0, 20.0, 200.0) # create PipeTShape object with position pipetshape_position = geompy.MakePipeTShape(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, True, P1, P2, P3) + # create PipeTShape object with left thickness reduction + pipetshape_thr = geompy.MakePipeTShape(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, theRL=60, theWL=20, theLtransL=40, theLthinL=20) """ - theR1, theW1, theL1, theR2, theW2, theL2, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2) + theR1, theW1, theL1, theR2, theW2, theL2, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI) if (theP1 and theP2 and theP3): - anObj = self.AdvOp.MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3) + anObj = self.AdvOp.MakePipeTShapeTRWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theHexMesh, theP1, theP2, theP3) else: - anObj = self.AdvOp.MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh) + anObj = self.AdvOp.MakePipeTShapeTR(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theHexMesh) RaiseIfFailed("MakePipeTShape", self.AdvOp) if Parameters: anObj[0].SetParameters(Parameters) def_names = [ "pipeTShape" ] + [ "pipeTShape_grp_%d" % i for i in range(1, len(anObj)) ] @@ -11588,6 +11691,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @param theP1 1st junction point of main pipe # @param theP2 2nd junction point of main pipe # @param theP3 Junction point of incident pipe + # + # @param theRL Internal radius of left thickness reduction + # @param theWL Width of left thickness reduction + # @param theLtransL Length of left transition part + # @param theLthinL Length of left thin part + # + # @param theRR Internal radius of right thickness reduction + # @param theWR Width of right thickness reduction + # @param theLtransR Length of right transition part + # @param theLthinR Length of right thin part + # + # @param theRI Internal radius of incident thickness reduction + # @param theWI Width of incident thickness reduction + # @param theLtransI Length of incident transition part + # @param theLthinI Length of incident thin part + # # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. @@ -11595,7 +11714,12 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @return List of GEOM.GEOM_Object, containing the created shape and propagation groups. # # @ref tui_creation_pipetshape "Example" - def MakePipeTShapeChamfer(self, theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh=True, theP1=None, theP2=None, theP3=None, theName=None): + def MakePipeTShapeChamfer (self, theR1, theW1, theL1, theR2, theW2, theL2, + theH, theW, theHexMesh=True, theP1=None, theP2=None, theP3=None, + theRL=0, theWL=0, theLtransL=0, theLthinL=0, + theRR=0, theWR=0, theLtransR=0, theLthinR=0, + theRI=0, theWI=0, theLtransI=0, theLthinI=0, + theName=None): """ Create a T-shape object with chamfer and with specified caracteristics for the main and the incident pipes (radius, width, half-length). The chamfer is @@ -11605,7 +11729,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): If P1, P2 and P3 are not given, the center of the shape is (0,0,0) and the main plane of the T-shape is XOY. - Paremeters: + Parameters: theR1 Internal radius of main pipe theW1 Width of main pipe theL1 Half-length of main pipe @@ -11618,6 +11742,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): theP1 1st junction point of main pipe theP2 2nd junction point of main pipe theP3 Junction point of incident pipe + + theRL Internal radius of left thickness reduction + theWL Width of left thickness reduction + theLtransL Length of left transition part + theLthinL Length of left thin part + + theRR Internal radius of right thickness reduction + theWR Width of right thickness reduction + theLtransR Length of right transition part + theLthinR Length of right thin part + + theRI Internal radius of incident thickness reduction + theWI Width of incident thickness reduction + theLtransI Length of incident transition part + theLthinI Length of incident thin part + theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. @@ -11630,12 +11770,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): pipetshapechamfer = geompy.MakePipeTShapeChamfer(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 20.0, 20.0) # create PipeTShape with chamfer object with position pipetshapechamfer_position = geompy.MakePipeTShapeChamfer(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 20.0, 20.0, True, P1, P2, P3) + # create PipeTShape with chamfer object with left thickness reduction + pipetshapechamfer_thr = geompy.MakePipeTShapeChamfer(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 20.0, 20.0, theRL=60, theWL=20, theLtransL=40, theLthinL=20) """ - theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW) + theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI) if (theP1 and theP2 and theP3): - anObj = self.AdvOp.MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3) + anObj = self.AdvOp.MakePipeTShapeTRChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theH, theW, theHexMesh, theP1, theP2, theP3) else: - anObj = self.AdvOp.MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh) + anObj = self.AdvOp.MakePipeTShapeTRChamfer(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theH, theW, theHexMesh) RaiseIfFailed("MakePipeTShapeChamfer", self.AdvOp) if Parameters: anObj[0].SetParameters(Parameters) def_names = [ "pipeTShape" ] + [ "pipeTShape_grp_%d" % i for i in range(1, len(anObj)) ] @@ -11660,6 +11810,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @param theP1 1st junction point of main pipe # @param theP2 2nd junction point of main pipe # @param theP3 Junction point of incident pipe + # + # @param theRL Internal radius of left thickness reduction + # @param theWL Width of left thickness reduction + # @param theLtransL Length of left transition part + # @param theLthinL Length of left thin part + # + # @param theRR Internal radius of right thickness reduction + # @param theWR Width of right thickness reduction + # @param theLtransR Length of right transition part + # @param theLthinR Length of right thin part + # + # @param theRI Internal radius of incident thickness reduction + # @param theWI Width of incident thickness reduction + # @param theLtransI Length of incident transition part + # @param theLthinI Length of incident thin part + # # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. @@ -11667,7 +11833,12 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @return List of GEOM.GEOM_Object, containing the created shape and propagation groups. # # @ref tui_creation_pipetshape "Example" - def MakePipeTShapeFillet(self, theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh=True, theP1=None, theP2=None, theP3=None, theName=None): + def MakePipeTShapeFillet (self, theR1, theW1, theL1, theR2, theW2, theL2, + theRF, theHexMesh=True, theP1=None, theP2=None, theP3=None, + theRL=0, theWL=0, theLtransL=0, theLthinL=0, + theRR=0, theWR=0, theLtransR=0, theLthinR=0, + theRI=0, theWI=0, theLtransI=0, theLthinI=0, + theName=None): """ Create a T-shape object with fillet and with specified caracteristics for the main and the incident pipes (radius, width, half-length). The fillet is @@ -11675,7 +11846,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): The extremities of the main pipe are located on junctions points P1 and P2. The extremity of the incident pipe is located on junction point P3. - Paremeters: + Parameters: If P1, P2 and P3 are not given, the center of the shape is (0,0,0) and the main plane of the T-shape is XOY. theR1 Internal radius of main pipe @@ -11689,6 +11860,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): theP1 1st junction point of main pipe theP2 2nd junction point of main pipe theP3 Junction point of incident pipe + + theRL Internal radius of left thickness reduction + theWL Width of left thickness reduction + theLtransL Length of left transition part + theLthinL Length of left thin part + + theRR Internal radius of right thickness reduction + theWR Width of right thickness reduction + theLtransR Length of right transition part + theLthinR Length of right thin part + + theRI Internal radius of incident thickness reduction + theWI Width of incident thickness reduction + theLtransI Length of incident transition part + theLthinI Length of incident thin part + theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. @@ -11701,13 +11888,22 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): pipetshapefillet = geompy.MakePipeTShapeFillet(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 5.0) # create PipeTShape with fillet object with position pipetshapefillet_position = geompy.MakePipeTShapeFillet(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 5.0, True, P1, P2, P3) - + # create PipeTShape with fillet object with left thickness reduction + pipetshapefillet_thr = geompy.MakePipeTShapeFillet(80.0, 20.0, 200.0, 50.0, 20.0, 200.0, 5.0, theRL=60, theWL=20, theLtransL=40, theLthinL=20) """ - theR1, theW1, theL1, theR2, theW2, theL2, theRF, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2, theRF) + theR1, theW1, theL1, theR2, theW2, theL2, theRF, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI, Parameters = ParseParameters(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theRL, theWL, theLtransL, theLthinL, theRR, theWR, theLtransR, theLthinR, theRI, theWI, theLtransI, theLthinI) if (theP1 and theP2 and theP3): - anObj = self.AdvOp.MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3) + anObj = self.AdvOp.MakePipeTShapeTRFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theRF, theHexMesh, theP1, theP2, theP3) else: - anObj = self.AdvOp.MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh) + anObj = self.AdvOp.MakePipeTShapeTRFillet(theR1, theW1, theL1, theR2, theW2, theL2, + theRL, theWL, theLtransL, theLthinL, + theRR, theWR, theLtransR, theLthinR, + theRI, theWI, theLtransI, theLthinI, + theRF, theHexMesh) RaiseIfFailed("MakePipeTShapeFillet", self.AdvOp) if Parameters: anObj[0].SetParameters(Parameters) def_names = [ "pipeTShape" ] + [ "pipeTShape_grp_%d" % i for i in range(1, len(anObj)) ] @@ -11829,8 +12025,6 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): ## Create a copy of the given object # # @param theOriginal geometry object for copy - # @return unique object identifier - # @ingroup l1_geomBuilder_auxiliary # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. @@ -11843,7 +12037,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): """ Create a copy of the given object - Paremeters: + Parameters: theOriginal geometry object for copy theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic -- 2.39.2