# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
#
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
# 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.
+# 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
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
# GEOM GEOM_SWIG : binding of C++ omplementaion with Python
# File : GEOM_usinggeom.py
Polyline = geompy.MakePolyline([p0, pz, py, p200]) #(List of GEOM_Object)->GEOM_Object
Bezier = geompy.MakeBezier([p0, pz, p200, px]) #(List of GEOM_Object)->GEOM_Object
Interpol = geompy.MakeInterpol([px, py, p200, pxyz], True) #(List of GEOM_Object,Boolean)->GEOM_Object
+ InterpT1 = geompy.MakeInterpolWithTangents([px, py, pxyz], vx, vz) #(List of GO, GO, GO)->GEOM_Object
+ InterpT2 = geompy.MakeInterpolWithTangents([px, py, pxyz], vxy, vxyz) #(List of GO, GO, GO)->GEOM_Object
Sketcher = geompy.MakeSketcher("Sketcher:F -100 -100:TT 250 -100:R 0:C 100 150:R 0:L 300:WW",
[100,0,0, 1,1,1, -1,1,0]) #(String, List of Doubles)->GEOM_Object
sk = geompy.Sketcher3D()
sk.addPointsAbsolute(0,0,0, 70,0,0)
sk.addPointsRelative(0, 0, 130)
- sk.addPointAnglesLength("OXY", 50, 0, 100)
- sk.addPointAnglesLength("OXZ", 30, 80, 130)
+ sk.addPointRadiusAnglesRelative(100, 50, 0,"OXY")
+ sk.addPointRadiusAnglesRelative(130, 30, 80, "OXZ")
+ sk.addPointRadiusAnglesAbsolute(500, 60, 30,"OXY")
+ sk.addPointRadiusAngleHRelative(100, 50, 0,"OXY")
+ sk.addPointRadiusAngleHRelative(130, 30, 40, "OXZ")
+ sk.addPointRadiusAngleHAbsolute(800, 60, 30,"OXY")
sk.close()
Sketcher3d_1 = sk.wire()
tan_on_face = geompy.MakeTangentPlaneOnFace(tan_extrusion, 0.7, 0.5, 150)
#Create base geometry 3D
- Box = geompy.MakeBoxTwoPnt(p0, p200) #(2 GEOM_Object)->GEOM_Object
- Box1 = geompy.MakeBoxDXDYDZ(10, 20, 30) #(3 Doubles)->GEOM_Object
- Box2 = geompy.MakeBox(10,20,30, 15,25,35) #(6 Doubles)->GEOM_Object
- Cylinder = geompy.MakeCylinder(p0, vz, radius1, height) #(2 GEOM_Object, 2 Doubles)->GEOM_Object
- Cyl1 = geompy.MakeCylinderRH(radius2, height) #(2 Doubles)->GEOM_Object
- Sphere = geompy.MakeSpherePntR(p0, radius1) #(GEOM_Object, Double)->GEOM_Object
- Sphere1 = geompy.MakeSphereR(radius) #(Double)->GEOM_Object
- Sphere2 = geompy.MakeSphere(50, 70, 30, radius) #(4 Doubles)->GEOM_Object
- Cone = geompy.MakeCone(p0, vz, radius2, radius, height) #(2 GEOM_Object, 3 Doubles)->GEOM_Object
- Cone1 = geompy.MakeConeR1R2H(radius1, radius, height) #(3 Doubles)->GEOM_Object
- Torus = geompy.MakeTorus(p0, vz, radius2, radius) #(2 GEOM_Object, 2 Doubles)->GEOM_Object
- Torus1 = geompy.MakeTorusRR(radius2, radius1) #(2 Doubles)->GEOM_Object
+ Box = geompy.MakeBoxTwoPnt(p0, p200) #(2 GEOM_Object)->GEOM_Object
+ Box1 = geompy.MakeBoxDXDYDZ(10, 20, 30) #(3 Doubles)->GEOM_Object
+ Box2 = geompy.MakeBox(10,20,30, 15,25,35) #(6 Doubles)->GEOM_Object
+ Cylinder = geompy.MakeCylinder(p0, vz, radius1, height) #(2 GEOM_Object, 2 Doubles)->GEOM_Object
+ Cyl1 = geompy.MakeCylinderRH(radius2, height) #(2 Doubles)->GEOM_Object
+ Cylinder1= geompy.MakeCylinderA(p0, vz, radius1, height, angle1) #(2 GEOM_Object, 3 Doubles)->GEOM_Object
+ Cyl2 = geompy.MakeCylinderRHA(radius2, height, angle2) #(3 Doubles)->GEOM_Object
+ Sphere = geompy.MakeSpherePntR(p0, radius1) #(GEOM_Object, Double)->GEOM_Object
+ Sphere1 = geompy.MakeSphereR(radius) #(Double)->GEOM_Object
+ Sphere2 = geompy.MakeSphere(50, 70, 30, radius) #(4 Doubles)->GEOM_Object
+ Cone = geompy.MakeCone(p0, vz, radius2, radius, height) #(2 GEOM_Object, 3 Doubles)->GEOM_Object
+ Cone1 = geompy.MakeConeR1R2H(radius1, radius, height) #(3 Doubles)->GEOM_Object
+ Torus = geompy.MakeTorus(p0, vz, radius2, radius) #(2 GEOM_Object, 2 Doubles)->GEOM_Object
+ Torus1 = geompy.MakeTorusRR(radius2, radius1) #(2 Doubles)->GEOM_Object
#Boolean (Common, Cut, Fuse, Section)
Common = geompy.MakeBoolean(Box, Sphere, 1) #(2 GEOM_Object, Short)->GEOM_Object
Face2 = geompy.MakeFace(Sketcher, WantPlanarFace)
Face3 = geompy.MakeFaceHW (100., 200., 1) #(2 Doubles, 1 Int)->GEOM_Object
Face4 = geompy.MakeFaceObjHW (vz, 200., 100.) #(1 GEOM_Object, 2 Doubles)->GEOM_Object
+ Face5 = geompy.MakeFaceFromSurface(Face, Sketcher) #(2 GEOM_Objects)->GEOM_Object
Disk = geompy.MakeDiskPntVecR (p0, vz, radius) #(2 GEOM_Object, 1 Double)->GEOM_Object
Disk2 = geompy.MakeDiskThreePnt(p0, p200, pz) #(3 GEOM_Object)->GEOM_Object
Disk3 = geompy.MakeDiskR(100., 1) #(1 Doubles, 1 Int)->GEOM_Object
prism1_faces[3], prism1_faces[4],
prism1_faces[5], prism1_faces[2]])
Solid = geompy.MakeSolid([Shell1]) #(List of GEOM_Object)->GEOM_Object
+
+ Box1_translation = geompy.MakeTranslation(Box1, 10, 0, 0)
+ Box1_shell = geompy.SubShapeAllSorted(Box1, geompy.ShapeType["SHELL"])[0]
+ Box1_translation_shell = geompy.SubShapeAllSorted(Box1_translation, geompy.ShapeType["SHELL"])[0]
+
+ Solid_from_shells = geompy.MakeSolidFromConnectedFaces([Box1_shell, Box1_translation_shell], 1) #(List of GEOM_Object, Boolean)->GEOM_Object
+
+ # Create Isoline
+ Isoline = geompy.MakeIsoline(Face1, True, 0.5) #(1 GEOM_Object, Boolean, Double)->GEOM_Object
ShapeListCompound = []
i = 0
Line3 = geompy.MakeLineTwoFaces(prism1_faces[0], prism1_faces[1]) #(2 GEOM_Object)->GEOM_Object
#Create advanced objects
- Copy = geompy.MakeCopy(Box) #(GEOM_Object)->GEOM_Object
+ Copy = geompy.MakeCopy(Box) #(GEOM_Object)->GEOM_Object
Prism = geompy.MakePrismVecH(Face, vz, 100.0) #(2 GEOM_Object, Double)->GEOM_Object
Prism2Ways = geompy.MakePrismVecH2Ways(Face, vz, 10.0) #(2 GEOM_Object, Double)->GEOM_Object
PrismTwoPnt = geompy.MakePrism(Face2, p0, pxyz) #(3 GEOM_Object)->GEOM_Object
Revolution = geompy.MakeRevolution(Face, vz, angle2) #
Revolution2Ways = geompy.MakeRevolution(Face, vz, angle1) #
Filling = geompy.MakeFilling(Compound, mindeg, maxdeg,
- tol2d, tol3d, nbiter) #(GEOM_Object, 4 Doubles, Short)->GEOM_Object
- Pipe = geompy.MakePipe(Wire, Edge) #(2 GEOM_Object)->GEOM_Object
- Sewing = geompy.MakeSewing([Face, S], precision) #(List Of GEOM_Object, Double)->GEOM_Object
+ tol2d, tol3d, nbiter) #(GEOM_Object, 4 Doubles, Short)->GEOM_Object
+ Pipe = geompy.MakePipe(Wire, Edge) #(2 GEOM_Object)->GEOM_Object
+ Sewing = geompy.MakeSewing([Face, S], precision) #(List Of GEOM_Object, Double)->GEOM_Object
#Transform objects
Translation = geompy.MakeTranslationTwoPoints(Box, px, pz) #(3 GEOM_Object)->GEOM_Object
Position2 = geompy.PositionAlongPath(Box, Arc, 0.5, 1, 0) #(2 GEOM_Object, 1 Double, 2 Bool)->GEOM_Object
Offset = geompy.MakeOffset(Box, 10.) #(GEOM_Object, Double)->GEOM_Object
Orientation = geompy.ChangeOrientation(Box)
+ ProjOnWire = geompy.MakeProjectionOnWire(p0, Wire)
+ ExtEdge = geompy.ExtendEdge(Edge1, -0.3, 1.3)
+ ExtFace = geompy.ExtendFace(Face5, -0.3, 1.3, -0.1, 1.1)
+ Surface = geompy.MakeSurfaceFromFace(Face5)
#IDList for Fillet/Chamfer
prism_edges = geompy.ExtractShapes(Prism, geompy.ShapeType["EDGE"], True)
#Create Patterns
MultiTrans1D = geompy.MakeMultiTranslation1D(Fillet, vz, step1, nbtimes1)
MultiTrans2D = geompy.MakeMultiTranslation2D(Fillet, vz, step1, nbtimes1, vy, step2, nbtimes2)
- #!!!!Angle In Degree!!!!
- MultiRot1D = geompy.MultiRotate1D(Chamfer, vx, nbtimes1)
- MultiRot2D = geompy.MultiRotate2D(Chamfer, vx, angle, nbtimes1, step1, nbtimes2)
+ MultiRot1Dt = geompy.MultiRotate1DNbTimes(Chamfer, vx, nbtimes1)
+ MultiRot1Ds = geompy.MultiRotate1DByStep(Chamfer, vx, math.pi/4., nbtimes1)
+ MultiRot2Dt = geompy.MultiRotate2DNbTimes(Chamfer, vx, nbtimes1, step1, nbtimes2)
+ MultiRot2Ds = geompy.MultiRotate2DByStep(Chamfer, vx, angle1, nbtimes1, step1, nbtimes2)
#Create Informations objects
CDG = geompy.MakeCDG(Prism) #(GEOM_Object)->GEOM_Object
id_Polyline = geompy.addToStudy(Polyline, "Polyline")
id_Bezier = geompy.addToStudy(Bezier, "Bezier")
id_Interpol = geompy.addToStudy(Interpol, "Interpol")
+ id_InterpT1 = geompy.addToStudy(InterpT1, "InterpT1")
+ id_InterpT2 = geompy.addToStudy(InterpT2, "InterpT2")
id_Sketcher = geompy.addToStudy(Sketcher, "Sketcher")
id_Sketcher3d_1 = geompy.addToStudy(Sketcher3d_1, "Sketcher 3D by interface")
id_Box2 = geompy.addToStudy(Box2, "Box (10,20,30)-(15,25,35)")
id_Cylinder = geompy.addToStudy(Cylinder, "Cylinder")
id_Cyl1 = geompy.addToStudy(Cyl1, "Cylinder RH")
+ id_Cylinder1= geompy.addToStudy(Cylinder1,"CylinderA")
+ id_Cyl2 = geompy.addToStudy(Cyl2, "Cylinder RHA")
id_Sphere = geompy.addToStudy(Sphere, "Sphere Pnt R")
id_Sphere1 = geompy.addToStudy(Sphere1, "Sphere R")
id_Sphere2 = geompy.addToStudy(Sphere2, "Sphere")
id_Face2 = geompy.addToStudy(Face2, "Face from Sketcher")
id_Face3 = geompy.addToStudy(Face3, "Face Height Width")
id_Face4 = geompy.addToStudy(Face4, "Face Plane_HW")
+ id_Face5 = geompy.addToStudy(Face5, "Face from surface and wire")
id_Disk = geompy.addToStudy(Disk, "Disk PntVecR")
id_Disk2 = geompy.addToStudy(Disk2, "Disk Three Points")
id_Disk3 = geompy.addToStudy(Disk3, "Disk OXY Radius")
id_Shell = geompy.addToStudy(Shell, "Shell")
+ id_Isoline = geompy.addToStudy(Isoline, "Isoline")
+
id_p_on_face = geompy.addToStudy(p_on_face, "Vertex on Face (0.1, 0.8)")
id_p_on_face2 = geompy.addToStudy(p_on_face2, "Vertex on Face at(0., 0., 0.)")
id_p_on_face3 = geompy.addToStudy(p_on_face3, "Vertex inside Face")
id_Prism1 = geompy.addToStudy(Prism1, "Prism by Two Pnt")
id_Shell1 = geompy.addToStudy(Shell1, "Shell from Prism1 faces")
id_Solid = geompy.addToStudy(Solid, "Solid")
+ id_Solid1 = geompy.addToStudy(Solid_from_shells, "Solid1")
+
id_Compound = geompy.addToStudy(Compound, "Compound")
id_Plane2 = geompy.addToStudy(Plane2, "Plane on Face")
id_Pipe = geompy.addToStudy(Pipe, "Pipe")
id_Sewing = geompy.addToStudy(Sewing, "Sewing")
- id_Translation = geompy.addToStudy(Translation, "Translation")
- id_TranslVect = geompy.addToStudy(TranslVect , "Translation along vector")
- id_TranslVectD = geompy.addToStudy(TranslVectD, "Translation along vector with defined distance")
- id_Rotation = geompy.addToStudy(Rotation, "Rotation")
- id_RotatPnt = geompy.addToStudy(RotatPnt, "Rotation by three points")
- id_Scale1 = geompy.addToStudy(Scale1, "Scale1")
- id_Scale2 = geompy.addToStudy(Scale2, "Scale2")
- id_Scale3 = geompy.addToStudy(Scale3, "Scale3")
- id_Scale4 = geompy.addToStudy(Scale4, "Scale4")
- id_Mirror = geompy.addToStudy(Mirror, "Mirror by Plane")
- id_MirrorAxis = geompy.addToStudy(MirrorAxis, "Mirror by Axis")
- id_MirrorPnt = geompy.addToStudy(MirrorPnt, "Mirror by Point")
- id_Position = geompy.addToStudy(Position, "Positioned box")
- id_Position2 = geompy.addToStudy(Position2, "Positioned box along path")
- id_Offset = geompy.addToStudy(Offset, "Offset")
- id_Orientation = geompy.addToStudy(Orientation, "Orientation")
+ import salome_version
+ if int(salome_version.getXVersion(), 16) >= int('0x060600', 16):
+ [Face5, Face6] = geompy.SubShapes(Box, [31, 33])
+ [b1_e1, b1_e2, b1_e3, b1_e4] = geompy.SubShapes(Box, [12, 22, 25, 29])
+ [b2_e1, b2_e2, b2_e3, b2_e4] = geompy.SubShapes(Box, [ 8, 18, 26, 30])
+ Path1 = geompy.RestorePath(Box, Face5, Face6)
+ Path2 = geompy.RestorePathEdges(Box, [b1_e1, b1_e2, b1_e3, b1_e4], [b2_e1, b2_e2, b2_e3, b2_e4])
+
+ id_Base1 = geompy.addToStudyInFather(Box, Face5, "Base1")
+ id_Base2 = geompy.addToStudyInFather(Box, Face6, "Base2")
+ id_Base1e1 = geompy.addToStudyInFather(Box, b1_e1, "Base1 Edge1")
+ id_Base1e2 = geompy.addToStudyInFather(Box, b1_e2, "Base1 Edge2")
+ id_Base1e3 = geompy.addToStudyInFather(Box, b1_e3, "Base1 Edge3")
+ id_Base1e4 = geompy.addToStudyInFather(Box, b1_e4, "Base1 Edge4")
+ id_Base2e1 = geompy.addToStudyInFather(Box, b2_e1, "Base2 Edge1")
+ id_Base2e2 = geompy.addToStudyInFather(Box, b2_e2, "Base2 Edge2")
+ id_Base2e3 = geompy.addToStudyInFather(Box, b2_e3, "Base2 Edge3")
+ id_Base2e4 = geompy.addToStudyInFather(Box, b2_e4, "Base2 Edge4")
+ id_Path1 = geompy.addToStudy(Path1, "Path1")
+ id_Path2 = geompy.addToStudy(Path2, "Path2")
+ pass
+
+ id_Translation = geompy.addToStudy(Translation, "Translation")
+ id_TranslVect = geompy.addToStudy(TranslVect , "Translation along vector")
+ id_TranslVectD = geompy.addToStudy(TranslVectD, "Translation along vector with defined distance")
+ id_Rotation = geompy.addToStudy(Rotation, "Rotation")
+ id_RotatPnt = geompy.addToStudy(RotatPnt, "Rotation by three points")
+ id_Scale1 = geompy.addToStudy(Scale1, "Scale1")
+ id_Scale2 = geompy.addToStudy(Scale2, "Scale2")
+ id_Scale3 = geompy.addToStudy(Scale3, "Scale3")
+ id_Scale4 = geompy.addToStudy(Scale4, "Scale4")
+ id_Mirror = geompy.addToStudy(Mirror, "Mirror by Plane")
+ id_MirrorAxis = geompy.addToStudy(MirrorAxis, "Mirror by Axis")
+ id_MirrorPnt = geompy.addToStudy(MirrorPnt, "Mirror by Point")
+ id_Position = geompy.addToStudy(Position, "Positioned box")
+ id_Position2 = geompy.addToStudy(Position2, "Positioned box along path")
+ id_Offset = geompy.addToStudy(Offset, "Offset")
+ id_Orientation = geompy.addToStudy(Orientation, "Orientation")
+ id_ProjOnWire = geompy.addToStudy(ProjOnWire[1], "ProjOnWire")
+ id_ExtEdge = geompy.addToStudy(ExtEdge, "ExtendedEdge")
+ id_ExtFace = geompy.addToStudy(ExtFace, "ExtendedFace")
+ id_Surface = geompy.addToStudy(Surface, "Surface From Face")
id_Fillet = geompy.addToStudy(Fillet, "Fillet")
id_Fillet2 = geompy.addToStudy(Fillet2, "Fillet2")
id_MultiTrans1D = geompy.addToStudy(MultiTrans1D, "MultiTrans1D")
id_MultiTrans2D = geompy.addToStudy(MultiTrans2D, "MultiTrans2D")
- id_MultiRot1D = geompy.addToStudy(MultiRot1D, "MultiRot1D")
- id_MultiRot2D = geompy.addToStudy(MultiRot2D, "MultiRot2D")
+ id_MultiRot1Dt = geompy.addToStudy(MultiRot1Dt, "MultiRot1D NbTimes")
+ id_MultiRot1Ds = geompy.addToStudy(MultiRot1Ds, "MultiRot1D ByStep")
+ id_MultiRot2Dt = geompy.addToStudy(MultiRot2Dt, "MultiRot2D NbTimes")
+ id_MultiRot2Ds = geompy.addToStudy(MultiRot2Ds, "MultiRot2D ByStep")
id_CDG = geompy.addToStudy(CDG, "CDG")
id_Archimede = geompy.addToStudy(Archimede, "Archimede")
id_Partition = geompy.addToStudy(Partition, "Partition")
id_Partition1 = geompy.addToStudy(Partition1, "Half Partition")
-
+
#Decompose objects
# SubShape