Back to index

salome-geom  6.5.0
Functions
GEOM_TestAll Namespace Reference

Functions

def TestAll

Function Documentation

def GEOM_TestAll.TestAll (   geompy,
  math 
)

Definition at line 34 of file GEOM_TestAll.py.

00034 
00035 def TestAll (geompy, math):
00036   import GEOM
00037   
00038   #Create base Variables
00039   nbtimes1  = 5      #Short
00040   nbtimes2  = 5
00041   mindeg = 2
00042   maxdeg = 5
00043   nbiter = 5
00044   WantPlanarFace = 1 #True
00045 
00046   radius  = 10.  #Double
00047   radius1 = 100.
00048   radius2 = 200.
00049   height  = 200.
00050   d1      = 10.
00051   d2      = 10.
00052   step1   = 250.
00053   step2   = 250.
00054   angle   = 45.
00055   angle1  = angle * math.pi / 180
00056   angle2  = 2 * angle1
00057   factor  = 2.
00058   tol3d   = 0.0001
00059   tol2d   = 0.0001
00060   weight  = 1000000.
00061   waterdensity = 1.
00062   meshingdeflection = 0.01
00063   trimsize  = 1000.
00064   precision = 0.00001
00065 
00066   #Create base points
00067   p0   = geompy.MakeVertex(0.  , 0.  , 0.  ) #(3 Doubles)->GEOM_Object
00068   px   = geompy.MakeVertex(100., 0.  , 0.  )
00069   py   = geompy.MakeVertex(0.  , 100., 0.  )
00070   pz   = geompy.MakeVertex(0.  , 0.  , 100.)
00071   pxyz = geompy.MakeVertex(100., 100., 100.)
00072 
00073   p200 = geompy.MakeVertexWithRef(pxyz, 100., 100., 100.) #(GEOM_Object, 3 Doubles)->GEOM_Object
00074 
00075   #Create base directions
00076   vx   = geompy.MakeVector(p0, px) #(GEOM_Object, GEOM_Object)->GEOM_Object
00077   vy   = geompy.MakeVector(p0, py)
00078   vz   = geompy.MakeVector(p0, pz)
00079   vxy  = geompy.MakeVector(px, py)
00080 
00081   vxyz = geompy.MakeVectorDXDYDZ(100., 100., 100.) #(3 Doubles)->GEOM_Object
00082 
00083   #Create local coordinate systems
00084   cs1 = geompy.MakeMarker(50,50,50, 1,0,0, 0,1,0) #(9 Doubles)->GEOM_Object
00085   cs2 = geompy.MakeMarker(70,80,10, 1,0,1, 1,1,0) #(9 Doubles)->GEOM_Object
00086   cs3 = geompy.MakeMarkerPntTwoVec(pz, vxy, vz)   #(3 GEOM_Object)->GEOM_Object
00087 
00088   #Create base geometry 2D
00089   Line   = geompy.MakeLineTwoPnt(p0, pxyz)                  #(2 GEOM_Object)->GEOM_Object
00090   Line1  = geompy.MakeLine(pz, vxy)                         #(2 GEOM_Object)->GEOM_Object
00091   Line2  = geompy.MakeLineTwoPnt(pxyz, pz)                  #(2 GEOM_Object)->GEOM_Object
00092   Plane  = geompy.MakePlane(pz, vxyz, trimsize)             #(2 GEOM_Object, Double)->GEOM_Object
00093   Plane1 = geompy.MakePlaneThreePnt(px, pz, p200, trimsize) #(4 Doubles)->GEOM_Object
00094   Plane2 = geompy.MakePlane2Vec(vx, vz, trimsize)           #(2 GEOM_Object, Double)->GEOM_Object
00095   Plane3 = geompy.MakePlaneLCS(cs1, trimsize, 3)     #(1 GEOM_Object, 2 Double)->GEOM_Object
00096 
00097   Arc      = geompy.MakeArc(py, pz, px)                   #(3 GEOM_Object)->GEOM_Object
00098   Arc2     = geompy.MakeArcCenter(py, pz, px,0)           #(3 GEOM_Object,Boolean)->GEOM_Object
00099   Arc3     = geompy.MakeArcOfEllipse(p0, px, pz)          #(3 GEOM_Object,Boolean)->GEOM_Object
00100   Circle   = geompy.MakeCircle(p0, vz, radius1)           #(2 GEOM_Object, Double)->GEOM_Object
00101   Circle1  = geompy.MakeCircleThreePnt(p0, pxyz, px)      #(3 GEOM_Object)->GEOM_Object
00102   Circle2  = geompy.MakeCircleCenter2Pnt(p0, pxyz, py)    #(3 GEOM_Object)->GEOM_Object
00103   Ellipse  = geompy.MakeEllipse(p0, vy, radius2, radius1) #(2 GEOM_Object, 2 Doubles)->GEOM_Object
00104   Polyline = geompy.MakePolyline([p0, pz, py, p200])      #(List of GEOM_Object)->GEOM_Object
00105   Bezier   = geompy.MakeBezier([p0, pz, p200, px])        #(List of GEOM_Object)->GEOM_Object
00106   Interpol = geompy.MakeInterpol([px, py, p200, pxyz], True) #(List of GEOM_Object,Boolean)->GEOM_Object
00107   Sketcher = geompy.MakeSketcher("Sketcher:F -100 -100:TT 250 -100:R 0:C 100 150:R 0:L 300:WW",
00108                                  [100,0,0, 1,1,1, -1,1,0]) #(String, List of Doubles)->GEOM_Object
00109   Sketcher3d = geompy.Make3DSketcher([0,0,0, 50,50,50, 0,50,50, 10,0,0])
00110   
00111   #Create local coordinate system from shape
00112   cs4 = geompy.MakeMarkerFromShape(Plane)
00113 
00114   #Test point on curve creation
00115   p_on_arc = geompy.MakeVertexOnCurve(Arc, 0.25) #(GEOM_Object, Double)->GEOM_Object
00116   p_on_arc2 = geompy.MakeVertexOnCurveByCoord(Arc, 100, -10, 10 ) #(GEOM_Object, Double)->GEOM_Object
00117   p_on_arc3 = geompy.MakeVertexOnCurveByLength(Arc, 50, py) #(GEOM_Object, Double, GEOM_Object)->GEOM_Object
00118 
00119   #Test point on lines intersection
00120   p_on_l1l2 = geompy.MakeVertexOnLinesIntersection(Line1, Line2) #(2 GEOM_Object)->GEOM_Object
00121 
00122   #Test tangent on curve creation
00123   tan_on_arc = geompy.MakeTangentOnCurve(Arc, 0.7) #(GEOM_Object, Double)->GEOM_Object
00124   
00125   #Test tangent on face creation
00126   tan_vertex_1 = geompy.MakeVertex(0, 0, 0)
00127   tan_vertex_2 = geompy.MakeVertex(0, 90, 30)
00128   tan_vertex_3 = geompy.MakeVertex(100, 90, 0)
00129   tan_vertex_4 = geompy.MakeVertex(-100, 90, 0)
00130   tan_curve = geompy.MakeInterpol([tan_vertex_4, tan_vertex_2, tan_vertex_3, tan_vertex_1], False)
00131   tan_extrusion = geompy.MakePrismDXDYDZ(tan_curve, 0, 30, -60)
00132   tan_on_face = geompy.MakeTangentPlaneOnFace(tan_extrusion, 0.7, 0.5, 150)
00133 
00134   #Create base geometry 3D
00135   Box      = geompy.MakeBoxTwoPnt(p0, p200)                   #(2 GEOM_Object)->GEOM_Object
00136   Box1     = geompy.MakeBoxDXDYDZ(10, 20, 30)                 #(3 Doubles)->GEOM_Object
00137   Box2     = geompy.MakeBox(10,20,30, 15,25,35)               #(6 Doubles)->GEOM_Object
00138   Cylinder = geompy.MakeCylinder(p0, vz, radius1, height)     #(2 GEOM_Object, 2 Doubles)->GEOM_Object
00139   Cyl1     = geompy.MakeCylinderRH(radius2, height)           #(2 Doubles)->GEOM_Object
00140   Sphere   = geompy.MakeSpherePntR(p0, radius1)               #(GEOM_Object, Double)->GEOM_Object
00141   Sphere1  = geompy.MakeSphereR(radius)                       #(Double)->GEOM_Object
00142   Sphere2  = geompy.MakeSphere(50, 70, 30, radius)            #(4 Doubles)->GEOM_Object
00143   Cone     = geompy.MakeCone(p0, vz, radius2, radius, height) #(2 GEOM_Object, 3 Doubles)->GEOM_Object
00144   Cone1    = geompy.MakeConeR1R2H(radius1, radius, height)    #(3 Doubles)->GEOM_Object
00145   Torus    = geompy.MakeTorus(p0, vz, radius2, radius)        #(2 GEOM_Object, 2 Doubles)->GEOM_Object
00146   Torus1   = geompy.MakeTorusRR(radius2, radius1)             #(2 Doubles)->GEOM_Object
00147 
00148   #Boolean (Common, Cut, Fuse, Section)
00149   Common  = geompy.MakeBoolean(Box, Sphere, 1) #(2 GEOM_Object, Short)->GEOM_Object
00150   Cut     = geompy.MakeBoolean(Box, Sphere, 2)
00151   Fuse    = geompy.MakeBoolean(Box, Sphere, 3)
00152   Section = geompy.MakeBoolean(Box, Sphere, 4)
00153 
00154   #Create base objects
00155   Edge     = geompy.MakeEdge(p0, pxyz)               #(2 GEOM_Object)->GEOM_Object
00156   Edge1    = geompy.MakeEdgeOnCurveByLength(Arc, 50, px) #(GEOM_Object, Double, GEOM_Object)->GEOM_Object
00157   Wire     = geompy.MakeWire([vxy, Arc])             #(List Of GEOM_Object)->GEOM_Object
00158   Face     = geompy.MakeFace(Wire, WantPlanarFace)   #(GEOM_Object, Boolean)->GEOM_Object
00159   Face1    = geompy.MakeFaceWires([Wire, Sketcher],
00160                                   WantPlanarFace)    #(List of GEOM_Object, Boolean)->GEOM_Object
00161   Face2    = geompy.MakeFace(Sketcher, WantPlanarFace)
00162   Face3    = geompy.MakeFaceHW (100., 200., 1)       #(2 Doubles, 1 Int)->GEOM_Object
00163   Face4    = geompy.MakeFaceObjHW (vz, 200., 100.)   #(1 GEOM_Object, 2 Doubles)->GEOM_Object
00164   Disk     = geompy.MakeDiskPntVecR (p0, vz, radius) #(2 GEOM_Object, 1 Double)->GEOM_Object
00165   Disk2    = geompy.MakeDiskThreePnt(p0, p200, pz)   #(3 GEOM_Object)->GEOM_Object
00166   Disk3    = geompy.MakeDiskR(100., 1)               #(1 Doubles, 1 Int)->GEOM_Object
00167   Shell    = geompy.MakeShell([Face, Face1])         #(List of GEOM_Object)->GEOM_Object
00168 
00169   Prism1   = geompy.MakePrism(Face2, p0, pxyz)       #(3 GEOM_Object)->GEOM_Object
00170   prism1_faces = geompy.SubShapeAllSortedCentres(Prism1, geompy.ShapeType["FACE"])
00171   Shell1   = geompy.MakeShell([prism1_faces[0], prism1_faces[1],
00172                                prism1_faces[3], prism1_faces[4],
00173                                prism1_faces[5], prism1_faces[2]])
00174   Solid    = geompy.MakeSolid([Shell1])              #(List of GEOM_Object)->GEOM_Object
00175 
00176   ShapeListCompound = []
00177   i = 0
00178   while i <= 3 :
00179         S = geompy.MakeTranslation(Arc, i * 100., i * 100., i * 100.)
00180         ShapeListCompound.append(S)
00181         i = i + 1
00182   Compound = geompy.MakeCompound(ShapeListCompound)  #(List of GEOM_Object)->GEOM_Object
00183 
00184   #Test point on surface creation
00185   p_on_face = geompy.MakeVertexOnSurface(Face, 0.1, 0.8) #(GEOM_Object, Double, Double)->GEOM_Object
00186   p_on_face2 = geompy.MakeVertexOnSurfaceByCoord(Face, 0., 0., 0.) #(GEOM_Object, Double, Double, Double)->GEOM_Object
00187 
00188   # Test plane from existing face creation
00189   Plane2 = geompy.MakePlaneFace(Face, trimsize)      #(GEOM_Object, Double)->GEOM_Object
00190 
00191   #ShapeList for Sewing
00192   S = geompy.MakeRotation(Face, vxy, angle1)
00193 
00194   #Test Line on Faces Intersection
00195   Line3 = geompy.MakeLineTwoFaces(prism1_faces[0], prism1_faces[1]) #(2 GEOM_Object)->GEOM_Object
00196 
00197   #Create advanced objects
00198   Copy       = geompy.MakeCopy(Box)                      #(GEOM_Object)->GEOM_Object
00199   Prism            = geompy.MakePrismVecH(Face, vz, 100.0)     #(2 GEOM_Object, Double)->GEOM_Object
00200   Prism2Ways       = geompy.MakePrismVecH2Ways(Face, vz, 10.0) #(2 GEOM_Object, Double)->GEOM_Object
00201   PrismTwoPnt      = geompy.MakePrism(Face2, p0, pxyz)         #(3 GEOM_Object)->GEOM_Object
00202   PrismTwoPnt2Ways = geompy.MakePrism2Ways(Face2, p0, pxyz)    #(3 GEOM_Object)->GEOM_Object
00203   PrismDXDYDZ      = geompy.MakePrismDXDYDZ(Face2, 10, 20, 100)#(2 GEOM_Object, Double)->GEOM_Object
00204   PrismDXDYDZ2Ways = geompy.MakePrismDXDYDZ2Ways(Face, 30, -20, 200)#(2 GEOM_Object, Double)->GEOM_Object
00205   Revolution       = geompy.MakeRevolution(Face, vz, angle2)   #
00206   Revolution2Ways  = geompy.MakeRevolution(Face, vz, angle1)   #
00207   Filling          = geompy.MakeFilling(Compound, mindeg, maxdeg,
00208                                   tol2d, tol3d, nbiter)  #(GEOM_Object, 4 Doubles, Short)->GEOM_Object
00209   Pipe       = geompy.MakePipe(Wire, Edge)               #(2 GEOM_Object)->GEOM_Object
00210   Sewing     = geompy.MakeSewing([Face, S], precision)   #(List Of GEOM_Object, Double)->GEOM_Object
00211 
00212   #Transform objects
00213   Translation = geompy.MakeTranslationTwoPoints(Box, px, pz)    #(3 GEOM_Object)->GEOM_Object
00214   TranslVect  = geompy.MakeTranslationVector(Box, vxyz)         #(2 GEOM_Object)->GEOM_Object
00215   TranslVectD = geompy.MakeTranslationVectorDistance(Box, vxyz, 50.0)   #(2 GEOM_Object)->GEOM_Object  
00216   Rotation    = geompy.MakeRotation(Box, vz, angle1)            #(2 GEOM_Object, Double)->GEOM_Object
00217   RotatPnt    = geompy.MakeRotationThreePoints(Box, px, py, pz) #(4 GEOM_Object)->GEOM_Object
00218 
00219   #Scale by factor relatively given point
00220   Scale1 = geompy.MakeScaleTransform(Box, pxyz, factor)      #(2 GEOM_Object, Double)->GEOM_Object
00221   #Scale by factor relatively the origin of global CS
00222   Scale2 = geompy.MakeScaleTransform(Box, None, factor)      #
00223   #Scale along axes of global CS by different factors. Scale relatively given point
00224   Scale3 = geompy.MakeScaleAlongAxes(Box, pxyz, 1.5, 0.5, 3) #(2 GEOM_Object, 3 Doubles)->GEOM_Object
00225   #Scale along axes of global CS by different factors. Scale relatively the origin of global CS
00226   Scale4 = geompy.MakeScaleAlongAxes(Box, None, 1.5, 0.5, 3) #
00227 
00228   Mirror      = geompy.MakeMirrorByPlane(Box, Plane) #(2 GEOM_Object)->GEOM_Object
00229   MirrorAxis  = geompy.MakeMirrorByAxis(Box, Line1)  #
00230   MirrorPnt   = geompy.MakeMirrorByPoint(Box, p200)  #
00231   Position    = geompy.MakePosition(Box, cs1, cs2)   #(3 GEOM_Object)->GEOM_Object
00232   Position2   = geompy.PositionAlongPath(Box, Arc, 0.5, 1, 0)  #(2 GEOM_Object, 1 Double, 2 Bool)->GEOM_Object
00233   Offset      = geompy.MakeOffset(Box, 10.)          #(GEOM_Object, Double)->GEOM_Object
00234   Orientation = geompy.ChangeOrientation(Box)
00235 
00236   #IDList for Fillet/Chamfer
00237   prism_edges = geompy.ExtractShapes(Prism, geompy.ShapeType["EDGE"], True)
00238 
00239   for anEdge in prism_edges:
00240     eid = geompy.GetSubShapeID(Prism, anEdge)
00241     sse = geompy.GetSubShape(Prism, [eid])
00242 
00243     sse_id = geompy.GetSubShapeID(Prism, sse)
00244     if sse_id != eid:
00245       print "Error: GetSubShape() or GetSubShapeID() has failed!"
00246 
00247   IDlist_e = []
00248   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[0]))
00249   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[1]))
00250   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[2]))
00251 
00252   prism_faces = geompy.ExtractShapes(Prism, geompy.ShapeType["FACE"], True)
00253 
00254   f_ind_1 = geompy.GetSubShapeID(Prism, prism_faces[0])
00255   f_ind_2 = geompy.GetSubShapeID(Prism, prism_faces[1])
00256 
00257   IDlist_f = [f_ind_1, f_ind_2]
00258   
00259   #Local operations
00260   Fillet2d = geompy.MakeFillet2D(Face3, radius, [4, 7, 9]) #(GEOM_Object, Double, ListOfLong)->GEOM_Object
00261   Fillet   = geompy.MakeFillet (Prism, radius, geompy.ShapeType["EDGE"],
00262                                 IDlist_e) #(GEOM_Object, Double, Short, ListOfLong)->GEOM_Object
00263   Fillet2  = geompy.MakeFilletR1R2 (Prism, 7., 13., geompy.ShapeType["EDGE"],
00264                                     IDlist_e) #(GEOM_Object, Double, Double, Short, ListOfLong)->GEOM_Object
00265   Chamfer  = geompy.MakeChamferEdge(Prism, d1, d2,
00266                                     f_ind_1, f_ind_2) #(GEOM_Object, 2 Doubles, 2 Long)->GEOM_Object
00267   Chamfer2 = geompy.MakeChamferFaces(Prism, d1, d2,
00268                                      IDlist_f) #(GEOM_Object, 2 Doubles, ListOfLong)->GEOM_Object
00269   Chamfer3 = geompy.MakeChamferEdges(Prism, d1, d2,
00270                                      IDlist_e) #(GEOM_Object, 2 Doubles, ListOfLong)->GEOM_Object
00271   Chamfer4 = geompy.MakeChamferFacesAD(Prism, d1, 20. * math.pi / 180.,
00272                                        IDlist_f) #(GEOM_Object, 2 Doubles, ListOfLong)->GEOM_Object
00273   #End of Local operations
00274 
00275   #Create Patterns
00276   MultiTrans1D = geompy.MakeMultiTranslation1D(Fillet, vz, step1, nbtimes1)
00277   MultiTrans2D = geompy.MakeMultiTranslation2D(Fillet, vz, step1, nbtimes1, vy, step2, nbtimes2)
00278   #!!!!Angle In Degree!!!!
00279   MultiRot1D   = geompy.MultiRotate1D(Chamfer, vx, nbtimes1)
00280   MultiRot2D   = geompy.MultiRotate2D(Chamfer, vx, angle, nbtimes1, step1, nbtimes2)
00281 
00282   #Create Informations objects
00283   CDG        = geompy.MakeCDG(Prism)               #(GEOM_Object)->GEOM_Object
00284   Archimede  = geompy.Archimede(Box, weight, waterdensity,
00285                                 meshingdeflection) #(GEOM_Object, 3 Doubles)->GEOM_Object
00286   mindist = geompy.MinDistanceComponents(TranslVect, Mirror) #(2 GEOM_Object)->4 Doubles
00287   print "Minumal distance between TranslVect and Mirror is", mindist[0],
00288   print "by components:", mindist[1], ",", mindist[2], ",", mindist[3]
00289   CheckShape = geompy.CheckShape(Prism)            #(GEOM_Object)->Boolean
00290   print "CheckShape(Prism) = ", CheckShape
00291 
00292   #Partition objects
00293   Partition  = geompy.MakePartition([Box], [Plane]) #(2 Lists Of GEOM_Object)->GEOM_Object
00294   Partition1 = geompy.MakeHalfPartition(Box, Plane) #(2 GEOM_Object)->GEOM_Object
00295 
00296   #Add In Study
00297   id_p0   = geompy.addToStudy(p0,   "Vertex 0")
00298   id_px   = geompy.addToStudy(px,   "Vertex X")
00299   id_py   = geompy.addToStudy(py,   "Vertex Y")
00300   id_pz   = geompy.addToStudy(pz,   "Vertex Z")
00301   id_pxyz = geompy.addToStudy(pxyz, "Vertex XYZ")
00302   id_p200 = geompy.addToStudy(p200, "Vertex 200")
00303 
00304   id_vx   = geompy.addToStudy(vx,   "Vector X")
00305   id_vy   = geompy.addToStudy(vy,   "Vector Y")
00306   id_vz   = geompy.addToStudy(vz,   "Vector Z")
00307   id_vxy  = geompy.addToStudy(vxy,  "Vector XY")
00308   id_vxyz = geompy.addToStudy(vxyz, "Vector XYZ")
00309 
00310   id_cs1 = geompy.addToStudy(cs1, "CS 50,50,50, 1,0,0, 0,1,0")
00311   id_cs2 = geompy.addToStudy(cs2, "CS 70,80,10, 1,0,1, 1,1,0")
00312   id_cs3 = geompy.addToStudy(cs3, "CS: pz, vxy, vz")
00313   id_cs4 = geompy.addToStudy(cs4, "CS: Plane")
00314 
00315   id_Line   = geompy.addToStudy(Line,   "Line")
00316   id_Line1  = geompy.addToStudy(Line1,  "Line by point and vector")
00317   id_Line3  = geompy.addToStudy(Line3,  "Line on Two Faces Intersection")
00318   id_Plane  = geompy.addToStudy(Plane,  "Plane")
00319   id_Plane1 = geompy.addToStudy(Plane1,  "Plane by 3 points")
00320   id_Plane2 = geompy.addToStudy(Plane2,  "Plane by 2 vectors")
00321   id_Plane3 = geompy.addToStudy(Plane3,  "Plane by LCS")
00322 
00323   id_Arc      = geompy.addToStudy(Arc,      "Arc")
00324   id_Arc2     = geompy.addToStudy(Arc2,     "Arc2")
00325   id_Arc3     = geompy.addToStudy(Arc3,     "Arc3")
00326   id_Circle   = geompy.addToStudy(Circle,   "Circle")
00327   id_Circle1  = geompy.addToStudy(Circle1,  "Circle by 3 points")
00328   id_Circle2  = geompy.addToStudy(Circle2,  "Circle by center and 2 points")
00329   id_Ellipse  = geompy.addToStudy(Ellipse,  "Ellipse")
00330   id_Polyline = geompy.addToStudy(Polyline, "Polyline")
00331   id_Bezier   = geompy.addToStudy(Bezier,   "Bezier")
00332   id_Interpol = geompy.addToStudy(Interpol, "Interpol")
00333   id_Sketcher = geompy.addToStudy(Sketcher, "Sketcher")
00334   id_Sketcher3d = geompy.addToStudy(Sketcher3d, "Sketcher 3D")
00335 
00336   id_p_on_arc  = geompy.addToStudy(p_on_arc,  "Vertex on Arc (0.25)")
00337   id_p_on_arc2 = geompy.addToStudy(p_on_arc2, "Vertex on Arc at(100, -10, 10)" )
00338   id_p_on_arc3 = geompy.addToStudy(p_on_arc3, "Vertex on Arc length 50 from Vertex X" )
00339   
00340   id_p_on_l1l2 = geompy.addToStudy(p_on_l1l2, "Vertex on Lines Intersection")
00341 
00342   id_tan_on_arc  = geompy.addToStudy(tan_on_arc, "Tangent on Arc (0.7)")
00343   id_tan_on_face = geompy.addToStudy(tan_on_face, "Tangent on Face")
00344 
00345   id_Box      = geompy.addToStudy(Box,      "Box")
00346   id_Box1     = geompy.addToStudy(Box1,     "Box 10x20x30")
00347   id_Box2     = geompy.addToStudy(Box2,     "Box (10,20,30)-(15,25,35)")
00348   id_Cylinder = geompy.addToStudy(Cylinder, "Cylinder")
00349   id_Cyl1     = geompy.addToStudy(Cyl1,     "Cylinder RH")
00350   id_Sphere   = geompy.addToStudy(Sphere,   "Sphere Pnt R")
00351   id_Sphere1  = geompy.addToStudy(Sphere1,  "Sphere R")
00352   id_Sphere2  = geompy.addToStudy(Sphere2,  "Sphere")
00353   id_Cone     = geompy.addToStudy(Cone,     "Cone")
00354   id_Cone1    = geompy.addToStudy(Cone1,    "Cone R1R2H")
00355   id_Torus    = geompy.addToStudy(Torus,    "Torus")
00356   id_Torus1   = geompy.addToStudy(Torus1,   "Torus RR")
00357 
00358   id_Common  = geompy.addToStudy(Common,  "Common")
00359   id_Cut     = geompy.addToStudy(Cut,     "Cut")
00360   id_Fuse    = geompy.addToStudy(Fuse,    "Fuse")
00361   id_Section = geompy.addToStudy(Section, "Section")
00362 
00363   id_Edge     = geompy.addToStudy(Edge,     "Edge")
00364   id_Edge1    = geompy.addToStudy(Edge1,    "Edge on Arc length 50 from Vertex Y")
00365   id_Wire     = geompy.addToStudy(Wire,     "Wire")
00366   id_Face     = geompy.addToStudy(Face,     "Face")
00367   id_Face1    = geompy.addToStudy(Face1,    "Face from two wires")
00368   id_Face2    = geompy.addToStudy(Face2,    "Face from Sketcher")
00369   id_Face3    = geompy.addToStudy(Face3,    "Face Height Width")
00370   id_Face4    = geompy.addToStudy(Face4,    "Face Plane_HW")
00371   id_Disk     = geompy.addToStudy(Disk,     "Disk PntVecR")
00372   id_Disk2    = geompy.addToStudy(Disk2,    "Disk Three Points")
00373   id_Disk3    = geompy.addToStudy(Disk3,    "Disk OXY Radius")
00374   id_Shell    = geompy.addToStudy(Shell,    "Shell")
00375 
00376   id_p_on_face = geompy.addToStudy(p_on_face, "Vertex on Face (0.1, 0.8)")
00377   id_p_on_face2 = geompy.addToStudy(p_on_face2, "Vertex on Face at(0., 0., 0.)")
00378 
00379   id_Prism1   = geompy.addToStudy(Prism1,     "Prism by Two Pnt")
00380   id_Shell1   = geompy.addToStudy(Shell1,   "Shell from Prism1 faces")
00381   id_Solid    = geompy.addToStudy(Solid,    "Solid")
00382   id_Compound = geompy.addToStudy(Compound, "Compound")
00383 
00384   id_Plane2   = geompy.addToStudy(Plane2,   "Plane on Face")
00385 
00386   id_Copy       = geompy.addToStudy(Copy,       "Copy")
00387   id_Prism            = geompy.addToStudy(Prism,            "Prism")
00388   id_Prism2Ways       = geompy.addToStudy(Prism2Ways,       "Prism2Ways")
00389   id_PrismTwoPnt      = geompy.addToStudy(PrismTwoPnt,      "PrismTwoPnt")
00390   id_PrismTwoPnt2Ways = geompy.addToStudy(PrismTwoPnt2Ways, "PrismTwoPnt2Ways")
00391   id_PrismDXDYDZ      = geompy.addToStudy(PrismDXDYDZ,      "PrismDXDYDZ")
00392   id_PrismDXDYDZ2Ways = geompy.addToStudy(PrismDXDYDZ2Ways, "PrismDXDYDZ2Ways")
00393   id_Revolution       = geompy.addToStudy(Revolution,       "Revolution")
00394   id_Revolution2Ways  = geompy.addToStudy(Revolution2Ways,  "Revolution2Ways")
00395   id_Filling    = geompy.addToStudy(Filling,    "Filling")
00396   id_Pipe       = geompy.addToStudy(Pipe,       "Pipe")
00397   id_Sewing     = geompy.addToStudy(Sewing,     "Sewing")
00398 
00399   id_Translation = geompy.addToStudy(Translation, "Translation")
00400   id_TranslVect  = geompy.addToStudy(TranslVect , "Translation along vector")
00401   id_TranslVectD = geompy.addToStudy(TranslVectD, "Translation along vector with defined distance")
00402   id_Rotation    = geompy.addToStudy(Rotation,    "Rotation")
00403   id_RotatPnt    = geompy.addToStudy(RotatPnt,    "Rotation by three points")
00404   id_Scale1      = geompy.addToStudy(Scale1,      "Scale1")
00405   id_Scale2      = geompy.addToStudy(Scale2,      "Scale2")
00406   id_Scale3      = geompy.addToStudy(Scale3,      "Scale3")
00407   id_Scale4      = geompy.addToStudy(Scale4,      "Scale4")
00408   id_Mirror      = geompy.addToStudy(Mirror,      "Mirror by Plane")
00409   id_MirrorAxis  = geompy.addToStudy(MirrorAxis,  "Mirror by Axis")
00410   id_MirrorPnt   = geompy.addToStudy(MirrorPnt,   "Mirror by Point")
00411   id_Position    = geompy.addToStudy(Position,    "Positioned box")
00412   id_Position2   = geompy.addToStudy(Position2,   "Positioned box along path")
00413   id_Offset      = geompy.addToStudy(Offset,      "Offset")
00414   id_Orientation = geompy.addToStudy(Orientation, "Orientation")
00415 
00416   id_Fillet   = geompy.addToStudy(Fillet,   "Fillet")
00417   id_Fillet2  = geompy.addToStudy(Fillet2,  "Fillet2")
00418   id_Fillet2d = geompy.addToStudy(Fillet2d, "Fillet2D")
00419 
00420   id_Chamfer  = geompy.addToStudy(Chamfer,  "Chamfer on Edge")
00421   id_Chamfer2 = geompy.addToStudy(Chamfer2, "Chamfer on Faces")
00422   id_Chamfer3 = geompy.addToStudy(Chamfer3, "Chamfer on Edges")
00423   id_Chamfer4 = geompy.addToStudy(Chamfer4, "Chamfer on Faces with params D Angle")
00424 
00425   id_MultiTrans1D = geompy.addToStudy(MultiTrans1D, "MultiTrans1D")
00426   id_MultiTrans2D = geompy.addToStudy(MultiTrans2D, "MultiTrans2D")
00427   id_MultiRot1D   = geompy.addToStudy(MultiRot1D,   "MultiRot1D")
00428   id_MultiRot2D   = geompy.addToStudy(MultiRot2D,   "MultiRot2D")
00429 
00430   id_CDG       = geompy.addToStudy(CDG,       "CDG")
00431   id_Archimede = geompy.addToStudy(Archimede, "Archimede")
00432 
00433   id_Partition  = geompy.addToStudy(Partition, "Partition")
00434   id_Partition1 = geompy.addToStudy(Partition1, "Half Partition")
00435 
00436   #Decompose objects
00437 
00438   # SubShape
00439   SubFace    = geompy.SubShape(Box, geompy.ShapeType["FACE"], [2])
00440   name       = geompy.SubShapeName(SubFace, Box)
00441   id_SubFace = geompy.addToStudyInFather(Box, SubFace, name)
00442 
00443   # SubShapeSortedCentres
00444   SubFaceS   = geompy.SubShapeSortedCentres(Box, geompy.ShapeType["FACE"], [5])
00445   nameS      = geompy.SubShapeName(SubFaceS, Box)
00446   id_SubFace = geompy.addToStudyInFather(Box, SubFaceS, nameS)
00447 
00448   # GetExistingSubObjects
00449   SubObjsAll = geompy.GetExistingSubObjects(Box, True)
00450   print "For now, Box has the following created sub-objects:", SubObjsAll
00451 
00452   # GetGroups
00453   SubGrpsAll = geompy.GetGroups(Box)
00454   print "For now, Box has the following created groups:", SubGrpsAll
00455 
00456   # SubShapeAll
00457   SubEdgeList = geompy.SubShapeAll(SubFace, geompy.ShapeType["EDGE"])
00458   i=0
00459   for SubEdge in SubEdgeList :
00460     name = geompy.SubShapeName(SubEdge, SubFace)
00461     id_SubEdge = geompy.addToStudyInFather(SubFace, SubEdge, name)
00462 
00463   # SubShapeAllIDs
00464   SubEdgeIDsList = geompy.SubShapeAllIDs(SubFace, geompy.ShapeType["EDGE"])
00465   print "IDs of edges of SubFace:", SubEdgeIDsList, "(unsorted)"
00466   group = geompy.CreateGroup(SubFace, geompy.ShapeType["EDGE"])
00467   geompy.UnionIDs(group, SubEdgeIDsList)
00468   geompy.addToStudyInFather(SubFace, group, "Group of all edges")
00469 
00470   # SubShapeAllSortedCentresIDs
00471   SubEdgeIDsList = geompy.SubShapeAllSortedCentresIDs(SubFace, geompy.ShapeType["EDGE"])
00472   print "IDs of edges of SubFace:", SubEdgeIDsList, "(sorted)"
00473 
00474   # GetSubShape and GetSubShapeID
00475   for ind in SubEdgeIDsList:
00476     edge = geompy.GetSubShape(SubFace, [ind])
00477     ind_e = geompy.GetSubShapeID(SubFace, edge)
00478     if ind_e != ind:
00479       print "Error in GetSubShape or GetSubShapeID"
00480 
00481   # RestoreSubShapes
00482   geompy.RestoreSubShapes(Copy)
00483   geompy.RestoreSubShapes(RotatPnt, [], GEOM.FSM_Transformed)
00484   geompy.RestoreSubShapes(Partition, [Box])
00485   geompy.RestoreSubShapes(Partition1)
00486 
00487   print "DONE"