Salome HOME
Synchronize adm files
[modules/geom.git] / doc / salome / examples / repairing_operations_ex09.py
1 # Limit Tolerance
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
8 gg = salome.ImportComponentGUI("GEOM")
9
10 # import initial topology with bad tolerances (more than 1e-07)
11 shape1 = geompy.ImportBREP("my_shape_1.brep")
12 shape2 = geompy.ImportBREP("my_shape_2.brep")
13
14 geompy.addToStudy(shape1, "Shape 1")
15 geompy.addToStudy(shape2, "Shape 2")
16
17 # perform partition
18 try:
19     part = geompy.MakePartition([shape1, shape2])
20 except:
21     # limit tolerance
22     tolerance = 1e-07
23     shape1_lt = geompy.LimitTolerance(shape1, tolerance)
24     shape2_lt = geompy.LimitTolerance(shape2, tolerance)
25
26     # process shape
27     good_shape1 = geompy.ProcessShape(shape1_lt, ["FixShape"], ["FixShape.Tolerance3d"], ["1e-7"])
28     good_shape2 = geompy.ProcessShape(shape2_lt, ["FixShape"], ["FixShape.Tolerance3d"], ["1e-7"])
29
30     geompy.addToStudy(good_shape1, "Shape 1 corrected")
31     geompy.addToStudy(good_shape2, "Shape 2 corrected")
32
33     # perform partition on corrected shapes
34     part = geompy.MakePartition([good_shape1, good_shape2])
35     pass
36
37 geompy.addToStudy(part, "Partition")