Salome HOME
0022471: EDF 2604 GEOM: Suppress the boundary edges of the tools in the fuse operation
[modules/geom.git] / doc / salome / gui / GEOM / input / using_boolean_operations.doc
1 /*!
2
3 \page using_boolean_operations_page Boolean Operations
4
5 For a detailed description of Boolean operations refer to
6 <a href="SALOME_BOA_PA.pdf">this document</a>. 
7 It provides a general review of the Partition and Boolean
8 operations algorithms, describes the usage methodology and highlights
9 major limitations of these operations.
10
11 You can use the following boolean operations for construction of more
12 complex geometrical objects (2D & 3D elements):
13
14 <ul>
15 <li>\subpage fuse_operation_page "Fuse" - creates a shape from a list of shapes.</li>
16 <li>\subpage common_operation_page "Common" - transforms the common part
17 of a list of objects into an independent object.</li>
18 <li>\subpage cut_operation_page "Cut" - cuts one shape with
19 a list of others. </li>
20 <li>\subpage section_opeartion_page "Section" - creates a section between two shapes.</li>
21 </ul>
22
23 You can use advanced TUI commands performing these operations
24 independently from each other:
25 \par
26 <em>geompy.MakeFuseList(theShapesList, checkSelfInte, rmExtraEdges)</em>, where \em theShapesList is
27 the list of shapes for Fuse operation; 
28 \par
29 <em>geompy.MakeCommonList(theShapesList, checkSelfInte)</em>, where \em theShapesList is
30 the list of shapes for Common operation;
31 \par
32 <em>geompy.MakeCutList(theMainShape, theShapesList, checkSelfInte)</em>, where \em
33 theMainShape is the object of the operation and \em theShapesList is
34 the list of tools for Cut operation;
35 \par
36 <em>geompy.MakeSection(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
37 argument and \em Shape2 is the second argument of Section operation;
38
39
40 There are several TUI commands that can be used to perform boolean operations
41 with only two arguments. There is a general TUI command covering these
42 operations, which can be used alongside with separate commands for each
43 operation.
44 \par
45 <em>geompy.MakeBoolean(Shape1, Shape2, Operation, checkSelfInte),</em> where \em
46 Shape1 is the first argument and \em Shape2 is the second argument of
47 a Boolean operation, \em Operation is the type of a Boolean operation (1
48 &mdash; Common, 2 &mdash; Cut, 3 &mdash; Fuse, 4 &mdash; Section).
49
50
51 Besides, you can use advanced TUI commands performing these operations
52 independently from each other:
53 \par
54 <em>geompy.MakeFuse(Shape1, Shape2, checkSelfInte, rmExtraEdges)</em>, where \em Shape1 is the first
55 argument and \em Shape2 is the second argument of Fuse operation; 
56 \par
57 <em>geompy.MakeCommon(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
58 argument and \em Shape2 is the second argument of Common operation;
59 \par
60 <em>geompy.MakeCut(Shape1, Shape2, checkSelfInte)</em>, where \em Shape1 is the first
61 argument and \em Shape2 is the second argument of Cut operation;
62
63 The flag \em checkSelfInte indicates whether the arguments should be checked for
64 self-intersection prior to an operation. Its default value is \em False, which
65 means that there is no need to check it. This option is provided to ensure that
66 an operation is performed on not self-intersected shapes as they are
67 not valid for boolean operations.
68
69 \note This algorithm does not find all types of self-intersections. It is tuned
70       to detect vertex/vertex, vertex/edge, edge/edge, vertex/face and edge/face
71       intersections. Face/face intersections detection is switched off as it
72       is a time-consuming operation that gives an impact on performance. To find
73       all self-intersections use \ref check_self_intersections_page
74       "Detect Self-intersection tool".
75
76 The flag \em rmExtraEdges is used for \em MakeFuseList and \em MakeFuse
77 operations only. It indicates if Remove Extra Edges operation should be
78 performed during the operation. Its default value is \em False, which
79 means that there is no need to do it.
80
81 \note \em rmExtraEdges is not available for \em MakeBoolean call with
82       operation type 3 (Fuse). \em MakeBoolean operation doesn't perform
83       Remove Extra Edges. So the call <em>geompy.MakeBoolean(Shape1, Shape2,
84       3, checkSelfInte)</em> is equivalent to <em>geompy.MakeFuse(Shape1,
85       Shape2, checkSelfInte, False)</em>.
86
87 Our <b>TUI Scripts</b> provide you with useful examples of the use of 
88 \ref tui_boolean_operations_page "Boolean Operations".
89
90 */