Salome HOME
Merge from V6_main 11/02/2013
[modules/geom.git] / doc / salome / examples / transformation_operations_ex12.py
1 # Fillet
2
3 import geompy
4 import salome
5 gg = salome.ImportComponentGUI("GEOM")
6 radius  = 10.
7 ShapeTypeEdge = geompy.ShapeType["EDGE"]
8
9 # create vertices and vectors
10 p0  = geompy.MakeVertex(  0.,   0.,   0.)
11 px  = geompy.MakeVertex(100.,   0.,   0.)
12 py  = geompy.MakeVertex(  0., 100.,   0.)
13 pz  = geompy.MakeVertex(  0.,   0., 100.)
14 vz  = geompy.MakeVector(p0, pz)
15 vxy = geompy.MakeVector(px, py)
16
17 # create an arc
18 arc = geompy.MakeArc(py, pz, px)
19
20 # create a wire
21 wire = geompy.MakeWire([vxy, arc])
22
23 # create a planar face
24 face = geompy.MakeFace(wire, 1)
25
26 # create a prism
27 prism = geompy.MakePrismVecH(face, vz, 100.0)
28
29 # get the list of IDs (IDList) for the fillet
30 prism_edges = geompy.SubShapeAllSortedCentres(prism, ShapeTypeEdge)
31 IDlist_e = []
32 IDlist_e.append(geompy.GetSubShapeID(prism, prism_edges[0]))
33 IDlist_e.append(geompy.GetSubShapeID(prism, prism_edges[1]))
34 IDlist_e.append(geompy.GetSubShapeID(prism, prism_edges[2]))
35
36 # make a fillet on the specified edges of the given shape
37 fillet = geompy.MakeFillet(prism, radius, ShapeTypeEdge, IDlist_e)
38
39 # make a fillet on all edges of the given shape
40 filletall = geompy.MakeFilletAll(prism, radius)
41
42 # add objects in the study
43 id_prism = geompy.addToStudy(prism,"Prism")
44 id_fillet = geompy.addToStudy(fillet,"Fillet")
45 id_filletall = geompy.addToStudy(filletall,"Fillet all")
46
47 # display the prism and the results of fillet operation
48 gg.createAndDisplayGO(id_prism)
49 gg.setDisplayMode(id_prism,1)
50 gg.createAndDisplayGO(id_fillet)
51 gg.setDisplayMode(id_fillet,1)
52 gg.createAndDisplayGO(id_filletall)
53 gg.setDisplayMode(id_filletall,1)