+# Copyright (C) 2014-2023 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
#=========================================================================
# Initialization of the test
#=========================================================================
norm.setValue(0, 0, 1)
aSketchCircle = aCircleSketchFeature.addFeature("SketchCircle")
-aCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
-aCircleRadius = aSketchCircle.real("CircleRadius")
+aCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("circle_center"))
+aCircleRadius = aSketchCircle.real("circle_radius")
aCircleCentr.setValue(0, 0)
aCircleRadius.setValue(50)
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(
# Create a pacman as boolean cut of the prism from the cylinder
#=========================================================================
aSession.startOperation()
-aBooleanFt = aPart.addFeature("Boolean")
-aBooleanFt.selectionList("main_objects").append(modelAPI_ResultCompSolid(extrudedObjects[0]).subResult(1), None)
+aBooleanFt = aPart.addFeature("Cut")
+aBooleanFt.selectionList("main_objects").append(extrudedObjects[0].subResult(1), None)
aBooleanFt.selectionList("tool_objects").append(extrudedObjects[1], None)
-aBooleanType = 0
-aBooleanFt.integer("bool_type").setValue(aBooleanType)
aBooleanFt.execute()
aSession.finishOperation()
# Fuse
#=========================================================================
aSession.startOperation()
-aBooleanFt = aPart.addFeature("Boolean")
-aBooleanFt.selectionList("main_objects").append(modelAPI_ResultCompSolid(extrudedObjects[0]).subResult(1), None)
+aBooleanFt = aPart.addFeature("Fuse")
+aBooleanFt.string("creation_method").setValue("advanced")
+aBooleanFt.selectionList("main_objects").append(extrudedObjects[0].subResult(1), None)
aBooleanFt.selectionList("tool_objects").append(extrudedObjects[1], None)
-aBooleanType = 1
-aBooleanFt.integer("bool_type").setValue(aBooleanType)
+aBooleanFt.boolean("remove_intersection_edges").setValue(False)
aBooleanFt.execute()
aSession.finishOperation()