From 17058f10c1a8cbf82c462254078554fa18057748 Mon Sep 17 00:00:00 2001 From: mpv Date: Thu, 25 Oct 2018 16:28:50 +0300 Subject: [PATCH] Update tests that create sketch faces by themselves and use these faces as arguments. Now generated faces must be received from the sketch results. --- src/FeaturesPlugin/Test/TestBoolean.py | 11 +---- .../Test/TestBooleanCompSolids.py | 9 +--- src/FeaturesPlugin/Test/TestBooleanSmash.py | 11 +---- .../Test/TestCompositeFeaturesOnCompSolids.py | 12 +----- src/FeaturesPlugin/Test/TestExtrusionCut.py | 14 ++---- src/FeaturesPlugin/Test/TestExtrusionFuse.py | 14 ++---- src/FeaturesPlugin/Test/TestFillEdgeVertex.py | 1 - src/FeaturesPlugin/Test/TestIntersection.py | 28 +++--------- src/FeaturesPlugin/Test/TestMultiBoolean.py | 33 ++------------ src/FeaturesPlugin/Test/TestPartition.py | 14 ++---- src/FeaturesPlugin/Test/TestPlacement.py | 16 ++----- src/FeaturesPlugin/Test/TestRevolution.py | 18 +++----- src/FeaturesPlugin/Test/TestRevolutionCut.py | 14 ++---- src/FeaturesPlugin/Test/TestRevolutionFuse.py | 14 ++---- src/FeaturesPlugin/Test/TestRotation.py | 14 ++---- src/FeaturesPlugin/Test/TestSerialBoolean.py | 43 ++++++------------- src/FeaturesPlugin/Test/TestTranslation.py | 14 ++---- 17 files changed, 59 insertions(+), 221 deletions(-) diff --git a/src/FeaturesPlugin/Test/TestBoolean.py b/src/FeaturesPlugin/Test/TestBoolean.py index 75015cca8..d7eeb9948 100644 --- a/src/FeaturesPlugin/Test/TestBoolean.py +++ b/src/FeaturesPlugin/Test/TestBoolean.py @@ -100,18 +100,11 @@ aSession.startOperation() extrudedObjects = [] for eachSketchFeature in [aCircleSketchFeature, aTriangleSketchFeature]: # Build sketch faces - aSketchResult = eachSketchFeature.firstResult() - aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() - origin = geomDataAPI_Point(eachSketchFeature.attribute("Origin")).pnt() - dirX = geomDataAPI_Dir(eachSketchFeature.attribute("DirX")).dir() - norm = geomDataAPI_Dir(eachSketchFeature.attribute("Norm")).dir() - aSketchFaces = ShapeList() - GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) + aSketchResult = modelAPI_ResultConstruction(eachSketchFeature.firstResult()) # Create extrusion on them anExtrusionFt = aPart.addFeature("Extrusion") anExtrusionFt.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("from_size").setValue(0) anExtrusionFt.real("to_size").setValue(50) diff --git a/src/FeaturesPlugin/Test/TestBooleanCompSolids.py b/src/FeaturesPlugin/Test/TestBooleanCompSolids.py index 638f27955..1ab01779a 100644 --- a/src/FeaturesPlugin/Test/TestBooleanCompSolids.py +++ b/src/FeaturesPlugin/Test/TestBooleanCompSolids.py @@ -93,14 +93,7 @@ aSession.startOperation() extrudedObjects = [] for eachSketchFeature in [aCircleSketchFeature, aTriangleSketchFeature]: # Build sketch faces - aSketchResult = eachSketchFeature.firstResult() - aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() - origin = geomDataAPI_Point(eachSketchFeature.attribute("Origin")).pnt() - dirX = geomDataAPI_Dir(eachSketchFeature.attribute("DirX")).dir() - norm = geomDataAPI_Dir(eachSketchFeature.attribute("Norm")).dir() - aSketchFaces = ShapeList() - GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) + aSketchResult = modelAPI_ResultConstruction(eachSketchFeature.firstResult()) # Create extrusion on them anExtrusionFt = aPart.addFeature("Extrusion") anExtrusionFt.selectionList("base").append( diff --git a/src/FeaturesPlugin/Test/TestBooleanSmash.py b/src/FeaturesPlugin/Test/TestBooleanSmash.py index 4be9090f0..7cce18735 100644 --- a/src/FeaturesPlugin/Test/TestBooleanSmash.py +++ b/src/FeaturesPlugin/Test/TestBooleanSmash.py @@ -84,18 +84,11 @@ aSession.startOperation() extrudedObjects = [] for eachSketchFeature in [aCircleSketchFeature, aTriangleSketchFeature]: # Build sketch faces - aSketchResult = eachSketchFeature.firstResult() - aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() - origin = geomDataAPI_Point(eachSketchFeature.attribute("Origin")).pnt() - dirX = geomDataAPI_Dir(eachSketchFeature.attribute("DirX")).dir() - norm = geomDataAPI_Dir(eachSketchFeature.attribute("Norm")).dir() - aSketchFaces = ShapeList() - GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) + aSketchResult = modelAPI_ResultConstruction(eachSketchFeature.firstResult()) # Create extrusion on them anExtrusionFt = aPart.addFeature("Extrusion") anExtrusionFt.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("from_size").setValue(0) anExtrusionFt.real("to_size").setValue(50) diff --git a/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py b/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py index 47caabb1d..1df2653bc 100644 --- a/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py +++ b/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py @@ -64,16 +64,8 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") diff --git a/src/FeaturesPlugin/Test/TestExtrusionCut.py b/src/FeaturesPlugin/Test/TestExtrusionCut.py index 2166e6474..05a81bef3 100644 --- a/src/FeaturesPlugin/Test/TestExtrusionCut.py +++ b/src/FeaturesPlugin/Test/TestExtrusionCut.py @@ -62,23 +62,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestExtrusionFuse.py b/src/FeaturesPlugin/Test/TestExtrusionFuse.py index 4e6489054..0ad73b99b 100644 --- a/src/FeaturesPlugin/Test/TestExtrusionFuse.py +++ b/src/FeaturesPlugin/Test/TestExtrusionFuse.py @@ -62,23 +62,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestFillEdgeVertex.py b/src/FeaturesPlugin/Test/TestFillEdgeVertex.py index 3ff610374..ce2e768f0 100644 --- a/src/FeaturesPlugin/Test/TestFillEdgeVertex.py +++ b/src/FeaturesPlugin/Test/TestFillEdgeVertex.py @@ -39,7 +39,6 @@ model.do() Edge_1 = model.addEdge(Part_1_doc, [model.selection("EDGE", "Sketch_1/SketchLine_1")]) Fill_1 = model.addFill(Part_1_doc, [model.selection("EDGE", "Edge_1_1")], [model.selection("VERTEX", "Vertex_1_1")]) model.do() - model.checkResult(Fill_1,model,1,[2],[0],[0],[2],[4]) model.testHaveNamingSubshapes(Fill_1,model,Part_1_doc) diff --git a/src/FeaturesPlugin/Test/TestIntersection.py b/src/FeaturesPlugin/Test/TestIntersection.py index ea47ba331..df49fea30 100644 --- a/src/FeaturesPlugin/Test/TestIntersection.py +++ b/src/FeaturesPlugin/Test/TestIntersection.py @@ -62,23 +62,15 @@ aSession.finishOperation() # Make extrusion on circle 1 #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) @@ -116,23 +108,15 @@ aSession.finishOperation() # Make extrusion on circle 2 #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestMultiBoolean.py b/src/FeaturesPlugin/Test/TestMultiBoolean.py index c65d2c4bc..1471c32d6 100644 --- a/src/FeaturesPlugin/Test/TestMultiBoolean.py +++ b/src/FeaturesPlugin/Test/TestMultiBoolean.py @@ -96,30 +96,17 @@ aSession.startOperation() anExtrusions = [] for i in range(0, N * N): - aSketchResult = aSketchFeatures[i].firstResult() - aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() - origin = geomDataAPI_Point(aSketchFeatures[i].attribute("Origin")).pnt() - dirX = geomDataAPI_Dir(aSketchFeatures[i].attribute("DirX")).dir() - norm = geomDataAPI_Dir(aSketchFeatures[i].attribute("Norm")).dir() - aSketchFaces = ShapeList() - GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) - + aSketchResult = modelAPI_ResultConstruction(aSketchFeatures[i].firstResult()) anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") anExtrusionFt.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("from_size").setValue(0) anExtrusionFt.real("to_size").setValue(10) anExtrusionFt.real("to_offset").setValue(0) #TODO: remove anExtrusionFt.real("from_offset").setValue(0) #TODO: remove - # v1.0.2 from master - # anExtrusionFt.selection("extrusion_face").setValue( - # aSketchResult, aSketchFaces[0]) - # anExtrusionFt.real("extrusion_size").setValue(10) - # anExtrusionFt.boolean("extrusion_reverse").setValue(False) anExtrusions.append(anExtrusionFt) aSession.finishOperation() @@ -162,28 +149,16 @@ aSession.startOperation() #========================================================================= # Build a big box extrusion #========================================================================= -aSketchResult = aQuadrangleSketchFeature.firstResult() -aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() -origin = geomDataAPI_Point(aQuadrangleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("Norm")).dir() -aSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) +aSketchResult = modelAPI_ResultConstruction(aQuadrangleSketchFeature.firstResult()) # Create extrusion on them aBox = aPart.addFeature("Extrusion") aBox.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) aBox.string("CreationMethod").setValue("BySizes") aBox.real("from_size").setValue(0) aBox.real("to_size").setValue(10) aBox.real("to_offset").setValue(0) #TODO: remove aBox.real("from_offset").setValue(0) #TODO: remove -# v 1.0.2 from master -# aBox.selection("extrusion_face").setValue( -# aSketchResult, aSketchFaces[0]) -# aBox.real("extrusion_size").setValue(10) -# aBox.boolean("extrusion_reverse").setValue(False) aSession.finishOperation() diff --git a/src/FeaturesPlugin/Test/TestPartition.py b/src/FeaturesPlugin/Test/TestPartition.py index 6380b0094..9e3812237 100644 --- a/src/FeaturesPlugin/Test/TestPartition.py +++ b/src/FeaturesPlugin/Test/TestPartition.py @@ -64,23 +64,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestPlacement.py b/src/FeaturesPlugin/Test/TestPlacement.py index 0ad0b903c..f61759df4 100644 --- a/src/FeaturesPlugin/Test/TestPlacement.py +++ b/src/FeaturesPlugin/Test/TestPlacement.py @@ -95,22 +95,14 @@ aSession.finishOperation() #========================================================================= # Make extrusion #========================================================================= -aSketchResult = aSketchFeature.firstResult() -aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() -origin = geomDataAPI_Point(aSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm")).dir() -aSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces(origin, dirX, norm, aSketchEdges, aSketchFaces) -assert (len(aSketchFaces) > 0) -assert (aSketchFaces[0] is not None) -assert (aSketchFaces[1] is not None) +aSketchResult = modelAPI_ResultConstruction(aSketchFeature.firstResult()) +assert (aSketchResult.facesNum() > 1) aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") -anExtrusionFt.selectionList("base").append(aSketchResult, aSketchFaces[0]) -anExtrusionFt.selectionList("base").append(aSketchResult, aSketchFaces[1]) +anExtrusionFt.selectionList("base").append(aSketchResult, aSketchResult.face(0)) +anExtrusionFt.selectionList("base").append(aSketchResult, aSketchResult.face(1)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestRevolution.py b/src/FeaturesPlugin/Test/TestRevolution.py index bfe1a37bb..dfd45ccb4 100644 --- a/src/FeaturesPlugin/Test/TestRevolution.py +++ b/src/FeaturesPlugin/Test/TestRevolution.py @@ -86,16 +86,8 @@ aCircleRadius.setValue(30.) aSession.finishOperation() # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) #========================================================================= # Create a sketch line to revol @@ -130,7 +122,7 @@ aRevolFt = aPart.addFeature("Revolution") assert (aRevolFt.getKind() == "Revolution") # selection type FACE=4 aRevolFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) aRevolFt.selection("axis_object").setValue(aLineSketchResult, aLineEdge) aRevolFt.string("CreationMethod").setValue("ByAngles") aRevolFt.real("from_angle").setValue(10) @@ -184,7 +176,7 @@ aRevolFt = aPart.addFeature("Revolution") assert (aRevolFt.getKind() == "Revolution") # selection type FACE=4 aRevolFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) aRevolFt.selection("axis_object").setValue(aLineSketchResult, aLineEdge) aRevolFt.string("CreationMethod").setValue("ByPlanesAndOffsets") aRevolFt.real("from_angle").setValue(0) #TODO: remove @@ -210,7 +202,7 @@ aRevolFt = aPart.addFeature("Revolution") assert (aRevolFt.getKind() == "Revolution") # selection type FACE=4 aRevolFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) aRevolFt.selection("axis_object").setValue(aLineSketchResult, aLineEdge) aRevolFt.string("CreationMethod").setValue("ByPlanesAndOffsets") aRevolFt.real("from_angle").setValue(0) #TODO: remove diff --git a/src/FeaturesPlugin/Test/TestRevolutionCut.py b/src/FeaturesPlugin/Test/TestRevolutionCut.py index 79d6ca06c..03a3ade72 100644 --- a/src/FeaturesPlugin/Test/TestRevolutionCut.py +++ b/src/FeaturesPlugin/Test/TestRevolutionCut.py @@ -62,23 +62,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestRevolutionFuse.py b/src/FeaturesPlugin/Test/TestRevolutionFuse.py index 963037690..ee8e77c2f 100644 --- a/src/FeaturesPlugin/Test/TestRevolutionFuse.py +++ b/src/FeaturesPlugin/Test/TestRevolutionFuse.py @@ -90,23 +90,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestRotation.py b/src/FeaturesPlugin/Test/TestRotation.py index 5e192e24a..62229e654 100644 --- a/src/FeaturesPlugin/Test/TestRotation.py +++ b/src/FeaturesPlugin/Test/TestRotation.py @@ -75,23 +75,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) diff --git a/src/FeaturesPlugin/Test/TestSerialBoolean.py b/src/FeaturesPlugin/Test/TestSerialBoolean.py index d81439775..2012454bc 100644 --- a/src/FeaturesPlugin/Test/TestSerialBoolean.py +++ b/src/FeaturesPlugin/Test/TestSerialBoolean.py @@ -18,9 +18,15 @@ ## email : webmaster.salome@opencascade.com ## -# -*- coding: utf-8 -*- +""" + TestExtrusion.py + Unit test of FeaturesPlugin_Boolean class: many Boolean operations performance -from salome.shaper import model + class FeaturesPlugin_Extrusion : public ModelAPI_Feature + static const std::string MY_EXTRUSION_ID("Extrusion"); + static const std::string MY_FACE_ID("base"); + static const std::string MY_SIZE_ID("size"); + static const std::string MY_REVERSE_ID("reverse"); data()->addAttribute(FeaturesPlugin_Extrusion::FACE_ID(), ModelAPI_AttributeSelection::typeId()); data()->addAttribute(FeaturesPlugin_Extrusion::SIZE_ID(), ModelAPI_AttributeDouble::typeId()); @@ -90,30 +96,17 @@ aSession.startOperation() anExtrusions = [] for i in range(0, N * N): - aSketchResult = aSketchFeatures[i].firstResult() - aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() - origin = geomDataAPI_Point(aSketchFeatures[i].attribute("Origin")).pnt() - dirX = geomDataAPI_Dir(aSketchFeatures[i].attribute("DirX")).dir() - norm = geomDataAPI_Dir(aSketchFeatures[i].attribute("Norm")).dir() - aSketchFaces = ShapeList() - GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) - + aSketchResult = modelAPI_ResultConstruction(aSketchFeatures[i].firstResult()) anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") anExtrusionFt.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("from_size").setValue(0) anExtrusionFt.real("to_size").setValue(10) anExtrusionFt.real("to_offset").setValue(0) #TODO: remove anExtrusionFt.real("from_offset").setValue(0) #TODO: remove - # v1.0.2 from master - # anExtrusionFt.selection("extrusion_face").setValue( - # aSketchResult, aSketchFaces[0]) - # anExtrusionFt.real("extrusion_size").setValue(10) - # anExtrusionFt.boolean("extrusion_reverse").setValue(False) anExtrusions.append(anExtrusionFt) aSession.finishOperation() @@ -156,28 +149,16 @@ aSession.startOperation() #========================================================================= # Build a big box extrusion #========================================================================= -aSketchResult = aQuadrangleSketchFeature.firstResult() -aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape() -origin = geomDataAPI_Point(aQuadrangleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aQuadrangleSketchFeature.attribute("Norm")).dir() -aSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aSketchEdges, aSketchFaces) +aSketchResult = modelAPI_ResultConstruction(aQuadrangleSketchFeature.firstResult()) # Create extrusion on them aBox = aPart.addFeature("Extrusion") aBox.selectionList("base").append( - aSketchResult, aSketchFaces[0]) + aSketchResult, aSketchResult.face(0)) aBox.string("CreationMethod").setValue("BySizes") aBox.real("from_size").setValue(0) aBox.real("to_size").setValue(10) aBox.real("to_offset").setValue(0) #TODO: remove aBox.real("from_offset").setValue(0) #TODO: remove -# v 1.0.2 from master -# aBox.selection("extrusion_face").setValue( -# aSketchResult, aSketchFaces[0]) -# aBox.real("extrusion_size").setValue(10) -# aBox.boolean("extrusion_reverse").setValue(False) aSession.finishOperation() diff --git a/src/FeaturesPlugin/Test/TestTranslation.py b/src/FeaturesPlugin/Test/TestTranslation.py index 0ebe4e300..3309d0ddf 100644 --- a/src/FeaturesPlugin/Test/TestTranslation.py +++ b/src/FeaturesPlugin/Test/TestTranslation.py @@ -75,23 +75,15 @@ aSession.finishOperation() # Make extrusion on circle #========================================================================= # Build shape from sketcher results -aCircleSketchResult = aCircleSketchFeature.firstResult() -aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape() -origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt() -dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir() -norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir() -aCircleSketchFaces = ShapeList() -GeomAlgoAPI_SketchBuilder.createFaces( - origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces) -assert (len(aCircleSketchFaces) > 0) -assert (aCircleSketchFaces[0] is not None) +aCircleSketchResult = modelAPI_ResultConstruction(aCircleSketchFeature.firstResult()) +assert (aCircleSketchResult.facesNum() > 0) # Create extrusion aSession.startOperation() anExtrusionFt = aPart.addFeature("Extrusion") assert (anExtrusionFt.getKind() == "Extrusion") # selection type FACE=4 anExtrusionFt.selectionList("base").append( - aCircleSketchResult, aCircleSketchFaces[0]) + aCircleSketchResult, aCircleSketchResult.face(0)) anExtrusionFt.string("CreationMethod").setValue("BySizes") anExtrusionFt.real("to_size").setValue(50) anExtrusionFt.real("from_size").setValue(0) -- 2.30.2