Salome HOME
support fuzzy parameter in all boolean operations
[modules/shaper.git] / src / FeaturesPlugin / doc / commonFeature.rst
index 7324955eb634f4e7fb15a0cb1966ecbf1f803a52..e96f00124c23705683f43e06675d741ee0daac71 100644 (file)
+.. |bool_common.icon|    image:: images/bool_common.png
+   :height: 16px
+
+.. _featureCommon:
 
 Common
 ======
 
-The feature Common implements a boolean operation for extraction of a common part from a set of selected shapes.
+Common feature implements a Boolean operation for extraction of a common part from a set of selected shapes.
 
-To perform a boolean opration Common in the active part:
+To perform a Common operation in the active part:
 
 #. select in the Main Menu *Features - > Common* item  or
-#. click **Common** button in the toolbar
+#. click |bool_common.icon| **Common** button in the toolbar
 
-.. image:: images/common_btn.png
-   :align: center
+There are 2 options for creation of a Common:
+
+.. figure:: images/bool_common_simple.png
+   :align: left
+   :height: 24px
+
+**Simple** common part between all selected objects.
+
+.. figure:: images/bool_common_advanced.png
+   :align: left
+   :height: 24px
+
+**Advanced** common part for each object between this object and all tools.
+
+--------------------------------------------------------------------------------
 
-.. centered::
-   **Common**  button 
+Simple
+------
 
-The following property panel will be opened:
-   
-.. image:: images/Common.png
-  :align: center
+.. figure:: images/boolean_common_simple_property_panel.png
+   :align: center
 
-.. centered::
-  **Common operation**
+   **Simple**
 
-- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be common with tool objects.
--  **Tool Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be common with main objects.
+- **Objects** contains a list of objects selected in the Object Browser or in the Viewer.
+  If a subshape that belongs to a compsolid/compound was selected, other shapes of this compsolid/compound will be ignored.
+- **Fuzzy Parameter** defines the additional tolerance value used to eliminate tiny results.
 - **See preview** button shows a result of the operation.
 
-**TUI Command**:  *model.addCommon(Part_doc, mainObjects, toolObjects)*
+**TUI Command**:
+
+.. py:function:: model.addCommon(Part_doc, objects, fuzzy)
 
-**Arguments**:   Part + list of main objects + list of tool objects.
+    :param part: The current part object
+    :param list: A list of objects.
+    :param real: Additional tolerance used to eliminate tiny results (optional).
+    :return: Created object
 
 Result
 """"""
 
 The Result of the operation will be a shape which is a common for all selected shapes:
 
-.. image:: images/CreatedCommon.png
-          :align: center
+.. figure:: images/CreatedCommon.png
+   :align: center
 
-.. centered::
    **Common created**
 
-**See Also** a sample TUI Script of a :ref:`tui_create_common` operation.
+**See Also** a sample TUI Script of :ref:`tui_create_common` operation.
+
+Advanced
+--------
+
+.. figure:: images/boolean_common_advanced_property_panel.png
+   :align: center
+
+   **Advanced**
+
+- **Objects** contains a list of objects selected in the Object Browser or in the Viewer.
+  If a subshape that belongs to a compsolid/compound was selected, other shapes of this compsolid/compound will be cut from
+  other objects (to avoid self-intersection) and added to the result.
+- **Tools** contains a list of objects selected in the Object Browser or in the Viewer, which will be intersected with tool objects.
+  If a subshape that belongs to a compsolid/compound was selected, other shapes of this compsolid/compound will be ignored.
+- **Fuzzy Parameter** defines the additional tolerance value used to eliminate tiny results.
+- **See preview** button shows a result of the operation.
+
+Any kind of shape is supported as an object or a tool of Common. Moreover, constructions planes can be selected as tools.
+
+**TUI Command**:
+
+.. py:function:: model.addCommon(Part_doc, objects, tools, fuzzy)
+
+    :param part: The current part object
+    :param list: A list of objects.
+    :param list: A list of tools.
+    :param real: Additional tolerance used to eliminate tiny results (optional).
+    :return: Created object
+
+Result
+""""""
+
+For each selected object, the common part between this object and all tools will be found:
+
+.. figure:: images/boolean_common_result.png
+   :align: center
+
+   **Created common**
+
+**See Also** a sample TUI Script of :ref:`tui_create_common` operation.