--- /dev/null
+
+ .. _tui_create_extrusion_by_bounding_planes:
+
+Create Extrusion by bounding planes
+===================================
+
+.. literalinclude:: examples/extrusion_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_by_bounding_planes.py>`
+
--- /dev/null
+
+ .. _tui_create_extrusion_by_sizes:
+
+Create Extrusion by sizes
+=========================
+
+.. literalinclude:: examples/extrusion_by_sizes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_by_sizes.py>`
+
--- /dev/null
+
+ .. _tui_create_extrusion_cut_by_bounding_planes:
+
+Create Extrusion Cut by bounding planes
+=======================================
+
+.. literalinclude:: examples/extrusion_cut_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_cut_by_bounding_planes.py>`
+
--- /dev/null
+
+ .. _tui_create_extrusion_cut_by_sizes:
+
+Create Extrusion Cut by sizes
+=============================
+
+.. literalinclude:: examples/extrusion_cut_by_sizes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_cut_by_sizes.py>`
+
+++ /dev/null
-
- .. tui_create_extrusion:
-
-Create Extrusion by sizes
-=========================
-
-.. literalinclude:: examples/extrusion.py
- :linenos:
- :language: python
-
-:download:`Download this script <examples/extrusion.py>`
-
--- /dev/null
+
+ .. _tui_create_extrusion_fuse_by_bounding_planes:
+
+Create Extrusion Fuse by bounding planes
+========================================
+
+.. literalinclude:: examples/extrusion_fuse_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_fuse_by_bounding_planes.py>`
+
--- /dev/null
+
+ .. _tui_create_extrusion_fuse_by_sizes:
+
+Create Extrusion Fuse by sizes
+==============================
+
+.. literalinclude:: examples/extrusion_fuse_by_sizes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/extrusion_fuse_by_sizes.py>`
+
--- /dev/null
+
+ .. _tui_create_remove_subshapes:
+
+Remove Sub-Shapes
+=================
+
+.. literalinclude:: examples/remove_subshapes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/remove_subshapes.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_by_angles:
+
+Create Revolution by angles
+===========================
+
+.. literalinclude:: examples/revolution_by_angles.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_by_angles.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_by_bounding_planes:
+
+Create Revolution by bounding planes
+====================================
+
+.. literalinclude:: examples/revolution_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_by_bounding_planes.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_cut_by_angles:
+
+Create Revolution Cut by angles
+===============================
+
+.. literalinclude:: examples/revolution_cut_by_angles.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_cut_by_angles.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_cut_by_bounding_planes:
+
+Create Revolution Cut by bounding planes
+========================================
+
+.. literalinclude:: examples/revolution_cut_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_cut_by_bounding_planes.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_fuse_by_angles:
+
+Create Revolution Fuse by angles
+================================
+
+.. literalinclude:: examples/revolution_fuse_by_angles.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_fuse_by_angles.py>`
+
--- /dev/null
+
+ .. _tui_create_revolution_fuse_by_bounding_planes:
+
+Create Revolution Fuse by bounding planes
+=========================================
+
+.. literalinclude:: examples/revolution_fuse_by_bounding_planes.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/revolution_fuse_by_bounding_planes.py>`
+
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Sketch_1 = model.addSketch(Part_1_doc, model.standardPlane("XOY"))
+SketchCircle_1 = Sketch_1.addCircle(0, 0, 50)
+model.do()
+Plane_4 = model.addPlane(Part_1_doc,
+ model.selection("FACE", "PartSet/XOY"),
+ model.selection("EDGE", "PartSet/OX"),
+ 45)
+Plane_5 = model.addPlane(Part_1_doc,
+ model.selection("FACE", "PartSet/XOY"),
+ model.selection("EDGE", "PartSet/OX"),
+ 315)
+Extrusion_1 = model.addExtrusion(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection(),
+ model.selection("FACE", "Plane_2"),
+ 50,
+ model.selection("FACE", "Plane_1"),
+ 50)
+model.do()
+model.end()
Part_1 = model.addPart(partSet)
Part_1_doc = Part_1.document()
Sketch_1 = model.addSketch(Part_1_doc, model.standardPlane("XOY"))
-SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "PartSet/Origin"), False)
-SketchPoint_1 = SketchProjection_1.createdFeature()
-SketchCircle_1 = Sketch_1.addCircle(0, 0, 27.26724996788554)
-SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.result(), SketchCircle_1.center())
+SketchCircle_1 = Sketch_1.addCircle(0, 0, 25)
model.do()
-Extrusion_1 = model.addExtrusion(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchCircle_1_2f")], model.selection(), 50, 0)
+Extrusion_1 = model.addExtrusion(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection(),
+ 50,
+ 0)
model.do()
model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+ExtrusionCut_1 = model.addExtrusionCut(Part_1_doc,
+ [],
+ model.selection(),
+ model.selection("FACE", "Box_1_1/Bottom"),
+ 0,
+ model.selection("FACE", "Box_1_1/Top"),
+ 0,
+ [model.selection("SOLID", "Box_1_1")])
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 0, 2)
+ExtrusionCut_1.setNestedSketch(Sketch_1)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+ExtrusionCut_1 = model.addExtrusionCut(Part_1_doc,
+ [],
+ model.selection(),
+ 0,
+ 5,
+ [model.selection("SOLID", "Box_1_1")])
+Sketch_1 = model.addSketch(Part_1_doc,
+ model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 0, 2)
+ExtrusionCut_1.setNestedSketch(Sketch_1)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+ExtrusionFuse_1 = model.addExtrusionFuse(Part_1_doc,
+ [],
+ model.selection(),
+ model.selection("FACE", "Box_1_1/Bottom"),
+ 0,
+ model.selection("FACE", "Box_1_1/Top"),
+ 0,
+ [model.selection("SOLID", "Box_1_1")])
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 0, 2)
+ExtrusionFuse_1.setNestedSketch(Sketch_1)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+ExtrusionFuse_1 = model.addExtrusionFuse(Part_1_doc,
+ [],
+ model.selection(),
+ 0,
+ 5,
+ [model.selection("SOLID", "Box_1_1")])
+Sketch_1 = model.addSketch(Part_1_doc,
+ model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 0, 2)
+ExtrusionFuse_1.setNestedSketch(Sketch_1)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Sketch_1 = model.addSketch(Part_1_doc, model.standardPlane("XOY"))
+SketchCircle_1 = Sketch_1.addCircle(0, -25, 50)
+SketchCircle_2 = Sketch_1.addCircle(0, 25, 50)
+model.do()
+Extrusion_1 = model.addExtrusion(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection(),
+ 10,
+ 0)
+Remove_SubShapes_1 = model.addRemoveSubShapes(Part_1_doc,
+ model.selection("COMPSOLID", "Extrusion_1_1"))
+Remove_SubShapes_1.setSubShapesToRemove([model.selection("SOLID", "Extrusion_1_1_2")])
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Sketch_1 = model.addSketch(Part_1_doc, model.standardPlane("XOY"))
+SketchCircle_1 = Sketch_1.addCircle(20, 20, 10)
+model.do()
+Revolution_1 = model.addRevolution(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "PartSet/OY"),
+ 360,
+ 0)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Sketch_1 = model.addSketch(Part_1_doc, model.standardPlane("XOY"))
+SketchCircle_1 = Sketch_1.addCircle(20, 20, 10)
+model.do()
+Revolution_1 = model.addRevolution(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "PartSet/OY"),
+ model.selection("FACE", "PartSet/XOY"),
+ 0,
+ model.selection("FACE", "PartSet/YOZ"),
+ 0)
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 5, 2.5)
+model.do()
+RevolutionCut_1 = model.addRevolutionCut(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "Box_1_1/Front&Box_1_1/Top"),
+ 0,
+ 90,
+ [model.selection("SOLID", "Box_1_1")])
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 5, 2.5)
+model.do()
+RevolutionCut_1 = model.addRevolutionCut(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "Box_1_1/Front&Box_1_1/Top"),
+ model.selection(),
+ 0,
+ model.selection("FACE", "Box_1_1/Front"),
+ 0,
+ [model.selection("SOLID", "Box_1_1")])
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 5, 2.5)
+model.do()
+RevolutionCut_1 = model.addRevolutionFuse(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "Box_1_1/Front&Box_1_1/Top"),
+ 90,
+ 0,
+ [model.selection("SOLID", "Box_1_1")])
+model.do()
+model.end()
--- /dev/null
+# -*- coding: utf-8 -*-
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Top"))
+SketchCircle_1 = Sketch_1.addCircle(5, 5, 2.5)
+model.do()
+RevolutionCut_1 = model.addRevolutionFuse(Part_1_doc,
+ [model.selection("COMPOUND", "Sketch_1")],
+ model.selection("EDGE", "Box_1_1/Front&Box_1_1/Top"),
+ model.selection("FACE", "Box_1_1/Front"),
+ 0,
+ model.selection(),
+ 0,
+ [model.selection("SOLID", "Box_1_1")])
+model.do()
+model.end()
-Extrusion cut
+Extrusion Cut
=============
+Extrusion Cut feature extrudes selected objects along their normals or selected axis and cuts result from other objects.
+
+To perform Extrusion Cut in the active part:
+
+#. select in the Main Menu *Features - > Extrusion Cut* item or
+#. click **Extrusion Cut** button in the toolbar
+
+.. image:: images/extrusion_cut_btn.png
+ :align: center
+
+.. centered::
+ **Extrusion Cut** button
+
+The following property panel will be opened:
.. image:: images/StartSketch.png
:align: center
.. centered::
Start sketch
+After selecting one of the options property panel for Extrusion Cut will be opened with two variants:
+
+.. image:: images/extrusion_by_sizes.png
+ :align: left
+**By Sizes** extrudes objects by specifying sizes.
+
+.. image:: images/extrusion_by_bounding_planes.png
+ :align: left
+**By Bounding Planes** extrudes objects by specifying bounding planes and offsets.
+
+
+By sizes
+--------
.. image:: images/ExtrusionCut1.png
:align: center
.. centered::
- Extrusion: definition by sizes
+ Extrusion Cut: definition by sizes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
+- **Axis** if selected then it will be direction of extrusion, otherwise objects normals will be used.
+- **To size** size for extrusion along direction.
+- **From size** size for extrusion in opposite direction.
+- **Cut from** contains a list of objects which will but cut with the result of extrusion.
+
+**TUI Command**: *model.addExtrusionCut(part, objectsToExtrude, size, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + size + list of objects to cut from.
+
+**TUI Command**: *model.addExtrusionCut(part, objects, direction, size, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + direction + size + list of objects to cut from.
+
+**TUI Command**: *model.addExtrusionCut(part, objects, toSize, fromSize, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + to size + from size + list of objects to cut from.
+
+**TUI Command**: *model.addExtrusionCut(part, objects, direction, toSize, fromSize, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + direction + to size + from size + list of objects to cut from.
+
+Result
+""""""
+
+The Result of the operation will be an extruded shape:
+
+.. image:: images/extrusion_cut_by_sizes_result.png
+ :align: center
+
+.. centered::
+ **Extrusion Cut created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_cut_by_sizes` operation.
+By bounding planes
+------------------
.. image:: images/ExtrusionCut2.png
:align: center
.. centered::
- Extrusion: definition by bounding planes
+ Extrusion Cut: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
+- **Axis** if selected then it will be direction of extrusion, otherwise objects normals will be used.
+- **To plane** planar face can be selected to bound extrusion from one side.
+- **To offset** offset for extrusion or for bounding plane if selected.
+- **From plane** planar face can be selected to bound extrusion from other side.
+- **From offset** offset for extrusion or for bounding plane if selected.
+- **Cut from** contains a list of objects which will but cut with the result of extrusion.
+
+**TUI Command**: *model.addExtrusionCut(part, objects, toObject, toOffset, fromObject, fromOffset, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + to object + to offset + from object + from offset + list of objects to cut from.
+
+**TUI Command**: *model.addExtrusionCut(part, objects, direction, toObject, toOffset, fromObject, fromOffset, objectsToCut);*
+
+**Arguments**: Part + list of objects for extrusion + direction + to object + to offset + from object + from offset + list of objects to cut from.
+
+Result
+""""""
+
+The Result of the operation will be an extruded shape:
+
+.. image:: images/extrusion_cut_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Extrusion Cut created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_cut_by_bounding_planes` operation.
-.. _featureExtrusion:
Extrusion
=========
**By Bounding Planes** extrudes objects by specifying bounding planes and offsets.
-Simple
-------
+By sizes
+--------
.. image:: images/Extrusion1.png
:align: center
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_result.png
+.. image:: images/extrusion_by_sizes_result.png
:align: center
.. centered::
**Extrusion created**
-**See Also** a sample TUI Script of a :ref:`tui_create_extrusion` operation.
-
-
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_by_sizes` operation.
+By bounding planes
+------------------
.. image:: images/Extrusion2.png
:align: center
.. centered::
Extrusion: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
+- **Axis** if selected then it will be direction of extrusion, otherwise objects normals will be used.
+- **To plane** planar face can be selected to bound extrusion from one side.
+- **To offset** offset for extrusion or for bounding plane if selected.
+- **From plane** planar face can be selected to bound extrusion from other side.
+- **From offset** offset for extrusion or for bounding plane if selected.
+
+**TUI Command**: *model.addExtrusion(part, objects, toObject, toOffset, fromObject, fromOffset);*
+
+**Arguments**: Part + list of objects + to object + to offset + from object + from offset.
+
+**TUI Command**: *model.addExtrusion(part, objects, direction, toObject, toOffset, fromObject, fromOffset);*
+
+**Arguments**: Part + list of objects + direction + to object + to offset + from object + from offset.
+
+Result
+""""""
+
+The Result of the operation will be an extruded shape:
+
+.. image:: images/extrusion_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Extrusion created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_by_bounding_planes` operation.
-Extrusion fuse
-==============
+Extrusion Fuse
+=============
+Extrusion Fuse feature extrudes selected objects along their normals or selected axis and fuses result with other objects.
+
+To perform Extrusion Fuse in the active part:
+
+#. select in the Main Menu *Features - > Extrusion Fuse* item or
+#. click **Extrusion Fuse** button in the toolbar
+
+.. image:: images/extrusion_fuse_btn.png
+ :align: center
+
+.. centered::
+ **Extrusion Fuse** button
+
+The following property panel will be opened:
.. image:: images/StartSketch.png
:align: center
.. centered::
Start sketch
+After selecting one of the options property panel for Extrusion Fuse will be opened with two variants:
+
+.. image:: images/extrusion_by_sizes.png
+ :align: left
+**By Sizes** extrudes objects by specifying sizes.
+
+.. image:: images/extrusion_by_bounding_planes.png
+ :align: left
+**By Bounding Planes** extrudes objects by specifying bounding planes and offsets.
+
+
+By sizes
+--------
.. image:: images/ExtrusionFuse1.png
:align: center
.. centered::
- Extrusion: definition by sizes
+ Extrusion Fuse: definition by sizes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
+- **Axis** if selected then it will be direction of extrusion, otherwise objects normals will be used.
+- **To size** size for extrusion along direction.
+- **From size** size for extrusion in opposite direction.
+- **Fuse with** contains a list of objects which will but fused with the result of extrusion.
+
+**TUI Command**: *model.addExtrusionFuse(part, objectsToExtrude, size, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + size + list of objects to fuse with.
+
+**TUI Command**: *model.addExtrusionFuse(part, objects, direction, size, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + direction + size + list of objects to fuse with.
+
+**TUI Command**: *model.addExtrusionFuse(part, objects, toSize, fromSize, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + to size + from size + list of objects to fuse with.
+
+**TUI Command**: *model.addExtrusionFuse(part, objects, direction, toSize, fromSize, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + direction + to size + from size + list of objects to fuse with.
+
+Result
+""""""
+
+The Result of the operation will be an extruded shape:
+
+.. image:: images/extrusion_fuse_by_sizes_result.png
+ :align: center
+
+.. centered::
+ **Extrusion Fuse created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_fuse_by_sizes` operation.
+By bounding planes
+------------------
.. image:: images/ExtrusionFuse2.png
:align: center
.. centered::
- Extrusion: definition by bounding planes
+ Extrusion Fuse: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
+- **Axis** if selected then it will be direction of extrusion, otherwise objects normals will be used.
+- **To plane** planar face can be selected to bound extrusion from one side.
+- **To offset** offset for extrusion or for bounding plane if selected.
+- **From plane** planar face can be selected to bound extrusion from other side.
+- **From offset** offset for extrusion or for bounding plane if selected.
+- **Fuse with** contains a list of objects which will but fused with the result of extrusion.
+
+**TUI Command**: *model.addExtrusionFuse(part, objects, toObject, toOffset, fromObject, fromOffset, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + to object + to offset + from object + from offset + list of objects to fuse with.
+
+**TUI Command**: *model.addExtrusionFuse(part, objects, direction, toObject, toOffset, fromObject, fromOffset, objectsToFuse);*
+
+**Arguments**: Part + list of objects for extrusion + direction + to object + to offset + from object + from offset + list of objects to fuse with.
+
+Result
+""""""
+
+The Result of the operation will be an extruded shape:
+
+.. image:: images/extrusion_fuse_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Extrusion Fuse created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_extrusion_fuse_by_bounding_planes` operation.
The feature Fill implements a boolean operation for filling of main objects by parts of tool objects.
-To perform a boolean opration Fill in the active part:
+To perform a boolean operation Fill in the active part:
#. select in the Main Menu *Features - > Fill* item or
#. click **Fill** button in the toolbar
-Remove sub-shapes
+Remove Sub-Shapes
=================
+Remove Sub-Shapes allows to remove sub shapes from wires, shells, compsolids, compounds.
+
+To perform Remove Sub-Shapes in the active part:
+
+#. select in the Main Menu *Features - > Remove Sub-Shapes* item or
+#. click **Remove Sub-Shapes** button in the toolbar
+
+.. image:: images/remove_subshapes_btn.png
+ :align: center
+
+.. centered::
+ **Remove Sub-Shapes** button
+
+The following property panel will be opened:
.. image:: images/RemoveSubShapes.png
:align: center
.. centered::
- Remove sub-shapes
+ Remove Sub-Shapes
+
+- **Shape** shape from which sub-shapes should be removed. Only wires, shells, compsolids, compounds allowed for selection.
+
+There are 2 options for removing sub-shapes:
+
+.. image:: images/remove_subshapes_32x32.png
+ :align: left
+**By removing** allows to select which sub-shapes will be removed.
+
+- **Sub-Shapes to remove** list of sub-shapes which should be removed.
+
+**TUI Command**:
+ | *Remove_SubShapes_1 = model.addRemoveSubShapes(Part_1_doc, object)*
+ | *Remove_SubShapes_1.setSubShapesToRemove(subShapes)*
+
+**Arguments**: Part + object; List of sub-shapes to remove.
+
+
+.. image:: images/keep_subshapes_32x32.png
+ :align: left
+**By keeping** allows to select which sub-shapes will be kept.
+
+- **Sub-Shapes to keep** list of sub-shapes which should be kept.
+
+**TUI Command**:
+ | *Remove_SubShapes_1 = model.addRemoveSubShapes(Part_1_doc, object)*
+ | *Remove_SubShapes_1.setSubShapesToKeep(subShapes)*
+
+**Arguments**: Part + object; List of sub-shapes to keep.
+
+
+Result
+""""""
+
+The Result of the operation will be a shape without removed sub-shapes:
+
+.. image:: images/remove_subshapes_result.png
+ :align: center
+
+.. centered::
+ **Remove Sub-Shapes created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_remove_subshapes` operation.
-Revolution cut
+Revolution Cut
==============
+Revolution Cut feature revolves selected objects around selected axis and cuts result from other objects.
+
+To perform Revolution Cut in the active part:
+
+#. select in the Main Menu *Features - > Revolution Cut* item or
+#. click **Revolution Cut** button in the toolbar
+
+.. image:: images/revolution_cut_btn.png
+ :align: center
+
+.. centered::
+ **Revolution Cut** button
+
+The following property panel will be opened:
.. image:: images/StartSketch.png
:align: center
.. centered::
Start sketch
+After selecting one of the options property panel for Revolution Cut will be opened with two variants:
+
+.. image:: images/revolution_by_angles.png
+ :align: left
+**By Angles** revolves objects by specifying angles.
+
+.. image:: images/revolution_by_bounding_planes.png
+ :align: left
+**By Bounding Planes** revolves objects by specifying bounding planes and angles.
+
+
+By angles
+--------
.. image:: images/RevolutionCut1.png
:align: center
.. centered::
- Revolution: definition by angles
+ Revolution Cut: definition by angles
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To angle** end angle of revolution.
+- **From angle** start angle of revolution.
+- **Cut from** contains a list of objects which will but cut with the result of revolution.
+
+**TUI Command**: *model.addRevolutionCut(part, objectsToRevolve, axis, angle, objectToCut);*
+
+**Arguments**: Part + list of objects for revolution + axis + angle + list of objects to cut from.
+
+**TUI Command**: *model.addRevolutionCut(part, objectsToRevolve, axis, toAngle, fromAngle, objectToCut);*
+
+**Arguments**: Part + list of objects for revolution + axis + to angle + from angle + list of objects to cut from.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_cut_by_angles_result.png
+ :align: center
+
+.. centered::
+ **Revolution Cut created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_cut_by_angles` operation.
+By bounding planes
+------------------
.. image:: images/RevolutionCut2.png
:align: center
.. centered::
- Extrusion: definition by bounding planes
+ Revolution Cut: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To plane** planar face can be selected to bound revolution from one side.
+- **To offset** offset for revolution or for bounding plane if selected.
+- **From plane** planar face can be selected to bound revolution from other side.
+- **From offset** offset for revolution or for bounding plane if selected.
+- **Cut from** contains a list of objects which will but cut with the result of revolution.
+
+**TUI Command**: *model.addRevolutionCut(part, objectsToRevolve, axis, toObject, toOffset, fromObject, fromOffset, objectToCut);*
+
+**Arguments**: Part + list of objects for revolution + axis + to object + to offset + from object + from offset + list of objects to cut from.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_cut_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Revolution Cut created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_cut_by_bounding_planes` operation.
\ No newline at end of file
-.. _featureRevolution:
Revolution
==========
+Revolution feature revolves selected objects around selected axis.
+
+To perform Revolution in the active part:
+
+#. select in the Main Menu *Features - > Revolution* item or
+#. click **Revolution** button in the toolbar
+
+.. image:: images/revolution_btn.png
+ :align: center
+
+.. centered::
+ **Revolution** button
+
+The following property panel will be opened:
.. image:: images/StartSketch.png
:align: center
.. centered::
Start sketch
+After selecting one of the options property panel for Revolution will be opened with two variants:
+
+.. image:: images/revolution_by_angles.png
+ :align: left
+**By Angles** revolves objects by specifying angles.
+
+.. image:: images/revolution_by_bounding_planes.png
+ :align: left
+**By Bounding Planes** revolves objects by specifying bounding planes and angles.
+
+
+By angles
+--------
.. image:: images/Revolution1.png
:align: center
.. centered::
Revolution: definition by angles
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To angle** end angle of revolution.
+- **From angle** start angle of revolution.
+
+**TUI Command**: *model.addRevolution(part, objects, axis, angle);*
+
+**Arguments**: Part + list of objects + axis + angle.
+
+**TUI Command**: *model.addRevolution(part, objects, axis, toSize, fromSize);*
+
+**Arguments**: Part + list of objects + axis + to angle + from angle.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_by_angles_result.png
+ :align: center
+
+.. centered::
+ **Revolution created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_by_angles` operation.
+
+By bounding planes
+------------------
.. image:: images/Revolution2.png
:align: center
.. centered::
- Extrusion: definition by bounding planes
+ Revolution: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To plane** planar face can be selected to bound revolution from one side.
+- **To offset** offset for revolution or for bounding plane if selected.
+- **From plane** planar face can be selected to bound revolution from other side.
+- **From offset** offset for revolution or for bounding plane if selected.
+
+**TUI Command**: *model.addRevolution(part, objects, axis, toObject, toOffset, fromObject, fromOffset);*
+
+**Arguments**: Part + list of objects + axis + to object + to offset + from object + from offset.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Revolution created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_by_bounding_planes` operation.
\ No newline at end of file
-Revolution fuse
+Revolution Fuse
===============
+Revolution Fuse feature revolves selected objects around selected axis and fuses result from other objects.
+
+To perform Revolution Fuse in the active part:
+
+#. select in the Main Menu *Features - > Revolution Fuse* item or
+#. click **Revolution Fuse** button in the toolbar
+
+.. image:: images/revolution_fuse_btn.png
+ :align: center
+
+.. centered::
+ **Revolution Fuse** button
+
+The following property panel will be opened:
.. image:: images/StartSketch.png
:align: center
.. centered::
Start sketch
+After selecting one of the options property panel for Revolution Fuse will be opened with two variants:
+
+.. image:: images/revolution_by_angles.png
+ :align: left
+**By Angles** revolves objects by specifying angles.
+
+.. image:: images/revolution_by_bounding_planes.png
+ :align: left
+**By Bounding Planes** revolves objects by specifying bounding planes and angles.
+
+
+By angles
+--------
.. image:: images/RevolutionFuse1.png
:align: center
.. centered::
- Revolution: definition by angles
+ Revolution Fuse: definition by angles
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To angle** end angle of revolution.
+- **From angle** start angle of revolution.
+- **Fuse with** contains a list of objects which will but fuse with the result of revolution.
+
+**TUI Command**: *model.addRevolutionFuse(part, objectsToRevolve, axis, angle, objectToFuse);*
+
+**Arguments**: Part + list of objects for revolution + axis + angle + list of objects to fuse with.
+
+**TUI Command**: *model.addRevolutionFuse(part, objectsToRevolve, axis, toAngle, fromAngle, objectToFuse);*
+
+**Arguments**: Part + list of objects for revolution + axis + to angle + from angle + list of objects to fuse with.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_fuse_by_angles_result.png
+ :align: center
+
+.. centered::
+ **Revolution Fuse created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_fuse_by_angles` operation.
+By bounding planes
+------------------
.. image:: images/RevolutionFuse2.png
:align: center
.. centered::
- Extrusion: definition by bounding planes
+ Revolution Fuse: definition by bounding planes
+
+- **Base objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
+- **Axis** axis of revolution.
+- **To plane** planar face can be selected to bound revolution from one side.
+- **To offset** offset for revolution or for bounding plane if selected.
+- **From plane** planar face can be selected to bound revolution from other side.
+- **From offset** offset for revolution or for bounding plane if selected.
+- **Fuse with** contains a list of objects which will but fuse with the result of revolution.
+
+**TUI Command**: *model.addRevolutionFuse(part, objectsToRevolve, axis, toObject, toOffset, fromObject, fromOffset, objectToFuse);*
+
+**Arguments**: Part + list of objects for revolution + axis + to object + to offset + from object + from offset + list of objects to fuse with.
+
+Result
+""""""
+
+The Result of the operation will be an revolved shape:
+
+.. image:: images/revolution_fuse_by_bounding_planes_result.png
+ :align: center
+
+.. centered::
+ **Revolution Fuse created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_revolution_fuse_by_bounding_planes` operation.
\ No newline at end of file
Union
=====
-The feature Union implements a boolean operation for creation of a uniono of selected objects.
+The feature Union implements a boolean operation for creation of a union of selected objects.
-To a create boolean opration Union in the active part:
+To a create boolean operation Union in the active part:
#. select in the Main Menu *Features - > Union* item or
#. click **Union** button in the toolbar
.. centered::
**Union operation**
-Here it is necessary to select some objects.
+Here it is necessary to select some objects. Only faces with shared edges or solids with shared faces are allowed for selection.
**Apply** button creates the union shape.