3 \page tui_free_faces_page Check Free Faces
8 gg = salome.ImportComponentGUI("GEOM")
10 # create a vertex and a vector
11 p1 = geompy.MakeVertex(35, 35, 0)
12 p2 = geompy.MakeVertex(35, 35, 50)
13 v = geompy.MakeVector(p1, p2)
16 cylinder = geompy.MakeCone(p1, v, 30, 20, 20)
19 cone = geompy.MakeCone(p1, v, 70, 40, 60)
22 cut = geompy.MakeCut(cone, cylinder)
24 # get faces as sub-shapes
26 faces = geompy.SubShapeAllSortedCentres(cut, geompy.ShapeType["FACE"])
27 f_2 = geompy.GetSubShapeID(cut, faces[0])
29 # remove one face from the shape
30 cut_without_f_2 = geompy.SuppressFaces(cut, [f_2])
32 # suppress the specified wire
33 result = geompy.GetFreeFacesIDs(cut_without_f_2)
34 print "A number of free faces is ", len(result)
36 # add objects in the study
37 all_faces = geompy.SubShapeAllSortedCentres(cut_without_f_2, geompy.ShapeType["FACE"])
38 for face in all_faces :
39 sub_shape_id = geompy.GetSubShapeID(cut_without_f_2, face)
40 if result.count(sub_shape_id) > 0 :
41 face_name = "Free face %d"%(sub_shape_id)
42 geompy.addToStudy(face, face_name)
44 # in this example all faces from cut_without_f_2 are free
45 id_cut_without_f_2 = geompy.addToStudy(cut_without_f_2, "Cut without f_2")
48 gg.createAndDisplayGO(id_cut_without_f_2)
49 gg.setDisplayMode(id_cut_without_f_2,1)