SET(output ${CMAKE_CURRENT_BINARY_DIR}/conf.py)
+SET(DOC_FILES
+ Introduction.rst
+ )
+
+FILE( COPY ${DOC_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+
CONFIGURE_FILE(${input} ${output})
#sphinx-build -b html -c doc -D latex_paper_size=a4 -d doc/doctree /dn23/PPGP/vsv/SALOME730/SOURCES/PPGP_SRC/doc doc/html
--- /dev/null
+\r
+.. _introduction:\r
+\r
+\r
+Introduction to SHAPER\r
+======================\r
+\r
+Application desktop\r
+-------------------\r
+\r
+The main window of the application consists of the following components:\r
+\r
+- :ref:`main_menu`\r
+- :ref:`doc_windows`\r
+- :ref:`viewer` \r
+\r
+.. _main_menu:\r
+\r
+Main menu \r
+---------\r
+\r
+Main menu provides access to all commands of the application.\r
+\r
+.. _doc_windows:\r
+\r
+Dock windows\r
+------------\r
+\r
+Standard dock windows are: \r
+\r
+- :ref:`object_browser`\r
+- :ref:`inspection_panel`\r
+- :ref:`python console`\r
+- :ref:`property_panel`\r
+\r
+\r
+Dock windows can be placed in three dock areas:\r
+- left, \r
+- right, \r
+- bottom.\r
+\r
+By default object browser window is placed at left area of the main window and Python console is placed as at bottom area of the main menu. \r
+user can close any dock window. To open it again he can use a corresponded command from pop-up menu on static part of main menu \r
+\r
+.. _object_browser: \r
+\r
+Object browser \r
+^^^^^^^^^^^^^^\r
+\r
+.. _property_panel:\r
+\r
+Property panel\r
+^^^^^^^^^^^^^^\r
+\r
+By default Property Panel is hidden, and it is shown on operation start.\r
+\r
+By default the Property Panel is shown at left side of the main window.\r
+\r
+If Object Browser is shown at the same side then they will be tabbed\r
+\r
+.. _inspection_panel: \r
+\r
+Inspection panel \r
+^^^^^^^^^^^^^^^^\r
+\r
+.. _python console:\r
+\r
+Python console\r
+^^^^^^^^^^^^^^\r
+\r
+.. _viewer:\r
+\r
+Viewer\r
+------\r
+\r
+The application supports one OCC viewer and is able to show only one 3D space.\r
+\r
+This 3d space can be represented in several view windows.\r
+\r
+Each of view windows represents its own point of view on the 3d scene.\r
+\r
+This point of view can be modified by user with help of viewer commands like panning, zooming, scaling and so on.\r
+\r
+Architecture and functionality of viewer is very similar to OCCViewer component from SALOME. \r
Welcome to SHAPER's documentation!
==================================
+- :ref:`introduction`
+
.. toctree::
:titlesonly:
:maxdepth: 1
.. toctree::
:titlesonly:
:maxdepth: 1
-
+
+ angularCopyFeature.rst
commonFeature.rst
cutFeature.rst
extrusionCutFeature.rst
fillFeature.rst
filletFeature.rst
fuseFeature.rst
- intersectionFeature.rst
+ intersectionFeature.rst
+ linearCopyFeature.rst
+ measurementFeature.rst
partitionFeature.rst
- pipeFeature.rst
+ pipeFeature.rst
+ placementFeature.rst
recoverFeature.rst
removeSubShapesFeature.rst
revolutionCutFeature.rst
revolutionFeature.rst
revolutionFuseFeature.rst
+ rotationFeature.rst
smashFeature.rst
- transformationFeature.rst
+ symmetryFeature.rst
+ transformationFeature.rst
+ translationFeature.rst
unionFeature.rst
--- /dev/null
+
+ .. _tui_create_placement:
+
+Create Placement
+================
+
+.. literalinclude:: examples/placement.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <examples/placement.py>`
+
--- /dev/null
+
+Angular copy
+============
+
+
+.. image:: images/AngularCopy.png
+ :align: center
+
+.. centered::
+ Angular copy definition
Common
======
-To a create boolean opration Common in the active part:
+To perform a boolean opration Common in the active part:
#. select in the Main Menu *Features - > Common* item or
#. click **Common** button in the toolbar
.. centered::
**Common operation**
-It is necessary to select main objects and tool objects.
-
-**Apply** button creates the common shape.
-
-**Cancel** button cancels operation.
+- **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.
+- **See preview** button shows a result of the operation.
**TUI Command**: *model.addCommon(Part_doc, mainObjects, toolObjects)*
Cut
===
-To a create boolean opration Cut in the active part:
+To perform a boolean opration Cut in the active part:
#. select in the Main Menu *Features - > Cut* item or
#. click **Cut** button in the toolbar
.. centered::
**Cut operation**
-Here it is necessary to select main objects and tool objects.
-
-**Apply** button creates the cut shape.
-
-**Cancel** button cancels operation.
+- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be cut by tool objects.
+- **Tool Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be cut main objects.
+- **See preview** button shows a result of the operation.
**TUI Command**: *model.addCut(Part_doc, mainObjects, toolObjects)*
--- /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/Front"))
+SketchCircle_1 = Sketch_1.addCircle(20, 6, 3)
+model.do()
+Extrusion_1 = model.addExtrusion(Part_1_doc,
+ [model.selection("FACE", "Sketch_1/Face-SketchCircle_1_2f")],
+ model.selection(), -10, 0)
+Placement_1 = model.addPlacement(Part_1_doc,
+ [model.selection("SOLID", "Extrusion_1_1")],
+ model.selection("FACE", "Extrusion_1_1/From_Face_1"),
+ model.selection("FACE", "Box_1_1/Front"), False, True)
+model.do()
+model.end()
Fill
====
-To a create boolean opration Fill in the active part:
+To perform a boolean opration Fill in the active part:
#. select in the Main Menu *Features - > Fill* item or
#. click **Fill** button in the toolbar
.. centered::
**Fill operation**
-Here it is necessary to select main objects and tool objects.
-
-**Apply** button creates the fill shape.
-
-**Cancel** button cancels operation.
+- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be cut and filled by tool objects.
+- **Tool Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will cut and filled the main objects.
+- **See preview** button shows a result of the operation.
**TUI Command**: *model.addFill(Part_doc, mainObjects, toolObjects)*
Fuse
====
-To a create boolean opration Fuse in the active part:
+To perform a boolean opration Fuse in the active part:
#. select in the Main Menu *Features - > Fuse* item or
#. click **Fuse** button in the toolbar
.. centered::
**Fuse operation**
-Here it is necessary to select main objects and tool objects.
-
-**Apply** button creates the fuse shape.
-
-**Cancel** button cancels operation.
+- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be fused with tool objects.
+- **Tool Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will fused with main objects.
+- **See preview** button shows a result of the operation.
**TUI Command**: *model.addFuse(Part_doc, mainObjects, toolObjects)*
Intersection
============
-To a create boolean opration Intersection in the active part:
+To perform a boolean opration Intersection in the active part:
#. select in the Main Menu *Features - > Intersection* item or
#. click **Intersection** button in the toolbar
.. centered::
**Intersection operation**
-Here it is necessary to select some objects.
-
-**Apply** button creates the intersection shape.
-
-**Cancel** button cancels operation.
+**Base Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be intersected.
**TUI Command**: *model.addIntersection(Part_doc, Objects)*
--- /dev/null
+
+Linear copy
+===========
+
+
+.. image:: images/LinearCopy.png
+ :align: center
+
+.. centered::
+ Linear copy
--- /dev/null
+
+Measurement
+===========
+
+
+.. image:: images/Measurement1.png
+ :align: center
+
+.. centered::
+ Edge length
+
+
+
+.. image:: images/Measurement2.png
+ :align: center
+
+.. centered::
+ Distance between objects
+
+
+
+.. image:: images/Measurement3.png
+ :align: center
+
+.. centered::
+ Radius
+
+
+
+.. image:: images/Measurement4.png
+ :align: center
+
+.. centered::
+ Angle between edges
+
+
+
+.. image:: images/Measurement5.png
+ :align: center
+
+.. centered::
+ Angle by 3 points
Partition
=========
-To a create boolean opration Partition in the active part:
+To perform a boolean opration Partition in the active part:
#. select in the Main Menu *Features - > Partition* item or
#. click **Partition** button in the toolbar
.. centered::
**Partition operation**
-Here it is necessary to select several objects.
-
-**Apply** button creates the partition shape.
-
-**Cancel** button cancels operation.
+**Base Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be partitioned.
**TUI Command**: *model.addPartition(Part_doc, objects)*
--- /dev/null
+
+Placement
+=========
+
+Placement lets to place a one object relatively to another object. To make a placement:
+
+#. select in the Main Menu *Part - > Placement* item or
+#. click **Placement** button in the toolbar
+
+.. image:: images/placement_btn.png
+ :align: center
+
+.. centered::
+ **Placement** button
+
+The following property panel will be opened:
+
+.. image:: images/Placement.png
+ :align: center
+
+.. centered::
+ **Placement operation**
+
+In this property panel it is necessary:
+
+- Select objects which will be moved.
+
+- Select a face, edge or vertex as a start for moving
+
+- Select a face, edge or vertex as an end of moving
+
+- Define state of **Reverse** and **Centering** check boxes.
+
+
+
+**Apply** button creates the placement.
+
+**Cancel** button cancels the operation.
+
+**TUI Command**: *model.addPlacement(Part_doc, placeObjects, startShape, endShape, isReverse, isCentering)*
+
+**Arguments**: Part + list of objects to move + start shape + end shape + is reverse flag + is centering flag.
+
+The Result of the operation will be a new placement of selected objects:
+
+.. image:: images/CreatedPlacement.png
+ :align: center
+
+.. centered::
+ **Placement created**
+
+**See Also** a sample TUI Script of a :ref:`tui_create_placement` operation.
--- /dev/null
+
+Rotation
+========
+
+
+.. image:: images/Rotation1.png
+ :align: center
+
+.. centered::
+ Rotation by axis and angle
+
+
+.. image:: images/Rotation2.png
+ :align: center
+
+.. centered::
+ Rotation by center and points
--- /dev/null
+
+Symmetry
+========
+
+
+.. image:: images/Symmetry.png
+ :align: center
+
+.. centered::
+ Symmetry definition
--- /dev/null
+
+Translation
+===========
+
+
+.. image:: images/Translation1.png
+ :align: center
+
+.. centered::
+ Translation by axis and distance
+
+
+.. image:: images/Translation2.png
+ :align: center
+
+.. centered::
+ By vector
+
+
+.. image:: images/Translation3.png
+ :align: center
+
+.. centered::
+ By two points
-Cone
-====
+Cone segment
+============
-To create a Cone in the active part:
+To create a Cone segment in the active part:
#. select in the Main Menu *GDML - > Cone segment* item or
#. click **Cone segment** button in the toolbar.
.. centered::
**Cone property panel**
-**TUI Command**: *model.addConeSegment(Part_doc, 7, 11, 5, 8, 12, 0 , 270)*
+The property panel contains image which explains meaning of input values:
+
+- **rmin1, rmax1** - minimal and maximal radiuses of a base of the cone.
+- **rmin2, rmax2** - minimal and maximal rediuses of a top of the cone.
+- **z** is a heighth of the cone.
+- **startphi** is a starting angle of the cone segment.
+- **deltaphi** is an angle to end of the cone segment.
+
+**TUI Command**: *model.addConeSegment(Part_doc, rmin1, rmax1, rmin2, rmax2, z, startphi, deltaphi)*
**Arguments**: Part + Rmin of base + Rmax of base + Rmin of top + Rmax of top + height + start angle + end angle.
.. centered::
**Ellipsoid property panel**
-**TUI Command**: *model.addEllipsoid(Part_doc, 10, 20, 40)*
+The property panel contains image which explains meaning of input values:
+
+- **ax** is a size of the ellipsoind along X axis.
+- **by** is a size of the ellipsoind along Y axis.
+- **cz** is a size of the ellipsoind along Z axis.
+- **zcut1** is a z coordinate of a lower cut plane.
+- **zcut2** is a z coordinate of a upper cut plane.
+
+**TUI Command**: *model.addEllipsoid(Part_doc, ax, by, cz)*
**Arguments**: Part + ax + by + cz.
+++ /dev/null
-\r
-Introduction to SHAPER\r
-======================\r
-\r
-Application desktop\r
--------------------\r
-\r
-The main window of the application consists of the following components:\r
-\r
-- :ref:`main_menu`\r
-- :ref:`doc_windows`\r
-- :ref:`viewer` \r
-\r
-.. _main_menu:\r
-\r
-Main menu \r
----------\r
-\r
-Main menu provides access to all commands of the application.\r
-\r
-.. _doc_windows:\r
-\r
-Dock windows\r
-------------\r
-\r
-Standard dock windows are: \r
-\r
-- :ref:`object_browser`\r
-- :ref:`inspection_panel`\r
-- :ref:`python console`\r
-- :ref:`property_panel`\r
-\r
-\r
-Dock windows can be placed in three dock areas:\r
-- left, \r
-- right, \r
-- bottom.\r
-\r
-By default object browser window is placed at left area of the main window and Python console is placed as at bottom area of the main menu. \r
-user can close any dock window. To open it again he can use a corresponded command from pop-up menu on static part of main menu \r
-\r
-.. _object_browser: \r
-\r
-Object browser \r
-^^^^^^^^^^^^^^\r
-\r
-.. _property_panel:\r
-\r
-Property panel\r
-^^^^^^^^^^^^^^\r
-\r
-By default Property Panel is hidden, and it is shown on operation start.\r
-\r
-By default the Property Panel is shown at left side of the main window.\r
-\r
-If Object Browser is shown at the same side then they will be tabbed\r
-\r
-.. _inspection_panel: \r
-\r
-Inspection panel \r
-^^^^^^^^^^^^^^^^\r
-\r
-.. _python console:\r
-\r
-Python console\r
-^^^^^^^^^^^^^^\r
-\r
-.. _viewer:\r
-\r
-Viewer\r
-------\r
-\r
-The application supports one OCC viewer and is able to show only one 3D space.\r
-\r
-This 3d space can be represented in several view windows.\r
-\r
-Each of view windows represents its own point of view on the 3d scene.\r
-\r
-This point of view can be modified by user with help of viewer commands like panning, zooming, scaling and so on.\r
-\r
-Architecture and functionality of viewer is very similar to OCCViewer component from SALOME. \r
+++ /dev/null
-The main window of the application consists of the following components:
-
-- :ref:`main_menu`
-
-.. _main_menu:
-
-Main menu
----------
-
-Main menu provides access to all commands of the application.
-
-
-Dock windows
-------------
-
-Standard dock windows are:
-
-- :ref:`object_browser`
-- :ref:`inspection_panel`
-- :ref:`python console`
-- :ref:`property_panel`
-
-
-
-Dock windows can be placed in three dock areas:
-- left,
-- right,
-- bottom.
-
-By default object browser window is placed at left area of the main window and Python console is placed as a one tab in main menu (see Figure 2) in order to make them more compact.
-user can close any dock window. To open it again he can use a corresponded command from pop-up menu on static part of main menu
-.. _object_browser:
-
-Object browser
-^^^^^^^^^^^^^^
-
-.. _property_panel:
-
-Property panel
-^^^^^^^^^^^^^^
-
-By default Property Panel is hidden. It can be shown on operation start if XML description of this operation is not empty. By default the Property Panel is shown at left side. If Object Browser is shown at the same side then they will be tabbed
-
-.. _inspection_panel:
-
-Inspection panel
-^^^^^^^^^^^^^^^^
-
-.. _python console:
-
-Python console
-^^^^^^^^^^^^^^
-
-
-It is supposed that the application only a one OCC viewer will support. It means that the application will be able to show only a one 3d space. This 3d space can be represented in several view windows. Each of view windows will represent its own point of view on the 3d scene. This point of view can be modified by user with help of viewer commands like panning, zooming, scaling and so on.
-Architecture and functionality of viewer will be very similar to OCCViewer component from SALOME with modifications of view window look&feel.
Part plug-in
=============
-
-
-.. toctree::
- :titlesonly:
- :maxdepth: 1
-
- angularCopyFeature.rst
- linearCopyFeature.rst
- measurementFeature.rst
- placementFeature.rst
- rotationFeature.rst
- symmetryFeature.rst
- translationFeature.rst
-
+++ /dev/null
-
- .. _tui_create_placement:
-
-Create Placement
-================
-
-.. literalinclude:: examples/placement.py
- :linenos:
- :language: python
-
-:download:`Download this script <examples/placement.py>`
-
+++ /dev/null
-
-Angular copy
-============
-
-
-.. image:: images/AngularCopy.png
- :align: center
-
-.. centered::
- Angular copy definition
+++ /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/Front"))
-SketchCircle_1 = Sketch_1.addCircle(20, 6, 3)
-model.do()
-Extrusion_1 = model.addExtrusion(Part_1_doc,
- [model.selection("FACE", "Sketch_1/Face-SketchCircle_1_2f")],
- model.selection(), -10, 0)
-Placement_1 = model.addPlacement(Part_1_doc,
- [model.selection("SOLID", "Extrusion_1_1")],
- model.selection("FACE", "Extrusion_1_1/From_Face_1"),
- model.selection("FACE", "Box_1_1/Front"), False, True)
-model.do()
-model.end()
+++ /dev/null
-
-Linear copy
-===========
-
-
-.. image:: images/LinearCopy.png
- :align: center
-
-.. centered::
- Linear copy
+++ /dev/null
-
-Measurement
-===========
-
-
-.. image:: images/Measurement1.png
- :align: center
-
-.. centered::
- Edge length
-
-
-
-.. image:: images/Measurement2.png
- :align: center
-
-.. centered::
- Distance between objects
-
-
-
-.. image:: images/Measurement3.png
- :align: center
-
-.. centered::
- Radius
-
-
-
-.. image:: images/Measurement4.png
- :align: center
-
-.. centered::
- Angle between edges
-
-
-
-.. image:: images/Measurement5.png
- :align: center
-
-.. centered::
- Angle by 3 points
+++ /dev/null
-
-Placement
-=========
-
-Placement lets to place a one object relatively to another object. To make a placement:
-
-#. select in the Main Menu *Part - > Placement* item or
-#. click **Placement** button in the toolbar
-
-.. image:: images/placement_btn.png
- :align: center
-
-.. centered::
- **Placement** button
-
-The following property panel will be opened:
-
-.. image:: images/Placement.png
- :align: center
-
-.. centered::
- **Placement operation**
-
-In this property panel it is necessary:
-
-- Select objects which will be moved.
-
-- Select a face, edge or vertex as a start for moving
-
-- Select a face, edge or vertex as an end of moving
-
-- Define state of **Reverse** and **Centering** check boxes.
-
-
-
-**Apply** button creates the placement.
-
-**Cancel** button cancels the operation.
-
-**TUI Command**: *model.addPlacement(Part_doc, placeObjects, startShape, endShape, isReverse, isCentering)*
-
-**Arguments**: Part + list of objects to move + start shape + end shape + is reverse flag + is centering flag.
-
-The Result of the operation will be a new placement of selected objects:
-
-.. image:: images/CreatedPlacement.png
- :align: center
-
-.. centered::
- **Placement created**
-
-**See Also** a sample TUI Script of a :ref:`tui_create_placement` operation.
+++ /dev/null
-
-Rotation
-========
-
-
-.. image:: images/Rotation1.png
- :align: center
-
-.. centered::
- Rotation by axis and angle
-
-
-.. image:: images/Rotation2.png
- :align: center
-
-.. centered::
- Rotation by center and points
+++ /dev/null
-
-Symmetry
-========
-
-
-.. image:: images/Symmetry.png
- :align: center
-
-.. centered::
- Symmetry definition
+++ /dev/null
-
-Translation
-===========
-
-
-.. image:: images/Translation1.png
- :align: center
-
-.. centered::
- Translation by axis and distance
-
-
-.. image:: images/Translation2.png
- :align: center
-
-.. centered::
- By vector
-
-
-.. image:: images/Translation3.png
- :align: center
-
-.. centered::
- By two points