*.qml eol=lf
*.qrc eol=lf
*.py eol=lf
+*.rst eol=lf
*.bat eol=crlf
*.cmd eol=crlf
*.dll binary
#sphinx-build -b html -c doc -D latex_paper_size=a4 -d doc/doctree /dn23/PPGP/vsv/SALOME730/SOURCES/PPGP_SRC/doc doc/html
-INSTALL(FILES ${DOC_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/General DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
INSTALL(CODE "
EXECUTE_PROCESS(
-COMMAND ${SPHINX_EXECUTABLE} -Q -b html -c ${CMAKE_CURRENT_BINARY_DIR} -d doctree ${CMAKE_CURRENT_BINARY_DIR} html
+COMMAND ${SPHINX_EXECUTABLE} -b html -c ${CMAKE_CURRENT_BINARY_DIR} -d doctree ${CMAKE_CURRENT_BINARY_DIR} html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)"
)
--- /dev/null
+
+.. _introduction:
+
+Introduction to SHAPER
+======================
+
+SHAPER module of SALOME is destined for:
+
+- import and export of geometrical models in IGES, BREP, STEP and XAO formats;
+- parametric construction of geometrical objects using a wide range of functions:
+
+ - creation of complex 2D sections using :ref:`sketchPlugin` with consequent extrusion or revolution (see :ref:`featuresPlugin`);
+ - construction of model using primitives defined in :ref:`primitivesPlugin`;
+ - usage of Boolean operations (see :ref:`featuresPlugin`);
+
+- viewing geometrical objects in the OCC viewer;
+- transformation of geometrical objects using various algorithms.
+
+It is possible to easily set :ref:`parameter_usage` predefined to be used as arguments when objects are created.
+
+SHAPER module preferences are described in the :ref:`preferences` section of SALOME Help.
+
+Almost all SHAPER module functionalities are accessible via Python Interface.
+
+SHAPER module works with one study containing several documents:
+
+- partset
+- one or several parts.
+
+Only one document can be active. In complicated models partset consists of several parts. Parts in partset may be copied, positioned relatively to each other, or simply translated.
+
+A new study contains only a partset with 7 default constructions, which cannot be deleted:
+
+- one point **Origin** coinciding with the origin of the coordinate system;
+- three axes **OX**, **OY**, **OZ** coinciding with coordinate axes;
+- three planes **YOZ**, **XOZ**, **XOY** coinciding with coordinate planes.
+
+Only points, axis, planes (see :ref:`constructionPlugin`) and sketches (see :ref:`sketchPlugin`) can be added into Partset to be used in any part later.
+:ref:`parameter_usage` can be used both in Partset and any Part.
+
+A new Part can be created as described in :ref:`partPlugin`.
+
+Double click or pop-up menu can be used to activate existing document.
+
+Application desktop
+-------------------
+
+The main window of the application consists of the following components:
+
+- :ref:`main_menu`;
+- :ref:`doc_windows`;
+- :ref:`viewer`;
+- :ref:`toolbar`;
+- status bar.
+
+.. figure:: /images/main_window.png
+ :align: center
+
+ Main window of SHAPER module
+
+.. _main_menu:
+
+Main menu
+---------
+
+Main menu provides access to all commands of the application.
+
+.. figure:: /images/main_menu.png
+ :align: center
+
+ Main menu
+
+Main menu includes standard Salome items:
+
+- File;
+- Edit;
+- View;
+- Tools;
+- Window;
+- Help;
+
+and items specific for SHAPER module:
+
+- Part (see :ref:`partPlugin`);
+- Sketch (see :ref:`sketchPlugin`);
+- Construction (see :ref:`constructionPlugin`);
+- Build (see :ref:`buildPlugin`);
+- Primitives (see :ref:`primitivesPlugin`);
+- Features (see :ref:`featuresPlugin`);
+- Macros.
+
+ .. _toolbar:
+
+SHAPER toolbar
+--------------
+
+Application toolbar contains:
+
+- standard toolbar;
+- modules toolbar;
+- SHAPER toolbar.
+
+.. figure:: /images/toolbar.png
+ :align: center
+
+ Toolbars
+
+SHAPER toolbar duplicates the main menu and provides access to all commands of the application.
+
+SHAPER toolbar is separated into sections:
+
+- Part;
+- Movement;
+- Measurement;
+- Sketch;
+- Construction;
+- Build;
+- Primitives;
+- GDML;
+- Features;
+- Boolean;
+- Collections;
+- Fillet;
+- Macros.
+
+Visibility of SHAPER toolbar sections is managed using *View -> Toolbar* :ref:`main_menu` item or toolbar pop-up menu.
+
+.. _doc_windows:
+
+Dock windows
+------------
+
+Standard dock windows are:
+
+- :ref:`object_browser`
+- :ref:`inspection_panel`
+- :ref:`hidefaces_panel`
+- :ref:`python console`
+- :ref:`property_panel`
+
+Dock windows can be placed in three dock areas using drag-and-drop:
+
+- left,
+- right,
+- bottom.
+
+By default Object browser window is placed at the left dock area, Inspection panel at the right dock area and Python console at the bottom dock area of the main window.
+
+Property Panel is hidden.
+
+Property Panel is shown on operation start in left dock area of the main window by default.
+
+If Object browser is shown at the same side then they will be tabbed.
+
+Each dock window can be closed using **Cross** window button and opened again using a corresponding command from *View - Windows* :ref:`main_menu` or alternatively using pop-up menu.
+
+.. figure:: /images/popup_menu.png
+ :align: center
+
+ Pop-up menu for visibility of windows and toolbars
+
+.. _object_browser:
+
+Object browser
+^^^^^^^^^^^^^^
+
+Object browser contains all documents created in the current study.
+
+Each document includes standard branches where created objects are placed.
+
+Documents with branches are shown in Tree View.
+
+.. figure:: /images/object_browser.png
+ :align: center
+
+ **Object browser**: Partset active
+
+Partset includes three branches:
+
+- Parameters;
+- Constructions;
+- Features
+
+Part includes the following branches:
+
+- Parameters;
+- Constructions;
+- Results;
+- Fields;
+- Groups;
+- Features.
+
+New part contains only 3 empty branches:
+
+- Parameters;
+- Constructions;
+- Results.
+
+Features are placed one after another in the active document with default names and their results are placed into the corresponding branch.
+
+Examples of default names assigned automatically for :ref:`box_feature` are:
+
+* **Box_1**, **Box_2**, ... for Feature;
+* **Box_1_1**, **Box_2_1**, ... for Result.
+
+Note, that a default branch is added into Tree View when the first feature of this type is created.
+
+Note, that the result used in feature as argument is removed.
+
+This child result can be restored using **Recover** feature.
+
+Each feature, result, construction, group, field, parameter can be renamed using *Rename* pop-up menu command.
+
+.. figure:: /images/popup_menu_object_browser_feature.png
+ :align: center
+
+ **Feature** pop-up menu
+
+.. figure:: /images/popup_menu_object_browser_result.png
+ :align: center
+
+ **Result** pop-up menu
+
+.. figure:: /images/popup_menu_object_browser_construction.png
+ :align: center
+
+ **Construction** pop-up menu
+
+The order of features can be changed using *Move to the end* and *Move to the end and split* pop-up menu commands. They work only for Group features. The selected group or several groups will be moved to the end of features list. The *Move to the end and split* also splits the resulting group in several groups: one group per one selection.
+
+Folders can be used to arrange long Tree View for features.
+
+.. figure:: /images/object_browser_folder.png
+ :align: center
+
+ **Object browser** with folder Dome: Part_1 active
+
+*Insert a folder before* pop-up menu command creates a new empty folder before the selected feature. The folder can be renamed.
+
+Features placed after/before the created folder can be moved into the folder using *Move into the previous folder* / *Move into the next folder* pop-up menu command.
+
+This allows to decrease the length of feature list.
+
+Features can be removed from the folder using *Move out before the folder* / *Move out after the folder* pop-up menu command.
+
+*Clean history* pop-up menu command looks for features that do not participate in other features.
+
+**Clean history** dialog box shows a list of unused features. After confirmation by click **Yes** button unused features are removed.
+
+.. figure:: /images/clean_history.png
+ :align: center
+
+ **Clean history** dialog box
+
+*Select result* and *Select parent feature* pop-up menu commands help to navigate along Tree View.
+
+A feature and its result can be deleted using *Delete* pop-up menu command.
+
+Note that all features using the removed feature and their results will be removed simultaneously.
+
+**Delete feature** dialog box shows the list of features to be removed. After confirmation by click **Yes** button all these features are removed.
+
+.. figure:: /images/delete_feature.png
+ :align: center
+
+ **Delete feature** dialog box
+
+.. _property_panel:
+
+Property panel
+^^^^^^^^^^^^^^
+
+.. |ok_btn| image:: /images/button_ok.png
+.. |cancel_btn| image:: /images/button_cancel.png
+.. |help_btn| image:: /images/button_help.png
+
+Property panel consists of two parts:
+
+- controls a container for input of parameters for the current operation;
+- buttons panel containing standard buttons:
+
+ | |ok_btn| **Ok/Apply** executes operation with defined parameters,
+ | |cancel_btn| **Cancel/Close** calls **Abort operation** dialog box to confirm operation abort,
+ | |help_btn| **Help** calls User's guide opened on page describing the current operation.
+
+ .. figure:: /images/abort_operation.png
+ :align: center
+
+ **Abort operation** dialog box
+
+|ok_btn| **OK/Apply** button is disabled if not all input parameters are defined or some errors are found. Error is shown as tooltip and in status bar.
+
+.. _inspection_panel:
+
+Inspection panel
+^^^^^^^^^^^^^^^^
+
+Inspection panel provides the list of types and quantities of all topological entities, composing the selected result, construction or feature.
+
+.. figure:: /images/inspection_panel.png
+ :align: center
+
+ **Inspection panel** for default Box
+
+**Object** displays name of the selected result, construction or feature.
+
+**Type** characterizes the whole shape.
+
+The information about Point, Axis or Edge additionally shows coordinates of point / end points.
+
+.. figure:: /images/inspection_panel_line.png
+ :align: center
+
+ **Inspection panel** for Axis
+
+The information about Plane, Face additionally shows coordinates of center point and direction of normal.
+
+.. figure:: /images/inspection_panel_face.png
+ :align: center
+
+ **Inspection panel** for Face
+
+.. _hidefaces_panel:
+
+Hide Faces panel
+^^^^^^^^^^^^^^^^
+
+**Hide Faces** panel makes possible to hide temporary faces of any displayed object. **Hide Faces** panel looks like following:
+
+.. figure:: /images/hide_faces_panel.png
+ :align: center
+
+ **Hide Faces** panel
+
+- If this panel is activated it "listens" user selection.
+- If a face is selected then its name will be shown in the panel's list and hidden in the viewer.
+- If user selects a group of faces (or at least a one face of this group) then whole group will be hidden and also all faces from all objects referenced by this group.
+- If user will display the hidden group again (by a show operation) then the group will be removed from Hide Faces list and visibility of all referenced faces will be restored.
+
+Also it is possible do not to hide faces, but make them transparent. For this purpose **"Transparent"** check-box can be used. Value of the transparency can be changed in **Visualization** tab of **Preferences** dialog box.
+Closing of **Hide Faces** panel restores visibility state of all objects. If it is necessary to deactivete the **Hide Faces** panel (preserving the current display state) then user has to press **"Esc"** button.
+
+.. _python console:
+
+Python console
+^^^^^^^^^^^^^^
+
+Python console interpreters Python commands entered manually.
+
+In particular, it is possible to load the python script:
+
+*execfile(r"/dn48/newgeom/data/example.py")*
+
+Pop-up menu gives the possibility to:
+
+- Copy the selected text to clipboard;
+- Paste the text from clipboard to Python console ;
+- Clear Python console;
+- Dump commands from console into the specified file;
+- Start/Stop writing log into the specified file.
+
+.. figure:: /images/python_console_popup.png
+ :align: center
+
+ Pop-up menu of Python console
+
+.. _viewer:
+
+Viewer
+------
+
+The application supports one instance of OCC 3D viewer and is able to show only one 3D space.
+
+This 3D space can be represented in several view windows. New view window can be created using **Clone view** button in viewer toolbar.
+
+Each view windows shows its own point of view on the 3D scene.
+
+This point of view can be modified using viewer commands: **Panning**, **Zooming**, **Scaling**, etc.
+
+.. figure:: /images/2_viewers.png
+ :align: center
+
+ Two view windows
+
+The description of OCC 3D Viewer architecture and functionality is provided in GUI module user's guide in chapter **OCC 3D Viewer**.
+
+.. _parameter_usage:
+
+Parameters
+----------
+
+Model parametrization can be done using parameters.
+
+A parameter can be created in the active partset or part by:
+
+- :ref:`parameter`;
+- :ref:`parameters`;
+- :ref:`parameter_expression`.
+
+Any argument in features can be defined as parameter or expression containing parameters.
+
+The list of features using parameters is given in **Parameters** dialog box:
+
+ .. figure:: /images/parameters_feature.png
+ :align: center
+
+ Parameters dialog box
+
+If a parameter value is changed, then all features where it is used are rebuilt.
+
+A parameter name should be unique in the active document.
+
+However, partset and part can have parameters with the same name. If parameter names in Partset and Part are identical, then Part parameter has a higher priority and its value will be used in the features of this part.
+
+In contrast to features (see :ref:`object_browser`), there is an additional option when parameters are deleted.
+
+.. figure:: /images/delete_parameter.png
+ :align: center
+
+ Delete parameter
+
+After clicking **Replace** button, the selected parameter is removed but its parent parameters and features are not removed. The deleted parameter is replaced by its value.
+
+.. _parameter_expression:
+
+Create parameter on fly
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Parameter can be created during feature creation simply by writing *variable=expression* in any editbox.
+
+After feature validation a new parameter with the given name **variable** and value equal to the evaluated expression appears in object browser under **Parameters** in the active partset or part.
+
+.. _preferences:
+
+SHAPER preferences
+------------------
+
+Description of General application preferences and **Preferences** dialog box is provided in GUI module user's guide in chapter **Setting Preferences**.
+
+SHAPER preferences define visualization of objects, visualization during selection, edition. New preferences can be used right after modification or later after activation of SHAPER module.
+
+To call **Preferences** dialog box:
+
+#. select in the Main Menu *File - > Preferences* item or
+#. use **Ctrl+P** shortcut.
+
+SHAPER preferences contains the following tabs:
+
+- :ref:`visualization_preferences`;
+- :ref:`plugins_preferences`;
+- :ref:`shortcuts_preferences`;
+- :ref:`windows_preferences`.
+- :ref:`sketch_preferences`.
+- :ref:`viewer_preferences`.
+
+Visualization tab is activated by default when **Preferences** dialog box is opened in the active SHAPER module.
+
+Other tabs are activated by click on tab header.
+
+.. _visualization_preferences:
+
+Visualization tab
+^^^^^^^^^^^^^^^^^
+
+This tab defines presentation of objects displayed in OCC 3D viewer.
+
+.. figure:: /images/visualization_preferences.png
+ :align: center
+
+ **Preferences**: Visualization tab
+
+**Input fields**:
+
+- **Selection color** defines a color for selected objects;
+- **Result color** selects default shading color for objects from **Results** branch;
+- **Group color** selects default color for objects from **Groups** branch;
+- **Construction color** selects default color for objects from **Constructions** branch;
+- **Part color** selects default color for parts shown in Partset;
+- **Field color** selects default color for objects from **Fields** branch;
+- **Body deflection coefficient** defines default deflection coefficient for objects from **Results** branch. A smaller coefficient provides better quality of a shape in the viewer;
+- **Construction deflection coefficient** defines default deflection coefficient for objects from **Constructions** branch. A smaller coefficient provides better quality of a shape in the viewer;
+- **Reference shape wireframe color in operation** selects default color used for wireframe visualization of objects used in active operation;
+- **Result shape wireframe color in operation** selects default color used for wireframe visualization of result in active operation. Click **See preview** button to show result;
+- **Multi selector item color in operation** selects default color used for visualization of objects selected in property panel to distinguish them among all objects used in active operation;
+- **Color of removed feature in operation** selects default color used for visualization of sketch entities to be removed during **Trim/Split** operations;
+- **Color of sketch plane** selects default shading color for sketch plane;
+- **Hidden faces transparency** defines default transparency value for hidden faces;
+- **Dimension arrow size** defines default size of arrows for extension line showing dimensional constraint;
+- **Dimension font** defines font used for value of dimensional constraint;
+- **Dimension value size** defines default size of value for dimensional constraint;
+- **Sketch dimension color** defines default color of dimensional constraint;
+- **Construction plane color** selects default color for Construction planes;
+- **Sketch entity color** selects default color for sketch objects;
+- **Sketch external entity color** selects default color for external objects selected as reference during sketch creation/edition;
+- **Sketch auxiliary entity color** selects default color for sketch auxiliary objects;
+- **Sketch overconstraint color** selects default color for a sketch with redundant constraints;
+- **Sketch fully constraint color** selects default color for a sketch with zero degrees of freedom.
+
+To redefine any color click on the corresponding line to access **Select color** dialog box
+
+.. figure:: /images/select_color.png
+ :align: center
+
+ **Preferences**: **Select color** dialog box
+
+Preferences for sketch are applicable during sketch creation/edition operation.
+
+.. _plugins_preferences:
+
+Plugins tab
+^^^^^^^^^^^
+Plugins tab defines folders where plugins and resources are located.
+
+.. figure:: /images/plugins_preferences.png
+ :align: center
+
+ **Preferences**: Plugins tab
+
+**Input fields**:
+
+- **Default path** selects default folder where plugins are located. Click on **Open** button opens standard **Find directory** dialog box to navigate to desired folder;
+
+- **Import initial directory** selects default folder where resources are located. Click on **Open** button opens standard **Find directory** dialog box to navigate to desired folder.
+
+.. figure:: /images/open_button.png
+ :align: center
+
+ **Open** button
+
+.. figure:: /images/find_directory.png
+ :align: center
+
+ **Find directory** dialog box
+
+
+.. _shortcuts_preferences:
+
+Shortcuts tab
+^^^^^^^^^^^^^
+
+Shortcuts tab defines shortcut keys for different operations.
+
+.. figure:: /images/shortcuts_preferences.png
+ :align: center
+
+ **Preferences**: Shortcuts tab
+
+- **Add parameter in parameters manager dialog** defines shortcut keys for adding parameter in parameters manager dialog box.
+
+.. _windows_preferences:
+
+Windows tab
+^^^^^^^^^^^
+
+Windows tab contains definitions for the module windows management.
+
+.. figure:: /images/windows_preferences.png
+ :align: center
+
+ **Preferences**: Windows tab
+
+- **Use HideFaces panel in operation** if the checkbox is checked then HideFaces panel will be launched automatically on launching an operation where using of this panel is considered.
+
+.. _sketch_preferences:
+
+Sketch tab
+^^^^^^^^^^
+
+Sketch tab defines properties of coordinate planes shown for selection of sketch plane when no convenient objects are shown in OCC 3D viewer.
+
+.. figure:: /images/sketch_preferences.png
+ :align: center
+
+ **Preferences**: Sketch tab
+
+**Input fields**:
+
+- **Size** defines size of coordinate planes;
+- **Thickness** defines thickness of coordinate plane borders;
+- **Rotate to plane when selected** check-box turns on/off automatic switch the viewer to the top view for the selected sketch plane.
+- **Angular tolerance** defines defines an angular tolerance for automatic creation of horizontal and vertical constraints;
+- **Default spline weight** defines default weight for B-spline nodes during creation. The default value can be changed by editing of the spline;
+- **Cursor for sketch operation** defines a cursor which indicates a launched sketcher sub-operation.
+- **Create sketch entities by dragging** defines a style of sketch etities creation. It concerns creation of lines, rectangles, circles, arcs, ellipses, elliptic arcs. If it is switched ON then points of objects have to be defined by mouse press - mouse move - mouse release. Otherwise every point of an object has to be defined by mouse click;
+
+.. _viewer_preferences:
+
+Viewer tab
+^^^^^^^^^^
+
+Viewer tab defines selection in OCC 3D viewer properties.
+
+.. figure:: /images/viewer_preferences.png
+ :align: center
+
+ **Preferences**: Viewer tab
+
+**Input fields**:
+
+- **Default Selection** defines objects to be selected by mouse click in OCC 3D viewer:
+
+ - **Faces** check-box turns on/off selection of faces;
+ - **Edges** check-box turns on/off selection of edges;
+ - **Vertices** check-box turns on/off selection of vertices;
+
+- **Selection sensitivity** defines size of area around object in pixels, in which mouse click selects object inside this area:
+
+ - **Vertex** defines selection sensitivity for vertices;
+ - **Edge** defines selection sensitivity for edges.
+
+.. _toolbars_management:
+
+Toolbars management
+-------------------
+
+.. _toolbars_dialog:
+
+**Toolbars** dialog box
+^^^^^^^^^^^^^^^^^^^^^^^
+To edit the current tool bars structure select in the Main Menu *Edit - > Edit toolbars* item.
+The following dialog box with existing toolbars appears:
+
+.. figure:: /images/Toolbars.png
+ :align: center
+
+ **Toolbars** dialog box
+
+**Input fields**:
+
+- **Toolbars** window contains list of toolbars names. Number of commands in each tool bar is shown in brackets.
+- **Add** button creates a new toolbar. Click on **Add** button opens :ref:`create_toolbar`;
+- **Edit** button calls :ref:`edit_toolbar` for currently selected tool bar;
+- **Delete** button removes currently selected tool bar. Click on **Delete** button opens warning dialog box. After confirmation by click **Yes** button the selected toolbar is deleted. Click **No** button cancels removing of the selected toolbar;
+- **Reset** button restores modified tool bars structure to default state;
+- **OK** button closes the dialog box, stores result of tool bars edition and updates Shaper tool bars;
+- **Cancel** button closes the dialog box without modification of tool bars.
+
+.. figure:: /images/delete_toolbar.png
+ :align: center
+
+ Warning dialog box
+
+.. _create_toolbar:
+
+**Create toolbar** dialog box
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**Input fields** of **Create toolbar** dialog box:
+
+.. figure:: /images/create_toolbar.png
+ :align: center
+
+ **Create toolbar** dialog box
+
+- **Name of a new toolbar** defines name of the new tool bar. The name of tool bar has to be unique. If user defines a not unique name then a warning appears and a new tooolbar with not unique name is not created;
+- **Ok** button closes the dialog box and add a new tool bar of the module into **Toolbars** window;
+- **Cancel** button closes the dialog box without addition of a new tool bar.
+
+.. figure:: /images/name_toolbar.png
+ :align: center
+
+ **Warning** dialog box
+
+.. _edit_toolbar:
+
+**Edit toolbar** dialog box
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+**Input fields** of **Edit toolbar** dialog box:
+
+.. figure:: /images/EditToolbar.png
+ :align: center
+
+ **Edit toolbar** dialog box
+
+- **Toolbar name** non-editable field displays name of modified tool bar;
+- **Out of toolbars** window contains list of commands which are not included into any tool bar and separator definition "------";
+- **In the toolbar** window contains list of commands which are defined in the current tool bar. Items in this window are listed according to order of commands in the toolbar;
+- **Right arrow** button transfers currently selected item from **Out of toolbars** window to **In the toolbar** window and puts new item before the selected item in **In the toolbar** window.
+ If there is no selected item in **In the toolbar** window then new item will be added at the end of items list. In order to clear current selection it is necessary to click in empty space of the window.
+- **Left arrow** button transfers currently selected item from **In the toolbar** window into **Out of toolbars** window;
+- **Up** and **Down** buttons change position of selected command in **In the toolbar** window;
+- **Ok** button closes the dialog box, stores result of edition;
+- **Cancel** button closes the dialog box without modification of tool bar content.
--- /dev/null
+
+ .. _tui_tutorial:
+
+Tutorial TUI Script
+===================
+
+.. literalinclude:: tutorial.py
+ :linenos:
+ :language: python
+
+:download:`Download this script <tutorial.py>`
\ No newline at end of file
--- /dev/null
+
+.. _tutorial:
+
+
+Tutorial
+========
+
+This exercise illustrates how to create screw-nut shape from scratch.
+
+
+Step 1. Sketch
+--------------
+
+At this step we will create a regular hexagon.
+
+- Create a :ref:`new-part` via Main Menu *Part - > New part*
+- Start :ref:`Sketch <sketchPlugin>` creation via Main Menu *Sketch - > Sketch*
+- Set **Size of the view** parameter equal to 250 in the Sketch dialog
+- Select **XOY** plane in the view
+- Click **Set plane view** button in the Sketch property panel
+
+.. figure:: /images/tutorial1_1.png
+ :align: center
+
+ Skecth plane XOY
+
+- Start :ref:`Line <sketchLine>` creation via Main Menu *Sketch - > Line*
+- Pick 3 points in the view one by one and select the first one at the end to get a triangle:
+
+.. figure:: /images/tutorial1_2.png
+ :align: center
+
+ 3 Lines forming a triangle
+
+- Hide trihedron via **Show/Hide trihedron** button in viewer toolbar
+- Select **Origin** object from **Part set / Constructions** folder in the object browser
+- Click on the eye icon on the left of the origin item to show it in the view
+- Select both origin and the bottom vertex of the triangle in the view (use **Shift** key for multi-selection)
+
+.. figure:: /images/tutorial1_3.png
+ :align: center
+
+ Origin and triangle
+
+- Create :ref:`Coincident <sketchCoincident>` constraint via **Coincident** button in Sketch toolbar
+
+.. figure:: /images/tutorial1_4.png
+ :align: center
+
+ Triangle vertex coincident with origin
+
+- Show trihedron
+- Select both **OY** axis and the upper side of the triangle in the view
+- Create :ref:`Perpendicular <sketchPerpendicular>` constraint via **Pependicular** button in Sketch toolbar
+
+.. figure:: /images/tutorial1_5.png
+ :align: center
+
+ Upper triangle side perpendicular to OY axis
+
+- Select the left and the upper side of the triangle
+- Create :ref:`Equal <sketchEqual>` constraint via **Equal** button in Sketch toolbar
+- Make the upper and the right sides equal length in the same way
+
+.. figure:: /images/tutorial1_6.png
+ :align: center
+
+ Equilateral triangle
+
+- Select the left side of the triangle
+- Check **Auxiliary** check box in the property panel and click **Apply** button
+
+.. figure:: /images/tutorial1_7.png
+ :align: center
+
+ Line property panel
+
+- Make the right side auxiliary in the same way
+
+.. figure:: /images/tutorial1_8.png
+ :align: center
+
+ The lateral sides are auxiliary
+
+- Start creation of :ref:`Angular copy <sketchAngularCopy>` feature via **Angular copy** button in Sketch toolbar
+- Select the upper side of the triangle for **Segments** parameter in the property panel
+- Select origin in the view as a center of rotation
+- Set **Total number** of objects equal to 6
+
+.. figure:: /images/tutorial1_9.png
+ :align: center
+
+ Angular copy parameters
+
+- Click **Apply** button
+
+.. figure:: /images/tutorial1_10.png
+ :align: center
+
+ Regular hexagon
+
+- Select the upper side of the hexagon
+- Start creation of :ref:`Length <sketchLength>` constraint via **Length** button in Sketch toolbar
+- Set length expression equal to "a=115.4" and press **Enter**
+
+.. figure:: /images/tutorial1_11.png
+ :align: center
+
+ Fully fixed regular hexagon
+
+- Click **Apply** button in the *Skecth* property panel to finish the sketch creation
+
+.. figure:: /images/tutorial1_12.png
+ :align: center
+
+ Finished Sketch
+
+- Check item corresponding to the created parameter **a** under **Part_1 / Parameters** node
+
+.. figure:: /images/tutorial1_13.png
+ :align: center
+
+ Parameter created during the Sketch operation
+
+Step 2. Polyline
+----------------
+
+- Start :ref:`Parameter <parameter>` creation via Main Menu *Part - > Parameter*
+- Set parameter name = "h", set parameter expression = "90", set comment = "nut height"
+
+.. figure:: /images/tutorial2_0.png
+ :align: center
+
+ Creation of parameter h = 90
+
+- Click **Apply** button to finish parameter creation
+- Start :ref:`Point <constructionPoint>` creation via Main Menu *Construction - > Point*
+- Set x = 50, y = 0, z = 0
+
+.. figure:: /images/tutorial2_1.png
+ :align: center
+
+ Construction of point (50, 0, 0)
+
+- Click **Apply** button to finish point creation
+- Create points (80, 0, 0), (112, 0, 13), (112, 0, 48), (80, 0, 63), (80, 0, h), (50, 0, h) in the same way
+- Select the created points in the object browser under **Part_1 / Constructions** node
+- Click right mouse button and select **Color...** item in the popup menu
+- Select blue color and click **OK** button
+
+.. figure:: /images/tutorial2_2.png
+ :align: center
+
+ Points created from scratch
+
+- Start :ref:`Polyline <buildPolyline>` creation via Main Menu *Build - > Polyline*
+- Select all the 7 points (use **Shift** key for multi-selection)
+- Check **Closed** check box
+
+.. figure:: /images/tutorial2_3.png
+ :align: center
+
+ Creation of closed polyline from 7 points
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial2_4.png
+ :align: center
+
+ Closed Polyline
+
+Step 3. Face
+------------
+
+- Start :ref:`Face <buildFace>` creation via Main Menu *Build - > Face*
+- Select **Polyline_1_1** in the object browser under **Part_1 / Results** node
+
+.. figure:: /images/tutorial3_1.png
+ :align: center
+
+ Construction of face from a polyline
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial3_2.png
+ :align: center
+
+ Face
+
+Step 4. Revolution
+------------------
+
+- Start :ref:`Revolution <featureRevolution>` creation via Main Menu *Features - > Revolution*
+- Select the face created at step 3 in the view
+- Click on axis input field in the property panel and select **OZ** axis in the view
+
+.. figure:: /images/tutorial4_1.png
+ :align: center
+
+ Revolution around OZ by 360 degrees
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial4_2.png
+ :align: center
+
+ Solid created by rotation of face
+
+Step 5. Extrusion
+-----------------
+
+- Start :ref:`Extrusion <featureExtrusion>` creation via Main Menu *Features - > Extrusion*
+- Select the hexagon created at step 1
+- Click on axis input field in the property panel and select **OZ** axis in the view
+- Check **By bounding planes and offsets option**
+- Select the bottom face of the revolution shape as **From** plane
+- Select the top face of the revolution shape as **To** plane
+
+.. figure:: /images/tutorial5_1.png
+ :align: center
+
+ Extrusion along OZ axis by bounding planes
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial5_2.png
+ :align: center
+
+ Solid created by extrusion of sketch
+
+Step 6. Common
+--------------
+
+- Start :ref:`Common <featureCommon>` creation via Main Menu *Features - > Common*
+- Select the extrusion and the revolution in the object browser under **Part_1 / Results** node (use **Shift** key for multi-selection)
+
+.. figure:: /images/tutorial6_1.png
+ :align: center
+
+ Common creation
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial6_2.png
+ :align: center
+
+ The revolution and the extrusion common part
+
+Step 7. Fillet
+--------------
+
+- Start :ref:`Fillet <featureFillet>` creation via Main Menu *Features - > Fillet*
+- Select the edge
+
+.. figure:: /images/tutorial7_1.png
+ :align: center
+
+ Select edge for a Fillet
+
+- Select **Radius** parameter equal to 10
+
+.. figure:: /images/tutorial7_2.png
+ :align: center
+
+ Fillet with radius = 10
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial7_3.png
+ :align: center
+
+ Fillet
+
+Step 8. Box
+-----------
+
+- Click right mouse button in the view and select **Hide all** item in the popup menu to clear the view
+- Start :ref:`Box <box_feature>` creation via Main Menu *Primitives - > Box*
+- Set **DX** = 10, **DY** = 120, **DZ** = 20
+
+.. figure:: /images/tutorial8_1.png
+ :align: center
+
+ Box creation
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial8_2.png
+ :align: center
+
+ Box
+
+Step 9. Translation
+-------------------
+
+- Start :ref:`Translation <featureTranslation>` creation via Main Menu *Part - > Translation*
+- Check **By X, Y and Z dimensions** option on the top of the property panel
+- Select the box in the view
+- Set **DX** = -10, **DY** = 20, **DZ** = 70
+
+.. figure:: /images/tutorial9_1.png
+ :align: center
+
+ Box translation
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial9_2.png
+ :align: center
+
+ Translated Box
+
+Step 10. Angular Copy
+---------------------
+
+- Start :ref:`Angular Copy <featureAngularCopy>` creation via Main Menu *Part - > Angular Copy*
+- Select the box in the view
+- Click on axis input field in the property panel and select **OZ** axis in the view
+- Set **Nb copies** parameter equal to 6
+
+.. figure:: /images/tutorial10_1.png
+ :align: center
+
+ Angular Copy around OZ
+
+- Click **Apply** button in the property panel
+
+.. figure:: /images/tutorial10_2.png
+ :align: center
+
+ Copied Box
+
+Step 11. Cut
+------------
+
+- Select **Fillet_1_1** item in the object browser under **Part_1 / Results** node
+- Click on the eye icon on the left of the result item to show it in the view
+- Start :ref:`Cut <featureCut>` creation via Main Menu *Features - > Cut*
+- Select the fillet object in the view as a main object
+- Select the angular copy object in the object browser as a tool object
+
+.. figure:: /images/tutorial11_1.png
+ :align: center
+
+ Cut creation
+
+- Click **Apply** button in the property panel
+- Select the created **Cut_1_1** item in the object browser under **Part_1 / Results** node
+- Click right mouse button and select **Color...** item in the popup menu
+- Set (R: 255, G: 214, B: 0) color and click **OK** button
+
+.. figure:: /images/tutorial11_2.png
+ :align: center
+
+ Cut
+
+**See Also** a :ref:`TUI Script <tui_tutorial>` reproducing all the tutorial steps.
--- /dev/null
+from SketchAPI import *
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+
+# Parameters
+model.addParameter(Part_1_doc, "h", "90", "nut height")
+model.addParameter(Part_1_doc, "a", "115.4")
+
+# Step1. Sketch.
+Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
+SketchLine_1 = Sketch_1.addLine(-57.69999999999999, 99.93933159672423, 57.70000000000001, 99.93933159672423)
+SketchLine_2 = Sketch_1.addLine(57.70000000000001, 99.93933159672423, 0, 0)
+SketchLine_2.setAuxiliary(True)
+SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
+SketchLine_3 = Sketch_1.addLine(0, 0, -57.69999999999999, 99.93933159672423)
+SketchLine_3.setAuxiliary(True)
+SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
+SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchLine_3.endPoint())
+SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "PartSet/Origin"), False)
+SketchPoint_1 = SketchProjection_1.createdFeature()
+SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchAPI_Point(SketchPoint_1).coordinates())
+SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OY"), False)
+SketchLine_4 = SketchProjection_2.createdFeature()
+SketchConstraintPerpendicular_1 = Sketch_1.setPerpendicular(SketchLine_4.result(), SketchLine_1.result())
+SketchConstraintEqual_1 = Sketch_1.setEqual(SketchLine_3.result(), SketchLine_1.result())
+SketchConstraintEqual_2 = Sketch_1.setEqual(SketchLine_2.result(), SketchLine_1.result())
+SketchMultiRotation_1 = Sketch_1.addRotation([SketchLine_1.result()], SketchAPI_Line(SketchLine_4).startPoint(), 360, 6, True)
+[SketchLine_5, SketchLine_6, SketchLine_7, SketchLine_8, SketchLine_9] = SketchMultiRotation_1.rotated()
+SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_1.result(), "a")
+model.do()
+
+# Step2. Polyline.
+Point_2 = model.addPoint(Part_1_doc, 50, 0, 0)
+Point_2.result().setColor(0, 0, 255)
+Point_3 = model.addPoint(Part_1_doc, 80, 0, 0)
+Point_3.result().setColor(0, 0, 255)
+Point_4 = model.addPoint(Part_1_doc, 112, 0, 13)
+Point_4.result().setColor(0, 0, 255)
+Point_5 = model.addPoint(Part_1_doc, 112, 0, 48)
+Point_5.result().setColor(0, 0, 255)
+Point_6 = model.addPoint(Part_1_doc, 80, 0, 63)
+Point_6.result().setColor(0, 0, 255)
+Point_7 = model.addPoint(Part_1_doc, "80", "0", "h")
+Point_7.result().setColor(0, 0, 255)
+Point_8 = model.addPoint(Part_1_doc, "50", "0", "h")
+Point_8.result().setColor(0, 0, 255)
+Polyline_1_objects = [model.selection("VERTEX", "Point_1"), model.selection("VERTEX", "Point_2"),
+ model.selection("VERTEX", "Point_3"), model.selection("VERTEX", "Point_4"),
+ model.selection("VERTEX", "Point_5"), model.selection("VERTEX", "Point_6"),
+ model.selection("VERTEX", "Point_7")]
+Polyline_1 = model.addPolyline3D(Part_1_doc, Polyline_1_objects, True)
+
+# Step3. Face.
+Face_1 = model.addFace(Part_1_doc, [model.selection("WIRE", "Polyline_1_1")])
+
+# Step4. Revolution.
+Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("FACE", "Face_1_1")], model.selection("EDGE", "PartSet/OZ"), 360, 0)
+
+# Step5. Extrusion.
+Wire = model.selection("WIRE", "Sketch_1/Face-SketchLine_5r-SketchLine_6r-SketchLine_7r-SketchLine_8r-SketchLine_9r-SketchLine_1r_wire")
+To = model.selection("FACE", "Revolution_1_1/Generated_Face&Point_4/Point_4")
+From = model.selection("FACE", "Revolution_1_1/Generated_Face&Point_1/Point_1")
+
+Extrusion_1 = model.addExtrusion(Part_1_doc, [Wire], model.selection("EDGE", "PartSet/OZ"), To, 0, From, 0)
+
+# Step6. Common.
+Common_1 = model.addCommon(Part_1_doc, [model.selection("SOLID", "Revolution_1_1"), model.selection("SOLID", "Extrusion_1_1")])
+
+# Step7. Fillet.
+Fillet_1 = model.addFillet(Part_1_doc, [model.selection("EDGE", "[Revolution_1_1/Generated_Face&Point_6/Point_6][Common_1_1/Modified_Face&Point_7/Point_7]")], 10)
+
+# Step8. Box.
+Box_1 = model.addBox(Part_1_doc, 20, 120, 20)
+
+# Step9. Translation.
+Translation_1 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_1_1")], -10, 20, 70)
+
+# Step10. Angular Copy.
+AngularCopy_1 = model.addMultiRotation(Part_1_doc, [model.selection("SOLID", "Translation_1_1")], model.selection("EDGE", "PartSet/OZ"), 6)
+
+# Step11. Cut.
+Cut_1 = model.addCut(Part_1_doc, [model.selection("SOLID", "Fillet_1_1")], [model.selection("COMPOUND", "AngularCopy_1_1")])
+Cut_1.result().setColor(255, 214, 0)
+
+model.end()
+++ /dev/null
-\r
-.. _introduction:\r
-\r
-\r
-Introduction to SHAPER\r
-======================\r
-\r
-SHAPER module of SALOME is destined for:\r
-\r
-- import and export of geometrical models in IGES, BREP, STEP and XAO formats;\r
-- parametric construction of geometrical objects using a wide range of functions:\r
- \r
- - creation of complex 2D sections using :ref:`sketchPlugin` with consequent extrusion or revolution (see :ref:`featuresPlugin`);\r
- - construction of model using primitives defined in :ref:`primitivesPlugin`;\r
- - usage of Boolean operations (see :ref:`featuresPlugin`);\r
- \r
-- viewing geometrical objects in the OCC viewer;\r
-- transformation of geometrical objects using various algorithms.\r
-\r
-It is possible to easily set :ref:`parameter_usage` predefined to be used as arguments when objects are created.\r
-\r
-SHAPER module preferences are described in the :ref:`preferences` section of SALOME Help.\r
-\r
-Almost all SHAPER module functionalities are accessible via Python Interface.\r
-\r
-SHAPER module works with one study containing several documents:\r
-\r
-- partset\r
-- one or several parts.\r
-\r
-Only one document can be active. In complicated models partset consists of several parts. Parts in partset may be copied, positioned relatively to each other, or simply translated.\r
- \r
-A new study contains only a partset with 7 default constructions, which cannot be deleted:\r
- \r
-- one point **Origin** coinciding with the origin of the coordinate system;\r
-- three axes **OX**, **OY**, **OZ** coinciding with coordinate axes;\r
-- three planes **YOZ**, **XOZ**, **XOY** coinciding with coordinate planes. \r
-\r
-Only points, axis, planes (see :ref:`constructionPlugin`) and sketches (see :ref:`sketchPlugin`) can be added into Partset to be used in any part later.\r
-:ref:`parameter_usage` can be used both in Partset and any Part.\r
-\r
- \r
-A new Part can be created as described in :ref:`partPlugin`.\r
-\r
-Double click or pop-up menu can be used to activate existing document.\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
-- :ref:`toolbar`; \r
-- status bar. \r
-\r
-.. image:: images/main_window.png\r
- :align: center\r
-\r
-.. centered::\r
- Main window of SHAPER module\r
-\r
- \r
-.. _main_menu:\r
-\r
-Main menu \r
----------\r
-\r
-Main menu provides access to all commands of the application.\r
-\r
-.. image:: images/main_menu.png\r
- :align: center\r
-\r
-.. centered::\r
- Main menu\r
-\r
-Main menu includes standard Salome items:\r
-\r
-- File;\r
-- Edit;\r
-- View;\r
-- Tools; \r
-- Window;\r
-- Help;\r
- \r
-and items specific for SHAPER module:\r
-\r
-- Part (see :ref:`partPlugin`);\r
-- Sketch (see :ref:`sketchPlugin`);\r
-- Construction (see :ref:`constructionPlugin`);\r
-- Build (see :ref:`buildPlugin`);\r
-- Primitives (see :ref:`primitivesPlugin`);\r
-- GDML (see :ref:`gdmlPlugin`);\r
-- Features (see :ref:`featuresPlugin`); \r
-- Macros. \r
-\r
- .. _toolbar: \r
-\r
-SHAPER toolbar\r
---------------\r
-\r
-Application toolbar contains:\r
-\r
-- standard toolbar;\r
-- modules toolbar;\r
-- SHAPER toolbar.\r
-\r
-.. image:: images/toolbar.png\r
- :align: center\r
-\r
-.. centered::\r
- Toolbars\r
- \r
-SHAPER toolbar duplicates the main menu and provides access to all commands of the application.\r
-\r
-SHAPER toolbar is separated into sections:\r
-\r
-- Part;\r
-- Movement;\r
-- Measurement;\r
-- Sketch;\r
-- Construction;\r
-- Build;\r
-- Primitives;\r
-- GDML;\r
-- Features;\r
-- Boolean;\r
-- Collections; \r
-- Fillet; \r
-- Macros. \r
-\r
-Visibility of SHAPER toolbar sections is managed using *View -> Toolbar* :ref:`main_menu` item or toolbar pop-up menu.\r
- \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:`hidefaces_panel`\r
-- :ref:`python console`\r
-- :ref:`property_panel`\r
-\r
-Dock windows can be placed in three dock areas using drag-and-drop:\r
- \r
-- left, \r
-- right, \r
-- bottom.\r
-\r
-By default Object browser window is placed at the left dock area, Inspection panel at the right dock area and Python console at the bottom dock area of the main window.\r
-\r
-Property Panel is hidden.\r
-\r
-Property Panel is shown on operation start in left dock area of the main window by default.\r
-\r
-If Object browser is shown at the same side then they will be tabbed.\r
-\r
-Each dock window can be closed using **Cross** window button and opened again using a corresponding command from *View - Windows* :ref:`main_menu` or alternatively using pop-up menu.\r
-\r
-.. image:: images/popup_menu.png\r
- :align: center\r
-\r
-.. centered::\r
- Pop-up menu for visibility of windows and toolbars\r
-\r
-\r
-.. _object_browser: \r
-\r
-Object browser\r
-^^^^^^^^^^^^^^\r
-\r
-Object browser contains all documents created in the current study. \r
-\r
-Each document includes standard branches where created objects are placed.\r
-\r
-Documents with branches are shown in Tree View.\r
-\r
-.. image:: images/object_browser.png\r
- :align: center\r
-\r
-.. centered::\r
- Object browser. Partset active\r
-\r
-\r
-Partset includes three branches:\r
-\r
-- Parameters;\r
-- Constructions;\r
-- Features \r
-\r
-Part includes the following branches:\r
-\r
-- Parameters;\r
-- Constructions;\r
-- Results;\r
-- Fields;\r
-- Groups; \r
-- Features. \r
-\r
-New part contains only 3 empty branches:\r
- \r
-- Parameters;\r
-- Constructions;\r
-- Results.\r
-\r
-Features are placed one after another in the active document with default names and their results are placed into the corresponding branch.\r
-\r
-Examples of default names assigned automatically for :ref:`box_feature` are:\r
- \r
-* **Box_1**, **Box_2**, ... for Feature;\r
-* **Box_1_1**, **Box_2_1**, ... for Result.\r
-\r
-Note, that a default branch is added into Tree View when the first feature of this type is created.\r
-\r
-Note, that the result used in feature as argument is removed.\r
-\r
-This child result can be restored using **Recover** feature.\r
-\r
-Each feature, result, construction, group, field, parameter can be renamed using *Rename* pop-up menu command.\r
-\r
-.. image:: images/popup_menu_object_browser_feature.png\r
- :align: center\r
-\r
-.. centered::\r
- Feature pop-up menu\r
-\r
-.. image:: images/popup_menu_object_browser_result.png\r
- :align: center\r
-\r
-.. centered::\r
- Result pop-up menu\r
-\r
-.. image:: images/popup_menu_object_browser_construction.png\r
- :align: center\r
-\r
-.. centered::\r
- Construction pop-up menu\r
-\r
-The order of features can be changed using *Move to the end* and *Move to the end and split* pop-up menu commands. They work only for Group features. The selected group or several groups will be moved to the end of features list. The *Move to the end and split* also splits the resulting group in several groups: one group per one selection.\r
-\r
-Folders can be used to arrange long Tree View for features.\r
-\r
-.. image:: images/object_browser_folder.png\r
- :align: center\r
-\r
-.. centered::\r
- Object browser with folder Dome. Part_1 active\r
-\r
-*Insert a folder before* pop-up menu command creates a new empty folder before the selected feature. The folder can be renamed.\r
-\r
-Features placed after/before the created folder can be moved into the folder using *Move into the previous folder* / *Move into the next folder* pop-up menu command.\r
-\r
-This allows to decrease the length of feature list.\r
-\r
-Features can be removed from the folder using *Move out before the folder* / *Move out after the folder* pop-up menu command.\r
-\r
-*Clean history* pop-up menu command looks for features that do not participate in other features.\r
-\r
-**Clean history** dialog box shows a list of unused features. After confirmation by click **Yes** button unused features are removed.\r
-\r
-.. image:: images/clean_history.png\r
- :align: center\r
-\r
-.. centered::\r
- **Clean history** dialog box\r
-\r
-\r
-*Select result* and *Select parent feature* pop-up menu commands help to navigate along Tree View.\r
-\r
-\r
-A feature and its result can be deleted using *Delete* pop-up menu command.\r
-\r
-Note that all features using the removed feature and their results will be removed simultaneously.\r
-\r
-**Delete feature** dialog box shows the list of features to be removed. After confirmation by click **Yes** button all these features are removed.\r
-\r
-\r
-.. image:: images/delete_feature.png\r
- :align: center\r
-\r
-.. centered::\r
- **Delete feature** dialog box\r
- \r
-.. _property_panel:\r
-\r
-Property panel\r
-^^^^^^^^^^^^^^\r
-\r
-Property panel consists of two parts:\r
-\r
-- controls a container for input of parameters for the current operation;\r
-- buttons panel containing standard buttons:\r
- \r
- .. image:: images/button_ok.png\r
- :align: left\r
- **Ok/Apply** executes operation with defined parameters,\r
-\r
-\r
- .. image:: images/button_cancel.png\r
- :align: left\r
- **Cancel/Close** calls **Abort operation** dialog box to confirm operation abort, \r
-\r
- .. image:: images/button_help.png\r
- :align: left\r
- **Help** calls User's guide opened on page describing the current operation.\r
-\r
-.. image:: images/abort_operation.png\r
- :align: center\r
-\r
-.. centered::\r
- **Abort operation** dialog box\r
-\r
-\r
-.. image:: images/button_ok.png\r
- :align: left\r
-**OK/Apply** button is disabled if not all input parameters are defined or some errors are found. Error is shown as tooltip and in status bar.\r
-\r
-.. _inspection_panel: \r
-\r
-Inspection panel \r
-^^^^^^^^^^^^^^^^\r
-\r
-Inspection panel provides the list of types and quantities of all topological entities, composing the selected result, construction or feature.\r
-\r
-.. image:: images/inspection_panel.png\r
- :align: center\r
-\r
-.. centered::\r
- Inspection panel for default Box\r
-\r
-**Object** displays name of the selected result, construction or feature.\r
-\r
-**Type** characterizes the whole shape.\r
- \r
-The information about Point, Axis or Edge additionally shows coordinates of point / end points.\r
-\r
-.. image:: images/inspection_panel_line.png\r
- :align: center\r
-\r
-.. centered::\r
- Inspection panel for Axis\r
- \r
-\r
-The information about Plane, Face additionally shows coordinates of center point and direction of normal.\r
-\r
-.. image:: images/inspection_panel_face.png\r
- :align: center\r
-\r
-.. centered::\r
- Inspection panel for Face \r
-\r
-.. _hidefaces_panel:\r
-\r
-Hide Faces panel\r
-^^^^^^^^^^^^^^^^\r
-\r
-**Hide Faces** panel makes possible to hide temporary faces of any displayed object. **Hide Faces** panel looks like following:\r
-\r
-.. image:: images/hide_faces_panel.png\r
- :align: center\r
-\r
-.. centered::\r
- Hide Faces panel\r
-\r
-- If this panel is activated it "listens" user selection.\r
-- If a face is selected then its name will be shown in the panel's list and hidden in the viewer. \r
-- If user selects a group of faces (or at least a one face of this group) then whole group will be hidden and also all faces from all objects referenced by this group.\r
-- If user will display the hidden group again (by a show operation) then the group will be removed from Hide Faces list and visibility of all referenced faces will be restored.\r
-\r
-Also it is possible do not to hide faces, but make them transparent. For this purpose **"Transparent"** check-box can be used. Value of the transparency can be changed in **Visualization** tab of **Preferences** dialog box.\r
-Closing of **Hide Faces** panel restores visibility state of all objects. If it is necessary to deactivete the **Hide Faces** panel (preserving the current display state) then user has to press **"Esc"** button.\r
-\r
-\r
-.. _python console:\r
-\r
-Python console\r
-^^^^^^^^^^^^^^\r
-\r
-Python console interpreters Python commands entered manually.\r
-\r
-In particular, it is possible to load the python script:\r
-\r
-*execfile(r"/dn48/newgeom/data/example.py")*\r
-\r
-Pop-up menu gives the possibility to:\r
-\r
-- Copy the selected text to clipboard;\r
-- Paste the text from clipboard to Python console ;\r
-- Clear Python console;\r
-- Dump commands from console into the specified file;\r
-- Start/Stop writing log into the specified file. \r
- \r
-\r
-.. image:: images/python_console_popup.png\r
- :align: center\r
-\r
-.. centered::\r
- Pop-up menu of Python console\r
-\r
-.. _viewer:\r
-\r
-Viewer\r
-------\r
-\r
-The application supports one instance of OCC 3D viewer and is able to show only one 3D space.\r
-\r
-This 3D space can be represented in several view windows. New view window can be created using **Clone view** button in viewer toolbar.\r
-\r
-Each view windows shows its own point of view on the 3D scene.\r
-\r
-This point of view can be modified using viewer commands: **Panning**, **Zooming**, **Scaling**, etc.\r
-\r
-\r
-.. image:: images/2_viewers.png\r
- :align: center\r
-\r
-.. centered::\r
- Two view windows\r
-\r
-The description of OCC 3D Viewer architecture and functionality is provided in GUI module user's guide in chapter **OCC 3D Viewer**.\r
-\r
-\r
-.. _parameter_usage:\r
-\r
-Parameters \r
-----------\r
-\r
-Model parametrization can be done using parameters.\r
-\r
-A parameter can be created in the active partset or part by:\r
-\r
-- :ref:`parameter`;\r
-- :ref:`parameters`;\r
-- :ref:`parameter_expression`.\r
-\r
-Any argument in features can be defined as parameter or expression containing parameters.\r
-\r
-The list of features using parameters is given in **Parameters** dialog box:\r
-\r
- .. image:: images/parameters_feature.png\r
- :align: center\r
-\r
-.. centered::\r
- Parameters dialog box\r
- \r
-If a parameter value is changed, then all features where it is used are rebuilt.\r
-\r
-A parameter name should be unique in the active document.\r
-\r
-However, partset and part can have parameters with the same name. If parameter names in Partset and Part are identical, then Part parameter has a higher priority and its value will be used in the features of this part.\r
-\r
-In contrast to features (see :ref:`object_browser`), there is an additional option when parameters are deleted. \r
-\r
-.. image:: images/delete_parameter.png\r
- :align: center\r
-\r
-.. centered::\r
- Delete parameter\r
-\r
-After clicking **Replace** button, the selected parameter is removed but its parent parameters and features are not removed. The deleted parameter is replaced by its value.\r
-\r
-.. _parameter_expression:\r
-\r
-Create parameter on fly\r
-^^^^^^^^^^^^^^^^^^^^^^^\r
-\r
-Parameter can be created during feature creation simply by writing *variable=expression* in any editbox.\r
-\r
-After feature validation a new parameter with the given name **variable** and value equal to the evaluated expression appears in object browser under **Parameters** in the active partset or part.\r
-\r
-.. _preferences:\r
-\r
-SHAPER preferences\r
-------------------\r
-\r
-Description of General application preferences and **Preferences** dialog box is provided in GUI module user's guide in chapter **Setting Preferences**.\r
-\r
-SHAPER preferences define visualization of objects, visualization during selection, edition. New preferences can be used right after modification or later after activation of SHAPER module.\r
-\r
-To call **Preferences** dialog box:\r
-\r
-#. select in the Main Menu *File - > Preferences* item or\r
-#. use **Ctrl+P** shortcut.\r
-\r
-SHAPER preferences contains the following tabs:\r
-\r
-- :ref:`visualization_preferences`;\r
-- :ref:`plugins_preferences`;\r
-- :ref:`shortcuts_preferences`;\r
-- :ref:`windows_preferences`.\r
-- :ref:`sketch_preferences`.\r
-- :ref:`viewer_preferences`.\r
-\r
-Visualization tab is activated by default when **Preferences** dialog box is opened in the active SHAPER module.\r
-\r
-Other tabs are activated by click on tab header.\r
- \r
-.. _visualization_preferences:\r
-\r
-Visualization tab\r
-^^^^^^^^^^^^^^^^^\r
-\r
-This tab defines presentation of objects displayed in OCC 3D viewer.\r
-\r
-.. image:: images/visualization_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Visualization tab\r
-\r
-**Input fields**:\r
-\r
-- **Selection color** defines a color for selected objects;\r
-- **Result color** selects default shading color for objects from **Results** branch;\r
-- **Group color** selects default color for objects from **Groups** branch;\r
-- **Construction color** selects default color for objects from **Constructions** branch;\r
-- **Part color** selects default color for parts shown in Partset; \r
-- **Field color** selects default color for objects from **Fields** branch;\r
-- **Body deflection coefficient** defines default deflection coefficient for objects from **Results** branch. A smaller coefficient provides better quality of a shape in the viewer;\r
-- **Construction deflection coefficient** defines default deflection coefficient for objects from **Constructions** branch. A smaller coefficient provides better quality of a shape in the viewer;\r
-- **Reference shape wireframe color in operation** selects default color used for wireframe visualization of objects used in active operation;\r
-- **Result shape wireframe color in operation** selects default color used for wireframe visualization of result in active operation. Click **See preview** button to show result;\r
-- **Multi selector item color in operation** selects default color used for visualization of objects selected in property panel to distinguish them among all objects used in active operation;\r
-- **Color of removed feature in operation** selects default color used for visualization of sketch entities to be removed during **Trim/Split** operations;\r
-- **Color of sketch plane** selects default shading color for sketch plane;\r
-- **Hidden faces transparency** defines default transparency value for hidden faces;\r
-- **Dimension arrow size** defines default size of arrows for extension line showing dimensional constraint; \r
-- **Dimension font** defines font used for value of dimensional constraint;\r
-- **Dimension value size** defines default size of value for dimensional constraint;\r
-- **Sketch dimension color** defines default color of dimensional constraint; \r
-- **Construction plane color** selects default color for Construction planes; \r
-- **Sketch entity color** selects default color for sketch objects;\r
-- **Sketch external entity color** selects default color for external objects selected as reference during sketch creation/edition;\r
-- **Sketch auxiliary entity color** selects default color for sketch auxiliary objects;\r
-- **Sketch overconstraint color** selects default color for a sketch with redundant constraints;\r
-- **Sketch fully constraint color** selects default color for a sketch with zero degrees of freedom.\r
- \r
-To redefine any color click on the corresponding line to access **Select color** dialog box\r
-\r
-.. image:: images/select_color.png\r
- :align: center\r
-\r
-.. centered::\r
- **Select color** dialog box\r
- \r
-Preferences for sketch are applicable during sketch creation/edition operation.\r
- \r
-.. _plugins_preferences:\r
- \r
-Plugins tab\r
-^^^^^^^^^^^\r
-Plugins tab defines folders where plugins and resources are located.\r
-\r
-.. image:: images/plugins_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Plugins tab\r
-\r
-**Input fields**:\r
-\r
-- **Default path** selects default folder where plugins are located. Click on **Open** button opens standard **Find directory** dialog box to navigate to desired folder;\r
-\r
-- **Import initial directory** selects default folder where resources are located. Click on **Open** button opens standard **Find directory** dialog box to navigate to desired folder.\r
-\r
-.. image:: images/open_button.png\r
- :align: center\r
-\r
-.. centered::\r
- **Open** button\r
-\r
-.. image:: images/find_directory.png\r
- :align: center\r
-\r
-.. centered::\r
- **Find directory** dialog box\r
- \r
- \r
-.. _shortcuts_preferences:\r
- \r
-Shortcuts tab\r
-^^^^^^^^^^^^^\r
-\r
-Shortcuts tab defines shortcut keys for different operations.\r
-\r
-.. image:: images/shortcuts_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Shortcuts tab\r
- \r
-- **Add parameter in parameters manager dialog** defines shortcut keys for adding parameter in parameters manager dialog box.\r
- \r
-.. _windows_preferences:\r
-\r
-Windows tab\r
-^^^^^^^^^^^\r
-\r
-Windows tab contains definitions for the module windows management.\r
-\r
-.. image:: images/windows_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Windows tab\r
-\r
-- **Use HideFaces panel in operation** if the checkbox is checked then HideFaces panel will be launched automatically on launching an operation where using of this panel is considered.\r
-\r
-.. _sketch_preferences:\r
-\r
-Sketch tab\r
-^^^^^^^^^^\r
-\r
-Sketch tab defines properties of coordinate planes shown for selection of sketch plane when no convenient objects are shown in OCC 3D viewer.\r
-\r
-.. image:: images/sketch_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Sketch tab\r
-\r
-**Input fields**:\r
-\r
-- **Size** defines size of coordinate planes;\r
-- **Thickness** defines thickness of coordinate plane borders; \r
-- **Rotate to plane when selected** check-box turns on/off automatic switch the viewer to the top view for the selected sketch plane. \r
-- **Angular tolerance** defines defines an angular tolerance for automatic creation of horizontal and vertical constraints;\r
-- **Default spline weight** defines default weight for B-spline nodes during creation. The default value can be changed by editing of the spline;\r
-- **Cursor for sketch operation** defines a cursor which indicates a launched sketcher sub-operation.\r
-- **Create sketch entities by dragging** defines a style of sketch etities creation. It concerns creation of lines, rectangles, circles, arcs, ellipses, elliptic arcs. If it is switched ON then points of objects have to be defined by mouse press - mouse move - mouse release. Otherwise every point of an object has to be defined by mouse click;\r
-\r
- \r
-.. _viewer_preferences:\r
- \r
-Viewer tab\r
-^^^^^^^^^^\r
-\r
-Viewer tab defines selection in OCC 3D viewer properties. \r
-\r
-.. image:: images/viewer_preferences.png\r
- :align: center\r
-\r
-.. centered::\r
- Preferences - Viewer tab \r
-\r
-**Input fields**:\r
-\r
-- **Default Selection** defines objects to be selected by mouse click in OCC 3D viewer:\r
-\r
- - **Faces** check-box turns on/off selection of faces;\r
- - **Edges** check-box turns on/off selection of edges;\r
- - **Vertices** check-box turns on/off selection of vertices;\r
-\r
-- **Selection sensitivity** defines size of area around object in pixels, in which mouse click selects object inside this area:\r
-\r
- - **Vertex** defines selection sensitivity for vertices; \r
- - **Edge** defines selection sensitivity for edges. \r
-\r
-\r
-.. _toolbars_management:\r
-\r
-Toolbars management\r
--------------------\r
-\r
-.. _toolbars_dialog:\r
-\r
-**Toolbars** dialog box\r
-^^^^^^^^^^^^^^^^^^^^^^^\r
-To edit the current tool bars structure select in the Main Menu *Edit - > Edit toolbars* item. \r
-The following dialog box with existing toolbars appears:\r
-\r
-.. image:: images/Toolbars.png\r
- :align: center\r
-\r
-.. centered::\r
- **Toolbars** dialog box\r
-\r
-**Input fields**:\r
-\r
-- **Toolbars** window contains list of toolbars names. Number of commands in each tool bar is shown in brackets.\r
-- **Add** button creates a new toolbar. Click on **Add** button opens :ref:`create_toolbar`;\r
-- **Edit** button calls :ref:`edit_toolbar` for currently selected tool bar;\r
-- **Delete** button removes currently selected tool bar. Click on **Delete** button opens warning dialog box. After confirmation by click **Yes** button the selected toolbar is deleted. Click **No** button cancels removing of the selected toolbar;\r
-- **Reset** button restores modified tool bars structure to default state;\r
-- **OK** button closes the dialog box, stores result of tool bars edition and updates Shaper tool bars;\r
-- **Cancel** button closes the dialog box without modification of tool bars.\r
-\r
-.. image:: images/delete_toolbar.png\r
- :align: center\r
-\r
-.. centered::\r
- Warning dialog box\r
-\r
- \r
-.. _create_toolbar:\r
-\r
-**Create toolbar** dialog box\r
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r
-\r
-**Input fields** of **Create toolbar** dialog box:\r
-\r
-.. image:: images/create_toolbar.png\r
- :align: center\r
-\r
-.. centered::\r
- **Create toolbar** dialog box\r
-\r
-- **Name of a new toolbar** defines name of the new tool bar. The name of tool bar has to be unique. If user defines a not unique name then a warning appears and a new tooolbar with not unique name is not created;\r
-- **Ok** button closes the dialog box and add a new tool bar of the module into **Toolbars** window;\r
-- **Cancel** button closes the dialog box without addition of a new tool bar.\r
-\r
-.. image:: images/name_toolbar.png\r
- :align: center\r
-\r
-.. centered::\r
- **Warning** dialog box\r
- \r
-\r
-.. _edit_toolbar:\r
-\r
-**Edit toolbar** dialog box\r
-^^^^^^^^^^^^^^^^^^^^^^^^^^^\r
-\r
-**Input fields** of **Edit toolbar** dialog box:\r
-\r
-.. image:: images/EditToolbar.png\r
- :align: center\r
-\r
-.. centered::\r
- **Edit toolbar** dialog box\r
-\r
-- **Toolbar name** non-editable field displays name of modified tool bar;\r
-- **Out of toolbars** window contains list of commands which are not included into any tool bar and separator definition "------";\r
-- **In the toolbar** window contains list of commands which are defined in the current tool bar. Items in this window are listed according to order of commands in the toolbar; \r
-- **Right arrow** button transfers currently selected item from **Out of toolbars** window to **In the toolbar** window and puts new item before the selected item in **In the toolbar** window.\r
- If there is no selected item in **In the toolbar** window then new item will be added at the end of items list. In order to clear current selection it is necessary to click in empty space of the window.\r
-- **Left arrow** button transfers currently selected item from **In the toolbar** window into **Out of toolbars** window;\r
-- **Up** and **Down** buttons change position of selected command in **In the toolbar** window;\r
-- **Ok** button closes the dialog box, stores result of edition;\r
-- **Cancel** button closes the dialog box without modification of tool bar content.\r
-\r
-\r
--- /dev/null
+Examples of TUI scripts
+=======================
+
+.. toctree::
+ :titlesonly:
+ :maxdepth: 1
+
+ TUI_tutorial.rst
+<insert here>
+++ /dev/null
-
- .. _tui_tutorial:
-
-Tutorial TUI Script
-===================
-
-.. literalinclude:: tutorial.py
- :linenos:
- :language: python
-
-:download:`Download this script <tutorial.py>`
\ No newline at end of file
+++ /dev/null
-
-.. _tutorial:
-
-
-Tutorial
-========
-
-This exercise illustrates how to create screw-nut shape from scratch.
-
-
-Step1. Sketch.
---------------
-
-At this step we will create a regular hexagon.
-
-- Create a :ref:`new-part` via Main Menu *Part - > New part*
-- Start :ref:`Sketch <sketchPlugin>` creation via Main Menu *Sketch - > Sketch*
-- Set **Size of the view** parameter equal to 250 in the Sketch dialog
-- Select **XOY** plane in the view
-- Click **Set plane view** button in the Sketch property panel
-
-.. image:: images/tutorial1_1.png
- :align: center
-
-.. centered::
- Skecth plane XOY
-- Start :ref:`Line <sketchLine>` creation via Main Menu *Sketch - > Line*
-- Pick 3 points in the view one by one and select the first one at the end to get a triangle:
-
-.. image:: images/tutorial1_2.png
- :align: center
-
-.. centered::
- 3 Lines forming a triangle
-- Hide trihedron via **Show/Hide trihedron** button in viewer toolbar
-- Select **Origin** object from **Part set / Constructions** folder in the object browser
-- Click on the eye icon on the left of the origin item to show it in the view
-- Select both origin and the bottom vertex of the triangle in the view (use **Shift** key for multi-selection)
-
-.. image:: images/tutorial1_3.png
- :align: center
-
-.. centered::
- Origin and triangle
-- Create :ref:`Coincident <sketchCoincident>` constraint via **Coincident** button in Sketch toolbar
-.. image:: images/tutorial1_4.png
- :align: center
-
-.. centered::
- Triangle vertex coincident with origin
-- Show trihedron
-- Select both **OY** axis and the upper side of the triangle in the view
-- Create :ref:`Perpendicular <sketchPerpendicular>` constraint via **Pependicular** button in Sketch toolbar
-.. image:: images/tutorial1_5.png
- :align: center
-
-.. centered::
- Upper triangle side perpendicular to OY axis
-- Select the left and the upper side of the triangle
-- Create :ref:`Equal <sketchEqual>` constraint via **Equal** button in Sketch toolbar
-- Make the upper and the right sides equal length in the same way
-.. image:: images/tutorial1_6.png
- :align: center
-
-.. centered::
- Equilateral triangle
-- Select the left side of the triangle
-- Check **Auxiliary** check box in the property panel and click **Apply** button
-.. image:: images/tutorial1_7.png
- :align: center
-
-.. centered::
- Line property panel
-- Make the right side auxiliary in the same way
-.. image:: images/tutorial1_8.png
- :align: center
-
-.. centered::
- The lateral sides are auxiliary
-- Start creation of :ref:`Angular copy <sketchAngularCopy>` feature via **Angular copy** button in Sketch toolbar
-- Select the upper side of the triangle for **Segments** parameter in the property panel
-- Select origin in the view as a center of rotation
-- Set **Total number** of objects equal to 6
-.. image:: images/tutorial1_9.png
- :align: center
-
-.. centered::
- Angular copy parameters
-- Click **Apply** button
-.. image:: images/tutorial1_10.png
- :align: center
-
-.. centered::
- Regular hexagon
-- Select the upper side of the hexagon
-- Start creation of :ref:`Length <sketchLength>` constraint via **Length** button in Sketch toolbar
-- Set length expression equal to "a=115.4" and press **Enter**
-.. image:: images/tutorial1_11.png
- :align: center
-
-.. centered::
- Fully fixed regular hexagon
-- Click **Apply** button in the *Skecth* property panel to finish the sketch creation
-.. image:: images/tutorial1_12.png
- :align: center
-
-.. centered::
- Finished Sketch
-- Check item corresponding to the created parameter **a** under **Part_1 / Parameters** node
-.. image:: images/tutorial1_13.png
- :align: center
-
-.. centered::
- Parameter created during the Sketch operation
-
-Step2. Polyline.
-----------------
-
-- Start :ref:`Parameter <parameter>` creation via Main Menu *Part - > Parameter*
-- Set parameter name = "h", set parameter expression = "90", set comment = "nut height"
-.. image:: images/tutorial2_0.png
- :align: center
-
-.. centered::
- Creation of parameter h = 90
-- Click **Apply** button to finish parameter creation
-- Start :ref:`Point <constructionPoint>` creation via Main Menu *Construction - > Point*
-- Set x = 50, y = 0, z = 0
-.. image:: images/tutorial2_1.png
- :align: center
-
-.. centered::
- Construction of point (50, 0, 0)
-- Click **Apply** button to finish point creation
-- Create points (80, 0, 0), (112, 0, 13), (112, 0, 48), (80, 0, 63), (80, 0, h), (50, 0, h) in the same way
-- Select the created points in the object browser under **Part_1 / Constructions** node
-- Click right mouse button and select **Color...** item in the popup menu
-- Select blue color and click **OK** button
-.. image:: images/tutorial2_2.png
- :align: center
-
-.. centered::
- Points created from scratch
-- Start :ref:`Polyline <buildPolyline>` creation via Main Menu *Build - > Polyline*
-- Select all the 7 points (use **Shift** key for multi-selection)
-- Check **Closed** check box
-.. image:: images/tutorial2_3.png
- :align: center
-
-.. centered::
- Creation of closed polyline from 7 points
-- Click **Apply** button in the property panel
-.. image:: images/tutorial2_4.png
- :align: center
-
-.. centered::
- Closed Polyline
-
-Step3. Face.
-------------
-
-- Start :ref:`Face <buildFace>` creation via Main Menu *Build - > Face*
-- Select **Polyline_1_1** in the object browser under **Part_1 / Results** node
-.. image:: images/tutorial3_1.png
- :align: center
-
-.. centered::
- Construction of face from a polyline
-- Click **Apply** button in the property panel
-.. image:: images/tutorial3_2.png
- :align: center
-
-.. centered::
- Face
-
-Step4. Revolution.
-------------------
-
-- Start :ref:`Revolution <featureRevolution>` creation via Main Menu *Features - > Revolution*
-- Select the face created at step 3 in the view
-- Click on axis input field in the property panel and select **OZ** axis in the view
-.. image:: images/tutorial4_1.png
- :align: center
-
-.. centered::
- Revolution around OZ by 360 degrees
-- Click **Apply** button in the property panel
-.. image:: images/tutorial4_2.png
- :align: center
-
-.. centered::
- Solid created by rotation of face
-
-Step5. Extrusion.
------------------
-
-- Start :ref:`Extrusion <featureExtrusion>` creation via Main Menu *Features - > Extrusion*
-- Select the hexagon created at step 1
-- Click on axis input field in the property panel and select **OZ** axis in the view
-- Check **By bounding planes and offsets option**
-- Select the bottom face of the revolution shape as **From** plane
-- Select the top face of the revolution shape as **To** plane
-.. image:: images/tutorial5_1.png
- :align: center
-
-.. centered::
- Extrusion along OZ axis by bounding planes
-- Click **Apply** button in the property panel
-.. image:: images/tutorial5_2.png
- :align: center
-
-.. centered::
- Solid created by extrusion of sketch
-
-Step6. Common.
---------------
-
-- Start :ref:`Common <featureCommon>` creation via Main Menu *Features - > Common*
-- Select the extrusion and the revolution in the object browser under **Part_1 / Results** node (use **Shift** key for multi-selection)
-.. image:: images/tutorial6_1.png
- :align: center
-
-.. centered::
- Common creation
-- Click **Apply** button in the property panel
-.. image:: images/tutorial6_2.png
- :align: center
-
-.. centered::
- The revolution and the extrusion common part
-
-Step7. Fillet.
---------------
-
-- Start :ref:`Fillet <featureFillet>` creation via Main Menu *Features - > Fillet*
-- Select the edge
-.. image:: images/tutorial7_1.png
- :align: center
-
-.. centered::
- Select edge for a Fillet
-- Select **Radius** parameter equal to 10
-.. image:: images/tutorial7_2.png
- :align: center
-
-.. centered::
- Fillet with radius = 10
-- Click **Apply** button in the property panel
-.. image:: images/tutorial7_3.png
- :align: center
-
-.. centered::
- Fillet
-
-Step8. Box.
------------
-
-- Click right mouse button in the view and select **Hide all** item in the popup menu to clear the view
-- Start :ref:`Box <box_feature>` creation via Main Menu *Primitives - > Box*
-- Set **DX** = 10, **DY** = 120, **DZ** = 20
-.. image:: images/tutorial8_1.png
- :align: center
-
-.. centered::
- Box creation
-- Click **Apply** button in the property panel
-.. image:: images/tutorial8_2.png
- :align: center
-
-.. centered::
- Box
-
-Step9. Translation.
--------------------
-
-- Start :ref:`Translation <featureTranslation>` creation via Main Menu *Part - > Translation*
-- Check **By X, Y and Z dimensions** option on the top of the property panel
-- Select the box in the view
-- Set **DX** = -10, **DY** = 20, **DZ** = 70
-.. image:: images/tutorial9_1.png
- :align: center
-
-.. centered::
- Box translation
-- Click **Apply** button in the property panel
-.. image:: images/tutorial9_2.png
- :align: center
-
-.. centered::
- Translated Box
-
-Step10. Angular Copy.
----------------------
-
-- Start :ref:`Angular Copy <featureAngularCopy>` creation via Main Menu *Part - > Angular Copy*
-- Select the box in the view
-- Click on axis input field in the property panel and select **OZ** axis in the view
-- Set **Nb copies** parameter equal to 6
-.. image:: images/tutorial10_1.png
- :align: center
-
-.. centered::
- Angular Copy around OZ
-- Click **Apply** button in the property panel
-.. image:: images/tutorial10_2.png
- :align: center
-
-.. centered::
- Copied Box
-
-Step11. Cut.
-------------
-
-- Select **Fillet_1_1** item in the object browser under **Part_1 / Results** node
-- Click on the eye icon on the left of the result item to show it in the view
-- Start :ref:`Cut <featureCut>` creation via Main Menu *Features - > Cut*
-- Select the fillet object in the view as a main object
-- Select the angular copy object in the object browser as a tool object
-.. image:: images/tutorial11_1.png
- :align: center
-
-.. centered::
- Cut creation
-- Click **Apply** button in the property panel
-- Select the created **Cut_1_1** item in the object browser under **Part_1 / Results** node
-- Click right mouse button and select **Color...** item in the popup menu
-- Set (R: 255, G: 214, B: 0) color and click **OK** button
-
-.. image:: images/tutorial11_2.png
- :align: center
-
-.. centered::
- Cut
-
-
-**See Also** a :ref:`TUI Script <tui_tutorial>` reproducing all the tutorial steps.
\ No newline at end of file
## and prepares building of help documentation by sphinx
###
+import argparse
import os
-import sys
+import os.path as osp
+import re
import shutil
+import sys
from xml.dom.minidom import parse
-aBuildDir = sys.argv[1]
-aSourcesDir = sys.argv[2]
-aSrcPath = aSourcesDir + os.sep + "../../src"
-
-aConfigPath = aSrcPath + os.sep + "Config/plugins.xml.in"
-
-def findDir(theConfFile):
+def find_dir(src_path, cfg_file):
"""Find a name of a directory where the given config file exists"""
- aSrcList = os.listdir(aSrcPath)
- for aDir in aSrcList:
- aPath = aSrcPath + os.sep + aDir
- aConfPath = aPath + os.sep + theConfFile
- if os.path.isdir(aPath) and (os.path.exists(aConfPath) or os.path.exists(aConfPath + ".in")):
- return aDir
+ entities = os.listdir(src_path)
+ for entity in entities:
+ path = osp.join(src_path, entity)
+ cfg_path = osp.join(path, cfg_file)
+ if not osp.isdir(path):
+ continue
+ if not osp.exists(cfg_path) and not osp.exists(cfg_path + '.in'):
+ continue
+ if osp.exists(osp.join(path, 'doc')):
+ return osp.join(path, 'doc')
return None
-## Find accessible plugins from plugins.xml configuration file
-aPluginList = []
-# A map to avoid duplication of plugins
-aPluginsMap = {}
-aDomObj = parse(aConfigPath)
-aPluginsList = aDomObj.getElementsByTagName("plugin")
-for plugin in aPluginsList:
- aLibName = plugin.getAttribute("library")
- if not aLibName:
- aLibName = plugin.getAttribute("script")
- aConfigFile = plugin.getAttribute("configuration")
+def main(src_dir, build_dir):
+ """Main function"""
+ src_path = osp.realpath(osp.join(src_dir, *[os.pardir]*2, 'src'))
+ config_file = osp.join(src_path, 'Config', 'plugins.xml.in')
+
+ ## Find accessible plugins from plugins.xml configuration file
+ processed = []
+
+ indices = []
+ tui_scripts = []
- if aLibName and aConfigFile and not aLibName in aPluginsMap:
- aPluginsMap[aLibName] = True
- aLibDir = findDir(aConfigFile)
- if not aLibDir is None:
- aPluginDocDir = aSrcPath + os.sep + aLibDir + os.sep + "doc"
- if os.path.exists(aPluginDocDir):
- ## Copy all files to a building directory
- aDocDist = aBuildDir + os.sep + aLibName
- if os.path.exists(aDocDist):
- shutil.rmtree(aDocDist)
- shutil.copytree(aPluginDocDir, aDocDist)
- aPluginList.append(aLibName)
+ doc = parse(config_file)
+ plugins = doc.getElementsByTagName('plugin')
+ for plugin in plugins:
+ plugin_name = plugin.getAttribute('library')
+ if not plugin_name:
+ plugin_name = plugin.getAttribute('script')
+ if not plugin_name or plugin_name in processed:
+ continue
+ config = plugin.getAttribute('configuration')
+ if not config:
+ continue
+ lib_dir = find_dir(src_path, config)
+ if lib_dir:
+ ## Copy plugin's documenation folder to the build directory
+ dist_dir = osp.join(build_dir, plugin_name)
+ if osp.exists(dist_dir):
+ shutil.rmtree(dist_dir)
+ shutil.copytree(lib_dir, dist_dir)
+ ## Collect index file
+ indices.append(osp.join(plugin_name, plugin_name + '.rst'))
+ ## Collect TUI scripts
+ tui_files = sorted(f for f in os.listdir(lib_dir) if \
+ osp.isfile(osp.join(lib_dir, f)) and re.match('TUI_.*\.rst', f))
+ if tui_files:
+ tui_list_file = osp.join(dist_dir, 'TUI_examples.rst')
+ with open(tui_list_file, 'w') as flist:
+ flist.write('.. _tui_{}:\n\n'.format(plugin_name.lower()))
+ title = plugin_name.replace('Plugin', ' plug-in')
+ flist.write('{}\n'.format(title))
+ flist.write('{}\n\n'.format('='*len(title)))
+ flist.write('.. toctree::\n')
+ flist.write(' :titlesonly:\n')
+ flist.write(' :maxdepth: 1\n\n')
+ flist.writelines([' {}\n'.format(i) for i in tui_files])
+ tui_scripts.append(osp.join('..', plugin_name, 'TUI_examples.rst'))
+ ## Mark plugin as processed
+ processed.append(plugin_name)
-## Modify index.rst file accordingly
-aIndexFile = open(aSourcesDir + os.sep + "index.rst.in", 'r')
-aIndexLines = aIndexFile.readlines()
-aIndexFile.close()
+ ## Generate index file
+ in_file = osp.join(src_dir, 'index.rst.in')
+ out_file = osp.join(build_dir, 'index.rst')
+ with open(in_file, 'r') as fin, open(out_file, 'w') as fout:
+ lines = fin.readlines()
+ idx = lines.index('<insert here>\n')
+ lines = lines[:idx] + [' {}\n'.format(i) for i in indices] + lines[idx+1:]
+ fout.writelines(lines)
-## Add list of plugins after toctree directive
-aIndexLines.append('\n')
-for aLibName in aPluginList:
- aIndexLines.append(" " + aLibName + "/" + aLibName + ".rst\n")
+ ## Generate TUI scripts index
+ in_file = osp.join(src_dir, 'TUI_scripts.rst.in')
+ out_file = osp.join(build_dir, 'General', 'TUI_scripts.rst')
+ with open(in_file, 'r') as fin, open(out_file, 'w') as fout:
+ lines = fin.readlines()
+ idx = lines.index('<insert here>\n')
+ lines = lines[:idx] + [' {}\n'.format(i) for i in tui_scripts] + lines[idx+1:]
+ fout.writelines(lines)
-aNewIndex = open(aBuildDir + os.sep + "index.rst", 'w')
-aNewIndex.writelines(aIndexLines)
-aNewIndex.close()
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='Generate index file from source directory')
+ parser.add_argument('build_dir', help='build directory')
+ parser.add_argument('src_dir', help='source directory')
+ args = parser.parse_args()
+ sys.exit(main(args.src_dir, args.build_dir))
use_rtd_theme = False
# Add any paths that contain templates here, relative to this directory.
-templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','templates')]
+#templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','templates')]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
'body_max_width':'none',
'body_min_width':0,
}
+themes_options['sphinx_rtd_theme'] = {
+ 'prev_next_buttons_location':'both',
+}
+
html_theme_options = themes_options.get(html_theme, {})
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = [os.path.join('@CMAKE_CURRENT_BINARY_DIR@','static')]
+#html_static_path = [os.path.join('@CMAKE_CURRENT_BINARY_DIR@','static')]
# -- Options for HTMLHelp output ------------------------------------------
Welcome to SHAPER documentation!
==================================
-- :ref:`introduction`
-- :ref:`tutorial`
-
.. toctree::
:titlesonly:
- :maxdepth: 3
+ :maxdepth: 2
+
+ General/Introduction.rst
+ General/Tutorial.rst
+<insert here>
+ General/TUI_scripts.rst
+++ /dev/null
-from SketchAPI import *
-
-from salome.shaper import model
-
-model.begin()
-partSet = model.moduleDocument()
-Part_1 = model.addPart(partSet)
-Part_1_doc = Part_1.document()
-
-# Parameters
-model.addParameter(Part_1_doc, "h", "90", "nut height")
-model.addParameter(Part_1_doc, "a", "115.4")
-
-# Step1. Sketch.
-Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOY"))
-SketchLine_1 = Sketch_1.addLine(-57.69999999999999, 99.93933159672423, 57.70000000000001, 99.93933159672423)
-SketchLine_2 = Sketch_1.addLine(57.70000000000001, 99.93933159672423, 0, 0)
-SketchLine_2.setAuxiliary(True)
-SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
-SketchLine_3 = Sketch_1.addLine(0, 0, -57.69999999999999, 99.93933159672423)
-SketchLine_3.setAuxiliary(True)
-SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
-SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_1.startPoint(), SketchLine_3.endPoint())
-SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "PartSet/Origin"), False)
-SketchPoint_1 = SketchProjection_1.createdFeature()
-SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchLine_3.startPoint(), SketchAPI_Point(SketchPoint_1).coordinates())
-SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OY"), False)
-SketchLine_4 = SketchProjection_2.createdFeature()
-SketchConstraintPerpendicular_1 = Sketch_1.setPerpendicular(SketchLine_4.result(), SketchLine_1.result())
-SketchConstraintEqual_1 = Sketch_1.setEqual(SketchLine_3.result(), SketchLine_1.result())
-SketchConstraintEqual_2 = Sketch_1.setEqual(SketchLine_2.result(), SketchLine_1.result())
-SketchMultiRotation_1 = Sketch_1.addRotation([SketchLine_1.result()], SketchAPI_Line(SketchLine_4).startPoint(), 360, 6, True)
-[SketchLine_5, SketchLine_6, SketchLine_7, SketchLine_8, SketchLine_9] = SketchMultiRotation_1.rotated()
-SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_1.result(), "a")
-model.do()
-
-# Step2. Polyline.
-Point_2 = model.addPoint(Part_1_doc, 50, 0, 0)
-Point_2.result().setColor(0, 0, 255)
-Point_3 = model.addPoint(Part_1_doc, 80, 0, 0)
-Point_3.result().setColor(0, 0, 255)
-Point_4 = model.addPoint(Part_1_doc, 112, 0, 13)
-Point_4.result().setColor(0, 0, 255)
-Point_5 = model.addPoint(Part_1_doc, 112, 0, 48)
-Point_5.result().setColor(0, 0, 255)
-Point_6 = model.addPoint(Part_1_doc, 80, 0, 63)
-Point_6.result().setColor(0, 0, 255)
-Point_7 = model.addPoint(Part_1_doc, "80", "0", "h")
-Point_7.result().setColor(0, 0, 255)
-Point_8 = model.addPoint(Part_1_doc, "50", "0", "h")
-Point_8.result().setColor(0, 0, 255)
-Polyline_1_objects = [model.selection("VERTEX", "Point_1"), model.selection("VERTEX", "Point_2"),
- model.selection("VERTEX", "Point_3"), model.selection("VERTEX", "Point_4"),
- model.selection("VERTEX", "Point_5"), model.selection("VERTEX", "Point_6"),
- model.selection("VERTEX", "Point_7")]
-Polyline_1 = model.addPolyline3D(Part_1_doc, Polyline_1_objects, True)
-
-# Step3. Face.
-Face_1 = model.addFace(Part_1_doc, [model.selection("WIRE", "Polyline_1_1")])
-
-# Step4. Revolution.
-Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("FACE", "Face_1_1")], model.selection("EDGE", "PartSet/OZ"), 360, 0)
-
-# Step5. Extrusion.
-Wire = model.selection("WIRE", "Sketch_1/Face-SketchLine_5r-SketchLine_6r-SketchLine_7r-SketchLine_8r-SketchLine_9r-SketchLine_1r_wire")
-To = model.selection("FACE", "Revolution_1_1/Generated_Face&Point_4/Point_4")
-From = model.selection("FACE", "Revolution_1_1/Generated_Face&Point_1/Point_1")
-
-Extrusion_1 = model.addExtrusion(Part_1_doc, [Wire], model.selection("EDGE", "PartSet/OZ"), To, 0, From, 0)
-
-# Step6. Common.
-Common_1 = model.addCommon(Part_1_doc, [model.selection("SOLID", "Revolution_1_1"), model.selection("SOLID", "Extrusion_1_1")])
-
-# Step7. Fillet.
-Fillet_1 = model.addFillet(Part_1_doc, [model.selection("EDGE", "[Revolution_1_1/Generated_Face&Point_6/Point_6][Common_1_1/Modified_Face&Point_7/Point_7]")], 10)
-
-# Step8. Box.
-Box_1 = model.addBox(Part_1_doc, 20, 120, 20)
-
-# Step9. Translation.
-Translation_1 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_1_1")], -10, 20, 70)
-
-# Step10. Angular Copy.
-AngularCopy_1 = model.addMultiRotation(Part_1_doc, [model.selection("SOLID", "Translation_1_1")], model.selection("EDGE", "PartSet/OZ"), 6)
-
-# Step11. Cut.
-Cut_1 = model.addCut(Part_1_doc, [model.selection("SOLID", "Fillet_1_1")], [model.selection("COMPOUND", "AngularCopy_1_1")])
-Cut_1.result().setColor(255, 214, 0)
-
-model.end()
:linenos:
:language: python
-:download:`Download this script <examples/polyline.py >`
-
+:download:`Download this script <examples/polyline.py>`
+
:linenos:
:language: python
-:download:`Download this script <examples/subshapes.py >`
-
+:download:`Download this script <examples/subshapes.py>`
The following property panel will be opened:
-.. image:: images/Compound.png
+.. figure:: images/Compound.png
:align: center
-.. centered::
Create a compound
Select one or several shapes in the viewer. The selected shapes can be of any type (vertex, edge, face, etc.)
The result of the operation will be a compound created from the selected shapes:
-.. image:: images/CreateCompound.png
+.. figure:: images/CreateCompound.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_compound` operation.
The following property panel will be opened:
-.. image:: images/Compsolid.png
+.. figure:: images/Compsolid.png
:align: center
-.. centered::
Create a compsolid
Select one or several shapes in the viewer.
The result of the operation will be a compsolid created from the selected shapes:
-.. image:: images/CreateCompsolid.png
+.. figure:: images/CreateCompsolid.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_compsolid` operation.
The options to create edges:
-.. image:: images/edge_by_segments_32x32.png
+.. figure:: images/edge_by_segments_32x32.png
:align: left
+ :height: 24px
+
**By edges** creates edges using already existing edges in other shapes or full sketches.
-.. image:: images/edge_by_points_32x32.png
+.. figure:: images/edge_by_points_32x32.png
:align: left
+ :height: 24px
+
**By points** creates segment between two points.
+--------------------------------------------------------------------------------
By edges
--------
-.. image:: images/Edge.png
+.. figure:: images/Edge.png
:align: center
-.. centered::
Create by edges
Select one or several edges in the viewer. Also, the full sketch can be selected. In this case, all edges of the sketch will be processed.
The result of the operation will be a set of edges created from the selected shapes:
-.. image:: images/CreateEdge.png
+.. figure:: images/CreateEdge.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_edge` operation.
By two points
-------------
-.. image:: images/EdgeByTwoPoints.png
+.. figure:: images/EdgeByTwoPoints.png
:align: center
-.. centered::
Create by points
Select two points in the viewer.
The result of the operation will be a segment bounded by selected points:
-.. image:: images/CreateEdgeByPoints.png
+.. figure:: images/CreateEdgeByPoints.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_segment` operation.
The following property panel will be opened:
-.. image:: images/Face.png
+.. figure:: images/Face.png
:align: center
-.. centered::
Create a face
Select one or several faces in viewer. Additionally, a face can be build by a closed wire or a set of edges composing a closed wire.
The result of the operation will be a set of faces created from the selected shapes:
-.. image:: images/CreateFace.png
+.. figure:: images/CreateFace.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_face` operation.
The following property panel will be opened:
-.. image:: images/Filling.png
+.. figure:: images/Filling.png
:align: center
-.. centered::
Create a filling
Select two or more edges in the viewer.
The result of the operation will be a set of faces created from the selected shapes:
-.. image:: images/CreateFilling.png
+.. figure:: images/CreateFilling.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_filling` operation.
The following property panel will be opened:
-.. image:: images/Interpolation.png
+.. figure:: images/Interpolation.png
:align: center
-.. centered::
Create an interpolation
Select one or several vertices or points in the viewer.
The result of the operation will be a curve created from the selected shapes:
-.. image:: images/CreateInterpolation.png
+.. figure:: images/CreateInterpolation.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_interpolation` operation.
The following property panel appears.
-.. image:: images/Polyline.png
+.. figure:: images/Polyline.png
:align: center
-.. centered::
Polyline property panel
Input fields:
""""""
The result of the operation is a closed or open Polyline.
-.. image:: images/CreatePolyline.png
+.. figure:: images/CreatePolyline.png
:align: center
-.. centered::
Polyline
**See Also** a sample TUI Script of :ref:`tui_create_polyline` operation.
\ No newline at end of file
The following property panel will be opened:
-.. image:: images/Shell.png
+.. figure:: images/Shell.png
:align: center
-.. centered::
Create a shell
Select one or several faces in the viewer. Additionally, it is allowed to select a whole sketch result from the object browser. In this case, the result shell will contain faces corresponding to all smallest closed contours of the sketch.
The result of the operation will be a shell created from the selected shapes:
-.. image:: images/CreateShell.png
+.. figure:: images/CreateShell.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_shell` operation.
The following property panel will be opened:
-.. image:: images/Solid.png
+.. figure:: images/Solid.png
:align: center
-.. centered::
Create a solid
Select one or several faces in the viewer. The selected faces have to define a closed volume.
The result of the operation will be a solid created from the selected shapes:
-.. image:: images/CreateSolid.png
+.. figure:: images/CreateSolid.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_solid` operation.
The following property panel appears.
-.. image:: images/SubShapes.png
+.. figure:: images/SubShapes.png
:align: center
-.. centered::
Sub-shapes property panel
Input fields:
""""""
The result replaces the original shape with its copy with added/removed sub-shapes.
-.. image:: images/CreateSubShapes.png
+.. figure:: images/CreateSubShapes.png
:align: center
-.. centered::
Sub-shapes
**See Also** a sample TUI Script of :ref:`tui_create_subshape` operation.
The following property panel will be opened:
-.. image:: images/Vertex.png
+.. figure:: images/Vertex.png
:align: center
-.. centered::
Create vertices
Select one or several vertices in the viewer. It is also possible to select a whole sketch result or feature in the object browser, then all start and end points of the sketch segments will be added into result. Checkbox **Compute intersections** forces to include intersection vertices of edges of the selected sketch.
The result of the operation will be a set of vertices created from the selected shapes:
-.. image:: images/CreateVertex.png
+.. figure:: images/CreateVertex.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_vertex` operation.
The following property panel will be opened:
-.. image:: images/Wire.png
+.. figure:: images/Wire.png
:align: center
-.. centered::
Create a wire
Select one or several edges in the viewer. For automatic selection of a closed contour starting from the selected edge it is necessary to press **Add contour** button.
The result of the operation will be a wire created from the selected shapes:
-.. image:: images/CreateWire.png
+.. figure:: images/CreateWire.png
:align: center
-.. centered::
Result of the operation.
**See Also** a sample TUI Script of :ref:`tui_create_wire` operation.
The following property panel appears.
-.. image:: images/field_property_panel.png
+.. figure:: images/field_property_panel.png
:align: center
-.. centered::
Create a field
Input fields:
When a field is created then its result in data tree looks like following.
-.. image:: images/field_steps_tree.png
+.. figure:: images/field_steps_tree.png
:align: center
-.. centered::
Result of created field with two steps.
It consists of a Field result object and steps as sub-objects. Only one object can be displayed at one moment: field or one of its step. Field result presentation repersents entities used for the Field definition.
Step presentation shows field entities and values defined on them. For example a step defined on faces with double values looks like following.
-.. image:: images/step_faces_double.png
+.. figure:: images/step_faces_double.png
:align: center
Color bar for displayed step is shown only if the setep is selected in **Object Browser**. Desirable parameters of the Color bar (position, number of intervals, text color) can be defined in **Preferences** dialog box.
The following property panel appears.
-.. image:: images/group_addition_property_panel.png
+.. figure:: images/group_addition_property_panel.png
:align: center
-.. centered::
Create a group addition operation
Input fields:
-.. |shape_group.icon| image:: images/shape_group.png
-.. |plus.icon| image:: images/add.png
-.. |minus.icon| image:: images/reverce.png
-.. |delete.icon| image:: images/delete.png
+.. |shape_group.icon| image:: images/shape_group.png
.. _groupPage:
The following property panel appears.
-.. image:: images/group_property_panel.png
+.. figure:: images/group_property_panel.png
:align: center
-.. centered::
Create a group
+.. |group_vertices| image:: images/group_property_panel_vertice.png
+.. |group_edges| image:: images/group_property_panel_edge.png
+.. |group_faces| image:: images/group_property_panel_face.png
+.. |group_solids| image:: images/group_property_panel_solid.png
+
Input fields:
- **Name** defines the name of the group, by default, it is **Group_n**.
- **Type** buttons select geometrical entities to be included in group:
- .. image:: images/group_property_panel_vertice.png
- :align: left
- Vertices;
-
- .. image:: images/group_property_panel_edge.png
- :align: left
- Edges;
+ |group_vertices| Vertices;
+
+ |group_edges| Edges;
- .. image:: images/group_property_panel_face.png
- :align: left
- Faces;
+ |group_faces| Faces;
- .. image:: images/group_property_panel_solid.png
- :align: left
- Solids;
+ |group_solids| Solids;
- The list of selected entities of the given type. Multiple selection can be done manually in OCC 3D Viewer by mouse click with Shift button pressed or by rectangle selection. To delete entities from the list, select them and call pop-up menu *Delete* item.
Created Group appears in the view.
-.. image:: images/group_res.png
- :align: center
+.. figure:: images/group_res.png
+ :align: center
-.. centered::
Created group
**See Also** a sample TUI Script of :ref:`tui_create_group` operation.
The following property panel appears.
-.. image:: images/group_intersection_property_panel.png
+.. figure:: images/group_intersection_property_panel.png
:align: center
-.. centered::
Create a group intersection operation
Input fields:
The following property panel appears.
-.. image:: images/group_substraction_property_panel.png
+.. figure:: images/group_substraction_property_panel.png
:align: center
-.. centered::
Create a group substraction operation
Input fields:
+++ /dev/null
-
- .. _tui_create_axis:
-
-Create Axis
-===========
-
-.. literalinclude:: examples/axis.py
- :linenos:
- :language: python
-
-:download:`Download this script <examples/axis.py>`
-
There are 6 algorithms for creation of an Axis:
-.. image:: images/axis_dxyz_32x32.png
+.. figure:: images/axis_dxyz_32x32.png
:align: left
+ :height: 24px
+
**By three dimensions** creates an axis by dimensions along X, Y, Z axes starting form existing origin.
-.. image:: images/by_two_points_32x32.png
+.. figure:: images/by_two_points_32x32.png
:align: left
+ :height: 24px
+
**By two points** creates an axis using existing points.
-.. image:: images/axis_by_line_32x32.png
+.. figure:: images/axis_by_line_32x32.png
:align: left
+ :height: 24px
+
**By line** creates an axis using a line.
-.. image:: images/axis_by_line_32x32.png
+.. figure:: images/cylindrical_face_32x32.png
:align: left
+ :height: 24px
+
**As an axis of cylindrical face** creates an axis using a cylindrical face.
-.. image:: images/axis_by_line_32x32.png
+.. figure:: images/axis_by_plane_and_point_32x32.png
:align: left
+ :height: 24px
+
**By plane and point** creates an axis using a plane and point.
-.. image:: images/axis_by_line_32x32.png
+.. figure:: images/axis_by_two_planes_32x32.png
:align: left
+ :height: 24px
+
**By two planes** creates an axis as the intersection of two planes.
+--------------------------------------------------------------------------------
+
By three dimensions
-------------------
-.. image:: images/Axis1.png
+.. figure:: images/Axis1.png
:align: center
-
-.. centered::
+
**By dX, dY, dZ values**
An axis is defined by dX, dY and dZ values of a vector.
The Result of the operation will be an axis defined by vector from origin:
-.. image:: images/CreatedAxis1.png
- :align: center
+.. figure:: images/CreatedAxis1.png
+ :align: center
-.. centered::
**Axis by three dimensions**
**See Also** a sample TUI Script of :ref:`tui_create_axis_xyz` operation.
By two points
-------------
-.. image:: images/Axis2.png
+.. figure:: images/Axis2.png
:align: center
-
-.. centered::
+
**By two points**
An axis is defined by two points or vertices.
The Result of the operation will be an axis based on two points:
-.. image:: images/CreatedAxis2.png
- :align: center
+.. figure:: images/CreatedAxis2.png
+ :align: center
-.. centered::
**Axis by two points**
**See Also** a sample TUI Script of :ref:`tui_create_axis_points` operation.
By line
-------
-.. image:: images/Axis3.png
+.. figure:: images/Axis3.png
:align: center
-
-.. centered::
+
**By a line**
An axis is defined by a linear edge.
The Result of the operation will be an axis based on the selected line:
-.. image:: images/CreatedAxis3.png
- :align: center
+.. figure:: images/CreatedAxis3.png
+ :align: center
-.. centered::
**Axis by line**
**See Also** a sample TUI Script of :ref:`tui_create_axis_line` operation.
As an axis of cylindrical face
------------------------------
-.. image:: images/Axis4.png
+.. figure:: images/Axis4.png
:align: center
-
-.. centered::
+
**By a cylinder**
An axis is defined by a cylindrical face. Axis of the cylinder will be an axis object.
The Result of the operation will be an axis of the selected cylinder:
-.. image:: images/CreatedAxis4.png
- :align: center
+.. figure:: images/CreatedAxis4.png
+ :align: center
-.. centered::
**Axis cylindrical face**
**See Also** a sample TUI Script of :ref:`tui_create_axis_cylinder` operation.
By plane and point
------------------
-.. image:: images/Axis5.png
+.. figure:: images/Axis5.png
:align: center
-
-.. centered::
+
**By a plane and point**
An axis is defined by a point or vertex and plane (or planar face) as a normal from the point to the plane.
The Result of the operation will be an axis:
-.. image:: images/CreatedAxis5.png
- :align: center
+.. figure:: images/CreatedAxis5.png
+ :align: center
-.. centered::
**Axis by plane and point**
**See Also** a sample TUI Script of :ref:`tui_create_axis_plane` operation.
By two planes
-------------
-.. image:: images/Axis6.png
+.. figure:: images/Axis6.png
:align: center
-
-.. centered::
+
**By two planes**
An axis is defined by two planes. The intersection of the planes defines an axis. It is possible to define offset for axis definition from both planes.
The Result of the operation will be an axis:
-.. image:: images/CreatedAxis6.png
- :align: center
+.. figure:: images/CreatedAxis6.png
+ :align: center
-.. centered::
**Axis by two planes**
**See Also** a sample TUI Script of :ref:`tui_create_axis_twoplanes` operation.
There are 4 algorithms for creation of a Plane:
-.. image:: images/plane_by_three_points_32x32.png
+.. figure:: images/plane_by_three_points_32x32.png
:align: left
+ :height: 24px
+
**By three points** creates a plane by three points.
-.. image:: images/plane_by_line_and_point_32x32.png
+.. figure:: images/plane_by_line_and_point_32x32.png
:align: left
+ :height: 24px
+
**By line and point** creates a plane by a line and a point.
-.. image:: images/plane_by_other_plane_32x32.png
+.. figure:: images/plane_by_other_plane_32x32.png
:align: left
+ :height: 24px
+
**By other plane** creates a plane parallel to another plane.
-.. image:: images/plane_by_two_parallel_planes_32x32.png
+.. figure:: images/plane_by_two_parallel_planes_32x32.png
:align: left
+ :height: 24px
+
**By two parallel planes** creates a plane between two parallel planes.
+--------------------------------------------------------------------------------
By three points
---------------
-.. image:: images/Plane1.png
+.. figure:: images/Plane1.png
:align: center
-
-.. centered::
+
**By three points**
A plane is created by selecting three points in a viewer.
The Result of the operation will be a plane:
-.. image:: images/CreatedPlane1.png
- :align: center
+.. figure:: images/CreatedPlane1.png
+ :align: center
-.. centered::
**A plane by three points**
**See Also** a sample TUI Script of :ref:`tui_create_plane_points` operation.
By line and point
-----------------
-.. image:: images/Plane2.png
+.. figure:: images/Plane2.png
:align: center
-
-.. centered::
+
**Line and point**
A plane is created by selecting a linear edge and point. It is possible to create a new plane perpendicular to the selected edge.
The Result of the operation will be a plane:
-.. image:: images/CreatedPlane2.png
- :align: center
+.. figure:: images/CreatedPlane2.png
+ :align: center
-.. centered::
Plane created
**See Also** a sample TUI Script of :ref:`tui_create_plane_line` operation.
By other plane
--------------
-.. image:: images/Plane3.png
+.. figure:: images/Plane3.png
:align: center
-
-.. centered::
+
**By other plane**
A plane is created by selecting an already existing plane (planar face). There are following possibilities to define a new plane:
-.. image:: images/plane_by_distance_from_other_24x24.png
+.. figure:: images/plane_by_distance_from_other_24x24.png
+ :height: 24px
:align: left
By distance from the selected plane.
-.. image:: images/plane_by_coincident_to_point_24x24.png
+.. figure:: images/plane_by_coincident_to_point_24x24.png
+ :height: 24px
:align: left
By coincidence with a point.
-.. image:: images/plane_by_rotation_24x24.png
+.. figure:: images/plane_by_rotation_24x24.png
+ :height: 24px
:align: left
By rotation around an edge by a specified angle.
The Result of the operation will be a plane parallel to already existing one:
-.. image:: images/CreatedPlane3.png
- :align: center
+.. figure:: images/CreatedPlane3.png
+ :align: center
-.. centered::
**Plane parallel to a planar face**
**See Also** a sample TUI Script of :ref:`tui_create_plane_plane` operation.
By two parallel planes
----------------------
-.. image:: images/Plane4.png
+.. figure:: images/Plane4.png
:align: center
-
-.. centered::
+
**By two parallel planes**
A plane is created by selecting two parallel planes. A new plane will be defined between them.
The Result of the operation will be a plane created between two selected planes:
-.. image:: images/CreatedPlane4.png
- :align: center
+.. figure:: images/CreatedPlane4.png
+ :align: center
-.. centered::
**Plane created between others**
**See Also** a sample TUI Script of :ref:`tui_create_plane_parallel` operation.
There are 5 algorithms for creation of a Point:
-.. image:: images/point_by_xyz_32x32.png
+.. figure:: images/point_by_xyz_32x32.png
:align: left
+ :height: 24px
+
**By X,Y,Z** creates a point by three coordinates.
-.. image:: images/point_by_distance_on_edge_32x32.png
+.. figure:: images/point_by_distance_on_edge_32x32.png
:align: left
+ :height: 24px
+
**By distance on edge** creates a point on an edge.
-.. image:: images/point_by_projection_32x32.png
+.. figure:: images/point_by_projection_32x32.png
:align: left
+ :height: 24px
+
**By projection on edge or plane** creates a point by projecting an existing point on an edge or plane.
-.. image:: images/point_by_intersection_32x32.png
+.. figure:: images/point_by_intersection_32x32.png
:align: left
+ :height: 24px
+
**By intersection of objects** creates a point by intersection of planes or/ and edges.
-.. image:: images/point_by_geometrical_property_32x32.png
+.. figure:: images/point_by_geometrical_property_32x32.png
:align: left
+ :height: 24px
+
**By geometrical property of object** creates a point in COG or center of arc or circle.
+--------------------------------------------------------------------------------
+
By X,Y,Z
--------
-.. image:: images/Point1.png
+.. figure:: images/Point1.png
:align: center
-
-.. centered::
+
**By X,Y,Z coordinates**
A point is created by X, Y, and Z coordinates.
The Result of the operation will be a construction point:
-.. image:: images/CreatePoint1.png
- :align: center
+.. figure:: images/CreatePoint1.png
+ :align: center
-.. centered::
**Point by coordinates**
**See Also** a sample TUI Script of :ref:`tui_create_point_xyz` operation.
By distance on edge
-------------------
-.. image:: images/Point2.png
+.. figure:: images/Point2.png
:align: center
-
-.. centered::
+
**Along an edge**
To create a point, select an edge in a viewer and define a distance along the edge, where point will be defined. This distance can be defined by an absolute value or by a relative one as a ratio to the edge length. The direction of the edge can be reversed by the corresponding check-box.
The Result of the operation will be a construction point created on edge:
-.. image:: images/CreatePoint2.png
- :align: center
+.. figure:: images/CreatePoint2.png
+ :align: center
-.. centered::
**Point created on edge**
**See Also** a sample TUI Script of :ref:`tui_create_point_edge` operation.
**On an edge:**
-.. image:: images/Point3.png
+.. figure:: images/Point3.png
:align: center
-
-.. centered::
+
**By projection on an edge**
**On a plane:**
-.. image:: images/Point3-1.png
+.. figure:: images/Point3-1.png
:align: center
-
-.. centered::
+
**By projection on a plane**
The Result of the operation will be a construction point created by projection on a plane or an edge:
-.. image:: images/CreatePoint3.png
- :align: center
+.. figure:: images/CreatePoint3.png
+ :align: center
-.. centered::
**Point created by projection on a plane**
**See Also** a sample TUI Script of :ref:`tui_create_point_projection` operation.
**Two edges**
-.. image:: images/Point4.png
+.. figure:: images/Point4.png
:align: center
-
-.. centered::
+
**Intersection of edges**
**Edge and plane**
-.. image:: images/Point4-1.png
+.. figure:: images/Point4-1.png
:align: center
-
-.. centered::
+
**Intersection of and edge and a plane**
In this case it is possible to define an offset from a plane along the plane normal for the created point.
**Three planes**
-.. image:: images/Point4-2.png
+.. figure:: images/Point4-2.png
:align: center
-
-.. centered::
+
**Intersection of three planes**
The new point will be defined by intersection of the selected objects.
The Result of the operation will be a construction point created by intersection of objects:
-.. image:: images/CreatePoint4.png
- :align: center
+.. figure:: images/CreatePoint4.png
+ :align: center
-.. centered::
**Point created by intersection of axis**
**See Also** a sample TUI Script of :ref:`tui_create_point_intersection` operation.
**A center of gravity**
-.. image:: images/Point5.png
+.. figure:: images/Point5.png
:align: center
-
-.. centered::
+
**By center of gravity**
**A center of circle or arc**
-.. image:: images/Point5-1.png
+.. figure:: images/Point5-1.png
:align: center
-
-.. centered::
+
**By center of a circle**
To create a point, select a desirable object.
The Result of the operation will be a construction point defined by object property:
-.. image:: images/CreatePoint5.png
- :align: center
+.. figure:: images/CreatePoint5.png
+ :align: center
-.. centered::
**Point created in COG of a cylinder**
**See Also** a sample TUI Script of :ref:`tui_create_point_object` operation.
The following property panel will be opened:
-.. image:: images/Dump_panel.png
+.. figure:: images/Dump_panel.png
:align: center
-
-.. centered::
+
**Dump property panel**
In this panel it is necessary to enter a file name directly or press **'...'** button and browse it with help of dump file dialog box:
-.. image:: images/DumpFileDlg.png
+.. figure:: images/DumpFileDlg.png
:align: center
-
-.. centered::
+
**Dump file dialog box**
**Apply** button writes the dump file.
To export the full study in SHAPER native format (``*.shaper``) select in the Main Menu *File -> Export -> Part Set...* item.
The **Export file** dialog will be opened:
-.. image:: images/ExportNativeFileDlg.png
+.. figure:: images/ExportNativeFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box for export to SHAPER native format**
Specify file name and press **Save** button to export the file. **Cancel** button cancels the operation.
The following property panel will be opened:
-.. image:: images/ExportPart_panel.png
+.. figure:: images/ExportPart_panel.png
:align: center
-
-.. centered::
+
**Export Part property panel**
The file name and path can be defined in **Export file** field by direct input or browsing with **'...'** button, which opens **Export file** dialog box:
-.. image:: images/ExportPartFileDlg.png
+.. figure:: images/ExportPartFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box to export part of the model**
Selection list in the property panel contains a list of exported objects which can be selected in a viewer or object browser.
The following property panel will be opened:
-.. image:: images/Export_panel.png
+.. figure:: images/Export_panel.png
:align: center
-
-.. centered::
+
**Export property panel**
In this panel, it is necessary to select desirable format of export file. It can be **'BREP, STEP, IGES'** or **'XAO'**. In case of first choice the format of exported file will be defined according to file extension. The file name and path can be defined in **Export file** field by direct input or browsing with **'...'** button, which opens **Export file** dialog box:
-.. image:: images/ExportFileDlg.png
+.. figure:: images/ExportFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box tp export in CAD-neutral format**
Selection list in the property panel contains a list of exported objects which can be selected in a viewer or object browser.
The current study will be closed, so the action dialog will be opened to choose whether the changes should be saved.
After that the following open file dialog will be opened:
-.. image:: images/ImportPartFileDlg.png
+.. figure:: images/ImportPartFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box to open SHAPER native file**
Select file and press **Open** button to load the file. **Cancel** button cancels the operation.
The following property panel will be opened:
-.. image:: images/ImportPart_panel.png
+.. figure:: images/ImportPart_panel.png
:align: center
-
-.. centered::
+
**Import Part property panel**
In this panel it is possible to enter a file name directly or press **'...'** button and browse it with help of import file dialog box:
-.. image:: images/ImportPartFileDlg.png
+.. figure:: images/ImportPartFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box to import Part**
The import will be performed within the active part. If no part is active, the possible targets to import will be proposed in **Import to** combobox, which contains the list of existing parts, PartSet or a new part creation option.
The following property panel will be opened:
-.. image:: images/Import_panel.png
+.. figure:: images/Import_panel.png
:align: center
-
-.. centered::
+
**Import property panel**
The **Import to** combobox provides the list of destinations (one of existing Parts or a new Part).
In this panel it is possible to enter a file name directly or press **'...'** button and browse it with help of import file dialog box:
-.. image:: images/OpenFileDlg.png
+.. figure:: images/OpenFileDlg.png
:align: center
-
-.. centered::
+
**Dialog box to import CAD-neutral format**
**Apply** button imports the file.
The Result of the operation depends on the imported file content.
-.. image:: images/FileImported.png
- :align: center
-
-.. centered::
+.. figure:: images/FileImported.png
+ :align: center
+
Import of BREP file.
**See Also** a sample TUI Script of :ref:`tui_import_file` operation.
filletFeature.rst
fuseFeature.rst
fuseFeatureFaces.rst
- importResult.rst
+ importResultFeature.rst
intersectionFeature.rst
linearCopyFeature.rst
measurementFeature.rst
:linenos:
:language: python
-:download:`Download this script <examples/chamfer2.py >`
-
+:download:`Download this script <examples/chamfer2.py>`
:linenos:
:language: python
-:download:`Download this script <examples/chamfer1.py >`
-
+:download:`Download this script <examples/chamfer1.py>`
.. _tui_create_extrusion_fuse_through_all:
Create Extrusion Fuse through all objects
-========================================
+=========================================
.. literalinclude:: examples/extrusion_fuse_through_all.py
:linenos:
:linenos:
:language: python
-:download:`Download this script <examples/fillet1.py >`
-
+:download:`Download this script <examples/fillet1.py>`
:linenos:
:language: python
-:download:`Download this script <examples/fillet2.py >`
-
+:download:`Download this script <examples/fillet2.py>`
:linenos:
:language: python
-:download:`Download this script <examples/fuse_faces.py >`
-
+:download:`Download this script <examples/fuse_faces.py>`
.. _tui_create_import_result:
Create Import Result
-============
+====================
.. literalinclude:: examples/import_result.py
:linenos:
:linenos:
:language: python
-:download:`Download this script <examples/linearcopy.py >`
+:download:`Download this script <examples/linearcopy.py>`
:linenos:
:language: python
-:download:`Download this script <examples/pipe_binormal.py >`
\ No newline at end of file
+:download:`Download this script <examples/pipe_binormal.py>`
:linenos:
:language: python
-:download:`Download this script <examples/pipe_locations.py >`
\ No newline at end of file
+:download:`Download this script <examples/pipe_locations.py>`
:linenos:
:language: python
-:download:`Download this script <examples/pipe_simple.py >`
\ No newline at end of file
+:download:`Download this script <examples/pipe_simple.py>`
:linenos:
:language: python
-:download:`Download this script <examples/rotation2.py >`
\ No newline at end of file
+:download:`Download this script <examples/rotation2.py>`
:linenos:
:language: python
-:download:`Download this script <examples/rotation1.py >`
\ No newline at end of file
+:download:`Download this script <examples/rotation1.py>`
:linenos:
:language: python
-:download:`Download this script <examples/scaleXYZ.py >`
\ No newline at end of file
+:download:`Download this script <examples/scaleXYZ.py>`
:linenos:
:language: python
-:download:`Download this script <examples/scalefactor.py >`
\ No newline at end of file
+:download:`Download this script <examples/scalefactor.py>`
:linenos:
:language: python
-:download:`Download this script <examples/symmetryaxis.py >`
\ No newline at end of file
+:download:`Download this script <examples/symmetryaxis.py>`
:linenos:
:language: python
-:download:`Download this script <examples/symmetryplane.py >`
\ No newline at end of file
+:download:`Download this script <examples/symmetryplane.py>`
:linenos:
:language: python
-:download:`Download this script <examples/symmetrypoint.py >`
\ No newline at end of file
+:download:`Download this script <examples/symmetrypoint.py>`
:linenos:
:language: python
-:download:`Download this script <examples/translation2points.py >`
\ No newline at end of file
+:download:`Download this script <examples/translation2points.py>`
:linenos:
:language: python
-:download:`Download this script <examples/translationDXDYDZ.py >`
\ No newline at end of file
+:download:`Download this script <examples/translationDXDYDZ.py>`
:linenos:
:language: python
-:download:`Download this script <examples/translationvector.py >`
-
+:download:`Download this script <examples/translationvector.py>`
The following property panel appears.
-.. image:: images/angularcopy.png
- :align: center
+.. figure:: images/angularcopy.png
+ :align: center
-.. centered::
- Angular copy property panel
+ Angular copy property panel
Input fields:
""""""
Result of cylinder rotation is a compound.
-.. image:: images/angularcopycyl.png
+.. figure:: images/angularcopycyl.png
:align: center
-.. centered::
Angular copy
**See Also** a sample TUI Script of :ref:`tui_create_angularcopy` operation.
.. _featureChamfer:
Chamfer
-======
+=======
**Chamfer** feature creates chamfers on the edges or on the faces of a shape.
There are 2 types of chamfer:
- .. image:: images/chamfer_distances.png
- :align: left
- chamfer by two distances
+.. figure:: images/chamfer_distances.png
+ :align: left
+ :height: 24px
- .. image:: images/chamfer_dist_angle.png
- :align: left
- chamfer by a distance and an angle
+chamfer by two distances
+
+.. figure:: images/chamfer_dist_angle.png
+ :align: left
+ :height: 24px
+
+chamfer by a distance and an angle
+
+--------------------------------------------------------------------------------
Chamfer by two distances
------------------------
The property panel is shown below.
-.. image:: images/ChamferDistances.png
- :align: center
+.. figure:: images/ChamferDistances.png
+ :align: center
-.. centered::
- Chamfer by two distances property panel
+ Chamfer by two distances property panel
Input fields:
Result of **Chamfer by two distances** is shown below.
-.. image:: images/chamfer_res_distances.png
+.. figure:: images/chamfer_res_distances.png
:align: center
-.. centered::
Chamfer by two distances
**See Also** a sample TUI Script of :ref:`tui_create_chamfer1` operation.
Alternatively, there is a possibility to create a chamfer with a distance and an angle.
-.. image:: images/ChamferDistAngle.png
- :align: center
+.. figure:: images/ChamferDistAngle.png
+ :align: center
-.. centered::
- Chamfer by a distance and an angle
+ Chamfer by a distance and an angle
Input fields:
Result of **Chamfer by a distance and an angle** is shown below.
-.. image:: images/chamfer_res_dist_angle.png
+.. figure:: images/chamfer_res_dist_angle.png
:align: center
-.. centered::
Chamfer by a distance and an angle
**See Also** a sample TUI Script of :ref:`tui_create_chamfer2` operation.
.. |bool_common.icon| image:: images/bool_common.png
+ :height: 16px
+
+.. _featureCommon:
Common
======
There are 2 options for creation of a Common:
-.. image:: images/bool_common_simple.png
+.. figure:: images/bool_common_simple.png
:align: left
+ :height: 24px
+
**Simple** common part between all selected objects.
-.. image:: images/bool_common_advanced.png
+.. figure:: images/bool_common_advanced.png
:align: left
+ :height: 24px
+
**Advanced** common part for each object between this object and all tools.
+--------------------------------------------------------------------------------
Simple
------
-.. image:: images/boolean_common_simple_property_panel.png
+.. figure:: images/boolean_common_simple_property_panel.png
:align: center
-.. centered::
**Simple**
- **Objects** contains a list of objects selected in the Object Browser or in the Viewer.
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 :ref:`tui_create_common` operation.
Advanced
--------
-.. image:: images/boolean_common_advanced_property_panel.png
+.. figure:: images/boolean_common_advanced_property_panel.png
:align: center
-.. centered::
**Advanced**
- **Objects** contains a list of objects selected in the Object Browser or in the Viewer.
For each selected object, the common part between this object and all tools will be found:
-.. image:: images/boolean_common_result.png
- :align: center
+.. figure:: images/boolean_common_result.png
+ :align: center
-.. centered::
**Created common**
**See Also** a sample TUI Script of :ref:`tui_create_common` operation.
The following property panel will be opened:
-.. image:: images/Copy.png
- :align: center
+.. figure:: images/Copy.png
+ :align: center
-.. centered::
**Copy operation**
Here it is necessary to select some objects. Only results and sub-results and their sub-shapes located in the folder **Results** can be selected and copied.
The Result of the operation will be one or several copies of the selected shapes located in the same place:
-.. image:: images/CreatedCopy.png
- :align: center
+.. figure:: images/CreatedCopy.png
+ :align: center
-.. centered::
**Copy created**
**See Also** a sample TUI Script of :ref:`tui_create_copy` operation.
.. _featureCut:
.. |bool_cut.icon| image:: images/bool_cut.png
+ :height: 16px
Cut
===
The following property panel will be opened:
-.. image:: images/boolean_cut_property_panel.png
- :align: center
+.. figure:: images/boolean_cut_property_panel.png
+ :align: center
-.. centered::
- **Cut operation**
+ **Cut operation**
- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be cut by tool objects.
Any kind of shape can be selected, including subshapes of compsolids/compounds.
A result shape which is a cut by tool objects from main object, will be produced for each selected object:
-.. image:: images/CreatedCut.png
+.. figure:: images/CreatedCut.png
:align: center
-.. centered::
**Created cut**
If a subsolid (yellow wireframe) of a compsolid was selected:
-.. image:: images/boolean_cut_subsolids_arguments.png
+.. figure:: images/boolean_cut_subsolids_arguments.png
:align: center
-.. centered::
**Cut arguments**
it will be cut in the result and not selected subsolids will be added to it:
-.. image:: images/boolean_cut_subsolids_result.png
+.. figure:: images/boolean_cut_subsolids_result.png
:align: center
-.. centered::
**Cut subsolid result**
After that select one or more faces of solids to suppress them. The Defeaturing works with faces from comsolids and compounds of solids as well.
-.. image:: images/defeaturing_property_panel.png
- :align: center
+.. figure:: images/defeaturing_property_panel.png
+ :align: center
-.. centered::
- Defeaturing property panel
+ Defeaturing property panel
Input field:
Result of **Defeaturing** is shown below.
-.. image:: images/defeaturing_result.png
+.. figure:: images/defeaturing_result.png
:align: center
-.. centered::
Defeaturing operation
**See Also** a sample TUI Script of :ref:`tui_defeaturing` operation.
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are three variants of the property panel for Extrusion Cut depending on the chosen option:
-.. image:: images/extrusion_by_sizes.png
+.. figure:: images/extrusion_by_sizes.png
:align: left
+ :height: 24px
+
**By Sizes** extrudes objects by specifying sizes.
-.. image:: images/extrusion_by_bounding_planes.png
+.. figure:: images/extrusion_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Planes** extrudes objects by specifying bounding planes and offsets.
-.. image:: images/extrusion_through_all.png
+.. figure:: images/extrusion_through_all.png
:align: left
+ :height: 24px
+
**Through All** extrudes base objects through all objects to be cut.
+--------------------------------------------------------------------------------
By sizes
--------
-.. image:: images/ExtrusionCut1.png
- :align: center
+.. figure:: images/ExtrusionCut1.png
+ :align: center
-.. centered::
- Extrusion Cut: 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, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_cut_by_sizes_result.png
- :align: center
+.. figure:: images/extrusion_cut_by_sizes_result.png
+ :align: center
-.. centered::
**Created Extrusion Cut**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_cut_by_sizes` operation.
By bounding planes
------------------
-.. image:: images/ExtrusionCut2.png
- :align: center
+.. figure:: images/ExtrusionCut2.png
+ :align: center
-.. centered::
- Extrusion Cut: 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, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_cut_by_bounding_planes_result.png
- :align: center
+.. figure:: images/extrusion_cut_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Created Extrusion Cut**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_cut_by_bounding_planes` operation.
Through all
-----------
-.. image:: images/ExtrusionCut3.png
- :align: center
+.. figure:: images/ExtrusionCut3.png
+ :align: center
-.. centered::
- Extrusion Cut: definition through all objects
+ Extrusion Cut: definition through all objects
- **Base objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
- **Axis** - if selected, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_cut_through_all_result.png
- :align: center
+.. figure:: images/extrusion_cut_through_all_result.png
+ :align: center
-.. centered::
**Created Extrusion Cut**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_cut_through_all` operation.
.. |extrusion_btn.icon| image:: images/extrusion_btn.png
+.. _featureExtrusion:
+
Extrusion
=========
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are two variants of the property panel for Extrusion depending on the chosen option:
-.. image:: images/extrusion_by_sizes.png
+.. figure:: images/extrusion_by_sizes.png
:align: left
+ :height: 24px
+
**By Sizes** extrudes objects by specifying sizes.
-.. image:: images/extrusion_by_bounding_planes.png
+.. figure:: images/extrusion_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Faces** extrudes objects by specifying bounding faces/planes and offsets.
+--------------------------------------------------------------------------------
By sizes
--------
-.. image:: images/Extrusion1.png
- :align: center
+.. figure:: images/Extrusion1.png
+ :align: center
-.. centered::
- Extrusion: definition by sizes
+ Extrusion: 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, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_by_sizes_result.png
- :align: center
+.. figure:: images/extrusion_by_sizes_result.png
+ :align: center
-.. centered::
**Created Extrusion**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_by_sizes` operation.
By bounding faces
------------------
-.. image:: images/Extrusion2.png
- :align: center
+.. figure:: images/Extrusion2.png
+ :align: center
-.. centered::
- Extrusion: definition by bounding faces
+ Extrusion: definition by bounding faces
- **Base objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
- **Axis** if selected, it will be direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_by_bounding_planes_result.png
- :align: center
+.. figure:: images/extrusion_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Created Extrusion**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_by_bounding_planes` operation.
.. |extrusion_fuse_btn.icon| image:: images/extrusion_fuse_btn.png
Extrusion Fuse
-=============
+==============
Extrusion Fuse feature extrudes selected objects along their normals or the selected axis and fuses the result with other objects.
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are three variants of the property panel for Extrusion Fuse depending on the chosen option:
-.. image:: images/extrusion_by_sizes.png
+.. figure:: images/extrusion_by_sizes.png
:align: left
+ :height: 24px
+
**By Sizes** extrudes objects by specifying sizes.
-.. image:: images/extrusion_by_bounding_planes.png
+.. figure:: images/extrusion_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Planes** extrudes objects by specifying bounding planes and offsets.
-.. image:: images/extrusion_through_all.png
+.. figure:: images/extrusion_through_all.png
:align: left
+ :height: 24px
+
**Through All** extrudes base objects to pass through all objects fuse with.
+--------------------------------------------------------------------------------
By sizes
--------
-.. image:: images/ExtrusionFuse1.png
- :align: center
+.. figure:: images/ExtrusionFuse1.png
+ :align: center
-.. centered::
- Extrusion Fuse: 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, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_fuse_by_sizes_result.png
- :align: center
+.. figure:: images/extrusion_fuse_by_sizes_result.png
+ :align: center
-.. centered::
**Extrusion Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_fuse_by_sizes` operation.
By bounding planes
------------------
-.. image:: images/ExtrusionFuse2.png
- :align: center
+.. figure:: images/ExtrusionFuse2.png
+ :align: center
-.. centered::
- Extrusion Fuse: 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, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_fuse_by_bounding_planes_result.png
- :align: center
+.. figure:: images/extrusion_fuse_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Extrusion Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_fuse_by_bounding_planes` operation.
Through all
-----------
-.. image:: images/ExtrusionFuse3.png
- :align: center
+.. figure:: images/ExtrusionFuse3.png
+ :align: center
-.. centered::
- Extrusion Fuse: definition through all objects
+ Extrusion Fuse: definition through all objects
- **Base objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be extruded.
- **Axis** - if selected, it will be the direction of extrusion, otherwise objects normals will be used.
The Result of the operation will be an extruded shape:
-.. image:: images/extrusion_fuse_through_all_result.png
- :align: center
+.. figure:: images/extrusion_fuse_through_all_result.png
+ :align: center
-.. centered::
**Extrusion Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_extrusion_fuse_through_all` operation.
There are 2 types of fillet:
- .. image:: images/fillet_fixed_radius.png
- :align: left
- fillet by fixed radius
+.. figure:: images/fillet_fixed_radius.png
+ :align: left
+ :height: 24px
- .. image:: images/fillet_var_radius.png
- :align: left
- fillet by variable radius
+fillet by fixed radius
+
+.. figure:: images/fillet_var_radius.png
+ :align: left
+ :height: 24px
+
+fillet by variable radius
+
+--------------------------------------------------------------------------------
Fillet by fixed radius
----------------------
The property panel is shown below.
-.. image:: images/FilletFixed.png
- :align: center
+.. figure:: images/FilletFixed.png
+ :align: center
-.. centered::
- Fillet by fixed radius property panel
+ Fillet by fixed radius property panel
Input fields:
Result of **Fillet by fixed radius** is shown below.
-.. image:: images/fillet_fix_rad.png
+.. figure:: images/fillet_fix_rad.png
:align: center
-.. centered::
Fillet by fixed radius
**See Also** a sample TUI Script of :ref:`tui_create_fillet1` operation.
Alternatively, there is a possibility to create a fillet with a variable radius.
-.. image:: images/FilletVarious.png
- :align: center
+.. figure:: images/FilletVarious.png
+ :align: center
-.. centered::
- Fillet by variable radius
+ Fillet by variable radius
Input fields:
Result of **Fillet by variable radius** is shown below.
-.. image:: images/fillet_var_rad.png
+.. figure:: images/fillet_var_rad.png
:align: center
-.. centered::
Fillet by variable radius
**See Also** a sample TUI Script of :ref:`tui_create_fillet2` operation.
.. |bool_fuse.icon| image:: images/bool_fuse.png
+ :height: 16px
Fuse
====
There are 2 options for creation of a Fuse:
-.. image:: images/bool_fuse_simple.png
+.. figure:: images/bool_fuse_simple.png
:align: left
+ :height: 24px
+
**Simple** simply fuses selected objects.
-.. image:: images/bool_fuse_advanced.png
+.. figure:: images/bool_fuse_advanced.png
:align: left
+ :height: 24px
+
**Advanced** fuse with additional functionality for subshapes of compsolids/compounds.
+--------------------------------------------------------------------------------
Simple
------
-.. image:: images/boolean_fuse_simple_property_panel.png
+.. figure:: images/boolean_fuse_simple_property_panel.png
:align: center
-.. centered::
**Simple**
- **Objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be fused with tool objects.
The Result of the operation will be a single shape which is a fuse of selected objects:
-.. image:: images/CreatedFuse.png
- :align: center
+.. figure:: images/CreatedFuse.png
+ :align: center
-.. centered::
**Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_fuse` operation.
Advanced
--------
-.. image:: images/boolean_fuse_advanced_property_panel.png
+.. figure:: images/boolean_fuse_advanced_property_panel.png
:align: center
-.. centered::
**Advanced**
- **Objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be fused with tool objects.
The Result of the operation will be a single shape which is a fuse of selected objects and tools:
-.. image:: images/boolean_fuse_result.png
- :align: center
+.. figure:: images/boolean_fuse_result.png
+ :align: center
-.. centered::
**Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_fuse` operation.
The following property panel appears:
-.. image:: images/FuseFaces.png
- :align: center
+.. figure:: images/FuseFaces.png
+ :align: center
-.. centered::
- **Fuse Faces** property panel
+ **Fuse Faces** property panel
Input fields:
The Result of the operation will be a shape with eliminated edges:
-.. image:: images/CreatedFuseFaces.png
- :align: center
+.. figure:: images/CreatedFuseFaces.png
+ :align: center
-.. centered::
Shape before and after operation **Fuse Faces**
**See Also** a sample TUI Script of :ref:`tui_create_fuse_faces` operation.
.. |import_result_btn.icon| image:: images/import_result_btn.png
Import Result
-=====
+=============
The Import Result feature allows the user to import one or several results from another Part. If the result of the source-part is
changed, the part and part result that contains the copy-results will be updated. The feature keeps the
The following property panel will be opened:
-.. image:: images/ImportResult.png
- :align: center
+.. figure:: images/ImportResult.png
+ :align: center
-.. centered::
**Import result operation**
Here it is necessary to select one or several objects. It is only possible to import results from Parts placed before the
The Result of the operation will be copy of one or several results selected in another part located in the same place:
-.. image:: images/CreatedImportResult.png
- :align: center
+.. figure:: images/CreatedImportResult.png
+ :align: center
-.. centered::
**Import result created**
**See Also** a sample TUI Script of :ref:`tui_create_import_result` operation.
The following property panel will be opened:
-.. image:: images/intersection_property_panel.png
- :align: center
+.. figure:: images/intersection_property_panel.png
+ :align: center
-.. centered::
**Intersection operation**
**Objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be intersected.
The Result of the operation will be a shape which is an intersection of selected objects:
-.. image:: images/CreatedIntersection.png
- :align: center
+.. figure:: images/CreatedIntersection.png
+ :align: center
-.. centered::
**Intersection created**
**See Also** a sample TUI Script of :ref:`tui_create_intersection` operation.
The following property panel appears.
-.. image:: images/LinearCopy.png
- :align: center
+.. figure:: images/LinearCopy.png
+ :align: center
-.. centered::
- Linear copy property panel
+ Linear copy property panel
Input fields:
""""""
Result of operation is a compound.
-.. image:: images/linearcopyres.png
+.. figure:: images/linearcopyres.png
:align: center
-.. centered::
Linear copy
**See Also** a sample TUI Script of :ref:`tui_create_linearcopy` operation.
\ No newline at end of file
The following dimensions can be calculated:
- .. image:: images/meas_length_32x32.png
- :align: left
- edge length
+.. figure:: images/meas_length_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/meas_distance_32x32.png
- :align: left
- distance between objects
+edge length
- .. image:: images/meas_radius_32x32.png
- :align: left
- radius
+.. figure:: images/meas_distance_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/meas_angle_32x32.png
- :align: left
- angle between edges
+distance between objects
- .. image:: images/meas_angle3p_32x32.png
- :align: left
- angle by 3 points
+.. figure:: images/meas_radius_32x32.png
+ :align: left
+ :height: 24px
+
+radius
+
+.. figure:: images/meas_angle_32x32.png
+ :align: left
+ :height: 24px
+
+angle between edges
+
+.. figure:: images/meas_angle3p_32x32.png
+ :align: left
+ :height: 24px
+
+angle by 3 points
+
+--------------------------------------------------------------------------------
Edge length
-----------
The length can be measured for straight or curved edge built on two points.
-.. image:: images/Measurement1.png
- :align: center
+.. figure:: images/Measurement1.png
+ :align: center
-.. centered::
- Edge length
+ Edge length
Input fields:
**Distance between objects** calculates minimal distance for any pair of shapes: vertex, edge, face, solid.
- .. image:: images/Measurement2.png
- :align: center
+ .. figure:: images/Measurement2.png
+ :align: center
-.. centered::
- Distance between objects
+ Distance between objects
Input fields:
**Radius** calculates radius for circular edge or cylindrical face.
-.. image:: images/Measurement3.png
- :align: center
+.. figure:: images/Measurement3.png
+ :align: center
-.. centered::
- Radius
+ Radius
Input fields:
**Angle between edges** calculates angle between the selected pair of edges in the point of intersection. If there are several points of intersection, then angles are calculated in all points.
-.. image:: images/Measurement4.png
- :align: center
+.. figure:: images/Measurement4.png
+ :align: center
-.. centered::
- Angle between edges
+ Angle between edges
Input fields:
**Angle by 3 points** calculates angle between the selected three points. The second point is in the corner of the angle.
-.. image:: images/Measurement5.png
- :align: center
+.. figure:: images/Measurement5.png
+ :align: center
-.. centered::
- Angle by 3 points
+ Angle by 3 points
Input fields:
:param object: A second vertex in format *model.selection("TYPE", shape)*.
:param object: A third vertex in format *model.selection("TYPE", shape)*.
:return: Calculated value.
-
\ No newline at end of file
+
The following property panel will be opened:
-.. image:: images/Partition.png
- :align: center
+.. figure:: images/Partition.png
+ :align: center
-.. centered::
**Partition operation**
**Base Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be partitioned.
The Result of the operation will be a shape which is a partition of selected objects:
-.. image:: images/CreatedPartition.png
- :align: center
+.. figure:: images/CreatedPartition.png
+ :align: center
-.. centered::
**Partition created**
**See Also** a sample TUI Script of :ref:`tui_create_partition` operation.
Pipe can be created in three different ways:
- .. image:: images/pipe_simple_32x32.png
- :align: left
- by object and path
+.. figure:: images/pipe_simple_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/pipe_binormal_32x32.png
- :align: left
- by object, path and Bi-normal
+by object and path
- .. image:: images/pipe_locations_32x32.png
- :align: left
- by object, path and locations
+.. figure:: images/pipe_binormal_32x32.png
+ :align: left
+ :height: 24px
+
+by object, path and Bi-normal
+
+.. figure:: images/pipe_locations_32x32.png
+ :align: left
+ :height: 24px
+
+by object, path and locations
+
+--------------------------------------------------------------------------------
Pipe by object and path
-----------------------
Base Objects are extruded along the Path Object so that the angle between the normal vector to the base shape and the tangent to the path remain constant at any point of the given path.
-.. image:: images/Pipe1.png
- :align: center
+.. figure:: images/Pipe1.png
+ :align: center
-.. centered::
- Pipe by object and path property panel
+ Pipe by object and path property panel
Input fields:
Result of extrusion of an arc along another arc.
-.. image:: images/simplePipe.png
+.. figure:: images/simplePipe.png
:align: center
-.. centered::
Pipe by object and path
**See Also** a sample TUI Script of ref:`tui_simple_pipe` operation.
The pipe is generated to preserve the constant angle between the normal vector to the base shape and the BiNormal vector at any point of the given path.
-.. image:: images/Pipe2.png
- :align: center
-
-.. centered::
- Pipe by object, path and Bi-normal property panel
+.. figure:: images/Pipe2.png
+ :align: center
+
+ Pipe by object, path and Bi-normal property panel
Input fields:
Result of extrusion of a rectangular face along arc.
-.. image:: images/binormalPipe.png
+.. figure:: images/binormalPipe.png
:align: center
-.. centered::
Pipe by object, path and Bi-normal
**See Also** a sample TUI Script of :ref:`tui_binormal_pipe` operation.
The pipe is generated to preserve selected profiles at the specified locations along the path.
-.. image:: images/Pipe3.png
- :align: center
+.. figure:: images/Pipe3.png
+ :align: center
-.. centered::
- Pipe by object, path and locations property panel
+ Pipe by object, path and locations property panel
Input fields:
Result of extrusion of 3 circles along arc with specified locations.
-.. image:: images/locationPipe.png
+.. figure:: images/locationPipe.png
:align: center
-.. centered::
Pipe by object, path and locations
-**See Also** a sample TUI Script of :ref:`tui_locations_pipe` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_locations_pipe` operation.
The following property panel will be opened:
-.. image:: images/Placement.png
- :align: center
+.. figure:: images/Placement.png
+ :align: center
-.. centered::
**Placement operation**
In this property panel, it is necessary to:
The Result of the operation will be a new placement of selected objects:
-.. image:: images/CreatedPlacement.png
- :align: center
+.. figure:: images/CreatedPlacement.png
+ :align: center
-.. centered::
**Placement created**
**See Also** a sample TUI Script of :ref:`tui_create_placement` operation.
The feature has the following options:
-.. image:: images/recover_default_32x32.png
+.. figure:: images/recover_default_32x32.png
:align: left
+ :height: 24px
+
restore only the objects used in the operation
-.. image:: images/recover_compound_32x32.png
+.. figure:: images/recover_compound_32x32.png
:align: left
+ :height: 24px
+
restore full compound/compsolid if the operation used one or more of its sub-shapes
+--------------------------------------------------------------------------------
Recover objects
---------------
-.. image:: images/recover_mode_default.png
+.. figure:: images/recover_mode_default.png
:align: center
-.. centered::
Recover objects used in operation
- **Feature** field contains one of the previous operations;
Result of restoring the shape used in Split operation in compsolid is a single solid.
-.. image:: images/recover_res_default.png
+.. figure:: images/recover_res_default.png
:align: center
-.. centered::
Recover a solid
**See also** a sample TUI script of ref:`tui_recover_default` operation.
Recover top-level objects
-------------------------
-.. image:: images/recover_mode_compound.png
+.. figure:: images/recover_mode_compound.png
:align: center
-.. centered::
Recover top-level compounds/compsolids of objects used in operation
- **Feature** field contains one of the previous operations;
Result of restoring the shape used in Split operation in compsolid is a full compsolid.
-.. image:: images/recover_res_compound.png
+.. figure:: images/recover_res_compound.png
:align: center
-.. centered::
Recover a compsolid
**See also** a sample TUI script of ref:`tui_recover_compound` operation.
The following property panel will be opened:
-.. image:: images/RemoveSubShapes.png
+.. figure:: images/RemoveSubShapes.png
:align: center
-.. centered::
Remove Sub-Shapes
+.. |by_removing| image:: images/remove_subshapes_32x32.png
+.. |by_keeping| image:: images/keep_subshapes_32x32.png
+
- **Shape** shape from which sub-shapes should be removed. Only wires, shells, compsolids or compounds are allowed for selection.
There are 2 options for removing sub-shapes:
-.. image:: images/remove_subshapes_32x32.png
- :align: left
-**By removing** allows selecting sub-shapes to be removed.
+|by_removing| **By removing** allows selecting sub-shapes to be removed.
- **Sub-Shapes to remove** the list of sub-shapes which should be removed.
:param list: A list of objects.
-
-.. image:: images/keep_subshapes_32x32.png
- :align: left
-**By keeping** allows select sub-shapes to be kept.
+|by_keeping| **By keeping** allows select sub-shapes to be kept.
- **Sub-Shapes to keep** the list of sub-shapes which should be kept.
The Result of the operation will be a shape without removed sub-shapes:
-.. image:: images/remove_subshapes_result.png
- :align: center
+.. figure:: images/remove_subshapes_result.png
+ :align: center
-.. centered::
**Remove Sub-Shapes**
**See Also** a sample TUI Script of :ref:`tui_create_remove_subshapes` operation.
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are three variants of the property panel for Revolution Cut depending on the chosen option:
-.. image:: images/revolution_by_angles.png
+.. figure:: images/revolution_by_angles.png
:align: left
+ :height: 24px
+
**By Angles** revolves objects by specifying angles.
-.. image:: images/revolution_by_bounding_planes.png
+.. figure:: images/revolution_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Planes** revolves objects by specifying bounding planes and angles.
-.. image:: images/revolution_through_all.png
+.. figure:: images/revolution_through_all.png
:align: left
+ :height: 24px
+
**Through All** revolves objects by 360 degrees.
+--------------------------------------------------------------------------------
By angles
---------
+---------
-.. image:: images/RevolutionCut1.png
- :align: center
+.. figure:: images/RevolutionCut1.png
+ :align: center
-.. centered::
- Revolution Cut: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_cut_by_angles_result.png
- :align: center
+.. figure:: images/revolution_cut_by_angles_result.png
+ :align: center
-.. centered::
**Revolution Cut created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_cut_by_angles` operation.
By bounding planes
------------------
-.. image:: images/RevolutionCut2.png
- :align: center
+.. figure:: images/RevolutionCut2.png
+ :align: center
-.. centered::
- Revolution Cut: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_cut_by_bounding_planes_result.png
- :align: center
+.. figure:: images/revolution_cut_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Revolution Cut created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_cut_by_bounding_planes` operation.
Through all
---------
+-----------
-.. image:: images/RevolutionCut3.png
- :align: center
+.. figure:: images/RevolutionCut3.png
+ :align: center
-.. centered::
- Revolution Cut: revolving through all the space
+ Revolution Cut: revolving through all the space
- **Base objects** - contains a list of objects selected in the Object Browser or in the Viewer, which will be revolved.
- **Axis** - axis of revolution.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_cut_through_all_result.png
- :align: center
+.. figure:: images/revolution_cut_through_all_result.png
+ :align: center
-.. centered::
**Revolution Cut created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_cut_through_all` operation.
.. |revolution_btn.icon| image:: images/revolution_btn.png
+.. _featureRevolution:
+
Revolution
==========
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are two variants of the property panel for Revolution depending on the chosen option:
-.. image:: images/revolution_by_angles.png
+.. figure:: images/revolution_by_angles.png
:align: left
+ :height: 24px
+
**By Angles** revolves objects by specifying angles.
-.. image:: images/revolution_by_bounding_planes.png
+.. figure:: images/revolution_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Planes** revolves objects by specifying bounding planes and angles.
+--------------------------------------------------------------------------------
By angles
---------
+---------
-.. image:: images/Revolution1.png
- :align: center
+.. figure:: images/Revolution1.png
+ :align: center
-.. centered::
- Revolution: definition by angles
+ 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_by_angles_result.png
- :align: center
+.. figure:: images/revolution_by_angles_result.png
+ :align: center
-.. centered::
**Revolution created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_by_angles` operation.
By bounding planes
------------------
-.. image:: images/Revolution2.png
- :align: center
+.. figure:: images/Revolution2.png
+ :align: center
-.. centered::
- Revolution: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_by_bounding_planes_result.png
- :align: center
+.. figure:: images/revolution_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Revolution created**
-**See Also** a sample TUI Script of :ref:`tui_create_revolution_by_bounding_planes` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_revolution_by_bounding_planes` operation.
The following property panel will be opened:
-.. image:: images/StartSketch.png
- :align: center
+.. figure:: images/StartSketch.png
+ :align: center
-.. centered::
- Start sketch
+ Start sketch
There are three variants of the property panel for Revolution Fuse depending on the chosen option:
-.. image:: images/revolution_by_angles.png
+.. figure:: images/revolution_by_angles.png
:align: left
+ :height: 24px
+
**By Angles** revolves objects by specifying angles.
-.. image:: images/revolution_by_bounding_planes.png
+.. figure:: images/revolution_by_bounding_planes.png
:align: left
+ :height: 24px
+
**By Bounding Planes** revolves objects by specifying bounding planes and angles.
-.. image:: images/revolution_through_all.png
+.. figure:: images/revolution_through_all.png
:align: left
+ :height: 24px
+
**Through All** revolves objects by 360 degrees.
+--------------------------------------------------------------------------------
By angles
---------
+---------
-.. image:: images/RevolutionFuse1.png
- :align: center
+.. figure:: images/RevolutionFuse1.png
+ :align: center
-.. centered::
- Revolution Fuse: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_fuse_by_angles_result.png
- :align: center
+.. figure:: images/revolution_fuse_by_angles_result.png
+ :align: center
-.. centered::
**Revolution Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_fuse_by_angles` operation.
By bounding planes
------------------
-.. image:: images/RevolutionFuse2.png
- :align: center
+.. figure:: images/RevolutionFuse2.png
+ :align: center
-.. centered::
- Revolution Fuse: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_fuse_by_bounding_planes_result.png
- :align: center
+.. figure:: images/revolution_fuse_by_bounding_planes_result.png
+ :align: center
-.. centered::
**Revolution Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_fuse_by_bounding_planes` operation.
Through All
-----------
-.. image:: images/RevolutionFuse3.png
- :align: center
+.. figure:: images/RevolutionFuse3.png
+ :align: center
-.. centered::
- Revolution Fuse: 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.
The Result of the operation will be a revolved shape:
-.. image:: images/revolution_fuse_through_all_result.png
- :align: center
+.. figure:: images/revolution_fuse_through_all_result.png
+ :align: center
-.. centered::
**Revolution Fuse created**
**See Also** a sample TUI Script of :ref:`tui_create_revolution_fuse_through_all` operation.
Two rotation algorithms are:
- .. image:: images/rotation_axis_32x32.png
- :align: left
- by axis and angle
+.. figure:: images/rotation_axis_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/rotation_3pt_32x32.png
- :align: left
- by center and 2 points
+by axis and angle
+
+.. figure:: images/rotation_3pt_32x32.png
+ :align: left
+ :height: 24px
+
+by center and 2 points
+
+--------------------------------------------------------------------------------
Rotation by axis and angle
--------------------------
-.. image:: images/Rotation1.png
- :align: center
+.. figure:: images/Rotation1.png
+ :align: center
-.. centered::
- Rotation by axis and angle property panel
+ Rotation by axis and angle property panel
Input fields:
Result of operation is a rotated initial shape.
-.. image:: images/rotation_axis.png
+.. figure:: images/rotation_axis.png
:align: center
-.. centered::
Rotation by axis and angle
**See Also** a sample TUI Script of :ref:`tui_rotation_axis` operation.
Rotation by center and points
-----------------------------
-.. image:: images/Rotation2.png
- :align: center
+.. figure:: images/Rotation2.png
+ :align: center
-.. centered::
- Rotation by center and 2 points property panel
+ Rotation by center and 2 points property panel
Input fields:
Result of operation is a rotated initial shape.
-.. image:: images/rotation_3points.png
+.. figure:: images/rotation_3points.png
:align: center
-.. centered::
Rotation by center and 2 points
-**See Also** a sample TUI Script of :ref:`tui_rotation_3points` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_rotation_3points` operation.
.. |bool_smash.icon| image:: images/bool_smash.png
+ :height: 16px
Smash
=====
The following property panel will be opened:
-.. image:: images/Smash.png
- :align: center
+.. figure:: images/Smash.png
+ :align: center
-.. centered::
- **Smash operation**
+ **Smash operation**
- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be smashed by tool objects.
If a subshape that belongs to a compsolid/compound was selected, other shapes of this compsolid/compound will be cut from
The Result of the operation will be a shape which is a smash of tool objects from main objects:
-.. image:: images/CreatedSmash.png
- :align: center
+.. figure:: images/CreatedSmash.png
+ :align: center
-.. centered::
**Smash created**
**See Also** a sample TUI Script of :ref:`tui_create_smash` operation.
.. |bool_split.icon| image:: images/bool_split.png
+ :height: 16px
Split
=====
The following property panel will be opened:
-.. image:: images/Split.png
- :align: center
+.. figure:: images/Split.png
+ :align: center
-.. centered::
**Split operation**
- **Main Objects** contains a list of objects selected in the Object Browser or in the Viewer, which will be cut and splitted by tool objects.
The Result of the operation will be a shape, which is a split of tool objects with main objects:
-.. image:: images/CreatedSplit.png
- :align: center
+.. figure:: images/CreatedSplit.png
+ :align: center
-.. centered::
**Split created**
**See Also** a sample TUI Script of :ref:`tui_create_bool_split` operation.
Symmetrical copy of an Object can be mirrored in three different ways:
- .. image:: images/symmetry_point_32x32.png
- :align: left
- through a Point of symmetry
+.. figure:: images/symmetry_point_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/symmetry_axis_32x32.png
- :align: left
- through an Axis of symmetry
+through a Point of symmetry
- .. image:: images/symmetry_plane_32x32.png
- :align: left
- through a Plane of symmetry
+.. figure:: images/symmetry_axis_32x32.png
+ :align: left
+ :height: 24px
+
+through an Axis of symmetry
+
+.. figure:: images/symmetry_plane_32x32.png
+ :align: left
+ :height: 24px
+
+through a Plane of symmetry
+
+--------------------------------------------------------------------------------
Symmetry through a Point of symmetry
------------------------------------
-.. image:: images/symmetryPoint.png
- :align: center
+.. figure:: images/symmetryPoint.png
+ :align: center
-.. centered::
- Symmetry through a Point of symmetry property panel
+ Symmetry through a Point of symmetry property panel
Input fields:
The result of operation is a mirrored initial shape with **Create a copy** = *True*.
-.. image:: images/symmetryPointres.png
+.. figure:: images/symmetryPointres.png
:align: center
-.. centered::
Symmetry through a Point of symmetry
**See Also** a sample TUI Script of :ref:`tui_symmetry_point` operation.
Symmetry through an Axis of symmetry
------------------------------------
-.. image:: images/symmetryAxis.png
- :align: center
+.. figure:: images/symmetryAxis.png
+ :align: center
-.. centered::
- Symmetry through an Axis of symmetry property panel
+ Symmetry through an Axis of symmetry property panel
Input fields:
The result of operation is a mirrored initial shape with **Create a copy** = *False*.
-.. image:: images/symmetryAxisres.png
+.. figure:: images/symmetryAxisres.png
:align: center
-.. centered::
Symmetry through an Axis of symmetry
**See Also** a sample TUI Script of :ref:`tui_symmetry_axis` operation.
Symmetry through a Plane of symmetry
------------------------------------
-.. image:: images/symmetryPlane.png
- :align: center
+.. figure:: images/symmetryPlane.png
+ :align: center
-.. centered::
- Symmetry through a Plane of symmetry property panel
+ Symmetry through a Plane of symmetry property panel
Input fields:
The result of operation is a mirrored initial shape with **Create a copy** = *False*.
-.. image:: images/symmetryPlaneres.png
+.. figure:: images/symmetryPlaneres.png
:align: center
-.. centered::
Symmetry through a Plane of symmetry
-**See Also** a sample TUI Script of :ref:`tui_symmetry_plane` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_symmetry_plane` operation.
Two Scale algorithms are:
- .. image:: images/scale_factor_32x32.png
- :align: left
- by one common factor
+.. figure:: images/scale_factor_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/scale_dimensions_32x32.png
- :align: left
- by different factors along axes
+by one common factor
+
+.. figure:: images/scale_dimensions_32x32.png
+ :align: left
+ :height: 24px
+
+by different factors along axes
+
+--------------------------------------------------------------------------------
Scale by one common factor
--------------------------
Scale by one common factor scales the entire object without modification the geometry of the shape: dimensions change evenly in all three orthogonal directions.
-.. image:: images/Scale1.png
- :align: center
+.. figure:: images/Scale1.png
+ :align: center
-.. centered::
- Scale by one common factor property panel
+ Scale by one common factor property panel
Input fields:
Result of operation is transformed initial shape shown in wireframe mode together with initial shape in shading mode.
-.. image:: images/Scale_common_factor.png
+.. figure:: images/Scale_common_factor.png
:align: center
-.. centered::
Scale by one common factor
**See Also** a sample TUI Script of :ref:`tui_Scale_common_factor` operation.
Scale by different factors along axes is a general transformation, which can modify the geometry, for example, a sphere can be transformed into an ellipsoid.
-.. image:: images/Scale2.png
- :align: center
+.. figure:: images/Scale2.png
+ :align: center
-.. centered::
- Scale: define by different factors property panel
+ Scale: define by different factors property panel
Input fields:
Result of operation is transformed initial shape.
-.. image:: images/Scale_XYZ.png
+.. figure:: images/Scale_XYZ.png
:align: center
-.. centered::
Scale by different factors
-**See Also** a sample TUI Script of :ref:`tui_Scale_XYZ` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_Scale_XYZ` operation.
.. _featureTranslation:
.. |translation_vector_32x32.icon| image:: images/translation_vector_32x32.png
+ :height: 16px
Translation
===========
The Vector of translation can be defined in three different ways:
- .. image:: images/translation_vector_32x32.png
- :align: left
- by by axis and distance
+.. figure:: images/translation_vector_32x32.png
+ :align: left
+ :height: 24px
- .. image:: images/translation_dxyz_32x32.png
- :align: left
- by vector
+by by axis and distance
- .. image:: images/translation_2pt_32x32.png
- :align: left
- by two points
+.. figure:: images/translation_dxyz_32x32.png
+ :align: left
+ :height: 24px
+
+by vector
+
+.. figure:: images/translation_2pt_32x32.png
+ :align: left
+ :height: 24px
+
+by two points
+
+--------------------------------------------------------------------------------
Translation by axis and distance
--------------------------------
-.. image:: images/Translation2.png
- :align: center
+.. figure:: images/Translation2.png
+ :align: center
-.. centered::
- Translation by axis and distance property panel
+ Translation by axis and distance property panel
Input fields:
The result of operation is a shifted initial shape.
-.. image:: images/translation_XYZ.png
+.. figure:: images/translation_XYZ.png
:align: center
-.. centered::
Translation by axis and distance
**See Also** a sample TUI Script of a :ref:`tui_translation_vector` operation.
Translation by vector
---------------------
-.. image:: images/Translation1.png
- :align: center
+.. figure:: images/Translation1.png
+ :align: center
-.. centered::
- Translation by vector property panel
+ Translation by vector property panel
Input fields:
The result of operation is a shifted initial shape.
-.. image:: images/translation_vector.png
+.. figure:: images/translation_vector.png
:align: center
-.. centered::
Translation by vector
**See Also** a sample TUI Script of :ref:`tui_translation_DXDYDZ` operation.
Translation by two points
-------------------------
-.. image:: images/Translation3.png
- :align: center
+.. figure:: images/Translation3.png
+ :align: center
-.. centered::
- Translation by two points property panel
+ Translation by two points property panel
Input fields:
The result of operation is a shifted initial shape.
-.. image:: images/translation_2points.png
+.. figure:: images/translation_2points.png
:align: center
-.. centered::
Translation by two points
**See Also** a sample TUI Script of :ref:`tui_translation_2points` operation.
The following property panel will be opened:
-.. image:: images/Union.png
- :align: center
+.. figure:: images/Union.png
+ :align: center
-.. centered::
**Union operation**
Here it is necessary to select some objects. Only faces with shared edges or solids with shared faces are allowed for selection.
The Result of the operation will be a shape which is a union of selected objects:
-.. image:: images/CreatedUnion.png
- :align: center
+.. figure:: images/CreatedUnion.png
+ :align: center
-.. centered::
**Union created**
**See Also** a sample TUI Script of :ref:`tui_create_union` operation.
-.. |plus.icon| image:: images/add.png
-.. |minus.icon| image:: images/reverce.png
+.. |plus.icon| image:: images/add.png
+.. |minus.icon| image:: images/reverce.png
.. |delete.icon| image:: images/delete.png
Selection by filters panel looks like following:
-.. image:: images/selection_by_filters.png
+.. figure:: images/selection_by_filters.png
:align: center
-.. centered::
Selection by filters property panel
In this panel:
- **Add new filter** combo box. It contains accessible filters according to the selection mode. When user selects an item from this combo box a filter item appears in **Filters** panel like in the following example:
-.. image:: images/selection_by_filters_added.png
+.. figure:: images/selection_by_filters_added.png
:align: center
-.. centered::
Filters **Horizontal faces** and **On plane** added to the property panel.
If filter is implemented as "Multiple", several instances of this filter may be added in one selection. Otherwise the added filter is removed from the "Add new filter..." list.
if the filter has arguments.
- **Select** button traverces all objects of a current document and selects entities acceptable by currently defined set of filters. All selected entities will be shown in viewer 3d with
-blue semi-transparent color. Any modification in filters clears current selection.
+ blue semi-transparent color. Any modification in filters clears current selection.
- **Number of selected objects** shows number currently selected entities.
- **Arguments:** A point, an edge or a face. A “propagation” flag (check-box).
- **Algorithm:**
- If a point of an edge is selected as an argument, the result is all faces that contain this argument.If a face is selected, the result is all faces that have shared edges or vertices with this selection.
- - If “propagation” flag is enabled (it is disabled by default), the algorithm becomes recursive: all connected faces are added to the results. So, for the solid shape there will be all faces except internal-volumes faces, not connected to any external faces.
\ No newline at end of file
+ - If “propagation” flag is enabled (it is disabled by default), the algorithm becomes recursive: all connected faces are added to the results. So, for the solid shape there will be all faces except internal-volumes faces, not connected to any external faces.
#. select in the Main Menu *GDML - > Cone segment* item or
#. click **Cone segment** button in the toolbar.
-.. image:: images/cone_btn.png
+.. figure:: images/cone_btn.png
:align: center
-.. centered::
**Cone segment** button
The following property panel will be opened:
-.. image:: images/Cone_panel.png
+.. figure:: images/Cone_panel.png
:align: center
-.. centered::
**Cone property panel**
The property panel contains an image which explains the meaning of input values:
The Result of the operation will be a SOLID.
-.. image:: images/CreatedCone.png
+.. figure:: images/CreatedCone.png
:align: center
-.. centered::
Cone created
**See Also** a sample TUI Script of :ref:`tui_create_conesegment` operation.
#. select in the Main Menu *GDML - > Ellipsoid* item or
#. click **Ellipsoid** button in the toolbar.
-.. image:: images/ellips_btn.png
+.. figure:: images/ellips_btn.png
:align: center
-.. centered::
**Ellipsoid** button
The following property panel will be opened:
-.. image:: images/Ellipsoid.png
+.. figure:: images/Ellipsoid.png
:align: center
-.. centered::
**Ellipsoid property panel**
The property panel contains an image, which explains the meaning of input values:
The Result of the operation will be a SOLID.
-.. image:: images/CreatedEllipsoid.png
+.. figure:: images/CreatedEllipsoid.png
:align: center
-.. centered::
Ellipsoid created
**See Also** a sample TUI Script of :ref:`tui_create_ellipsoid` operation.
:titlesonly:
:maxdepth: 1
- managerFeature.rst
parameterFeature.rst
+ managerFeature.rst
-
-
-
-
+++ /dev/null
-
- .. _tui_parametersFeature:
-
-Create Parameters
-=================
-
-.. literalinclude:: examples/parameters.py
- :linenos:
- :language: python
-
-:download:`Download this script <examples/parameters.py>`
-
+++ /dev/null
-from salome.shaper import model
-
-model.begin()
-partSet = model.moduleDocument()
-model.addParameter(partSet, "angle", "60*3.141/180", "main angle")
-model.addParameter(partSet, "height", "200*sin(angle)")
-model.end()
-.. _parameters:
.. |paper_roll.icon| image:: images/paper_roll.png
+.. _parameters:
Parameters manager
==================
The following dialog box with parameter table appears:
-.. image:: images/parameters.png
+.. figure:: images/parameters.png
:align: center
-.. centered::
Parameters dialog box
+.. |param_up| image:: images/parameters_up.png
+.. |param_down| image:: images/parameters_down.png
+
**Input fields**:
- **Name** defines parameter name. Name follows the naming rules of the python language for variables;
- **Insert** button adds a new empty string before the selected parameter;
- **Delete** button removes the selected parameter from the table;
- **Modify parameter position** button moves the selected parameter
- .. image:: images/parameters_up.png
- :align: left
- one string higher in the table,
- .. image:: images/parameters_down.png
- :align: left
- one string lower in the table.
-
-
-**TUI Command**:
-
-.. py:function:: model.addParameter(Part_doc, Name, Value, Comment)
-
- :param part: The current part object
- :param string: The parameter name
- :param number: The parameter value
- :param string: The parameter comment
- :return: Created object.
-
-**See Also** a sample TUI Script of :ref:`tui_parametersFeature` operation.
-
-Result
-------
-
-Created parameters and their current values are displayed in the Object Browser, in a special section **Parameters**.
-
-.. image:: images/object_browser_parameters.png
- :align: center
+ | |param_up| one string higher in the table,
+ | |param_down| one string lower in the table.
-.. centered::
- **Parameters** in object browser
+**See Also** :ref:`parameter` operation.
-.. _parameter:
.. |expression.icon| image:: images/expression.png
+.. _parameter:
+
Create parameter
================
The following property panel appears.
-.. image:: images/parameter.png
+.. figure:: images/parameter.png
:align: center
-.. centered::
Parameter property panel
**Input fields**:
The created parameter and its current value are displayed in the Object Browser, in a special section **Parameters**.
-.. image:: images/object_browser_parameter.png
+.. figure:: images/object_browser_parameter.png
:align: center
-.. centered::
**Parameter** in object browser
.. _tui_create_torus:
Create / Torus
-=============
+==============
.. literalinclude:: examples/torus.py
:linenos:
.. _box_feature:
-.. |box.icon| image:: images/box.png
Box
===
+.. |box.icon| image:: images/box.png
+
Box feature creates a box solid.
To create a Box in the active part:
There are 2 algorithms for creation of a Box:
-.. image:: images/box_2pt_32x32.png
+.. figure:: images/box_dxyz_32x32.png
:align: left
+ :height: 24px
+
**By dimensions**
-.. image:: images/box_dxyz_32x32.png
+.. figure:: images/box_2pt_32x32.png
:align: left
+ :height: 24px
+
**By two points**
+--------------------------------------------------------------------------------
By dimensions
-------------
Box is created by dimensions along X, Y, Z axis starting from the origin.
-.. image:: images/Box_dimensions.png
+.. figure:: images/Box_dimensions.png
:align: center
Input fields:
A solid box based on the origin of coordinates and with edges parallel to the coordinate axes.
-.. image:: images/Box1.png
- :align: center
+.. figure:: images/Box1.png
+ :align: center
**See Also** a sample TUI Script of a :ref:`tui_create_boxdim` operation.
Box is created by two points of the box diagonal.
-.. image:: images/Box_2points.png
- :align: center
+.. figure:: images/Box_2points.png
+ :align: center
Input fields:
:param object: First vertex of diagonal.
:param object: Second vertex of diagonal.
:return: Result object.
+
**Arguments**: Part + 2 selected points (opposite vertices of the box)
Result
A solid box based on two points and with edges parallel to the coordinate axes.
-.. image:: images/Box2.png
- :align: center
+.. figure:: images/Box2.png
+ :align: center
-.. centered::
Created boxes
**See Also** a sample TUI Script of :ref:`tui_create_boxpnt` operation.
The following property panel appears.
-.. image:: images/Cone.png
- :align: center
+.. figure:: images/Cone.png
+ :align: center
-.. centered::
Cone property panel
Input fields:
If the radii are equal, the Cylinder will be created instead of cone.
-.. image:: images/Cone_res.png
- :align: center
+.. figure:: images/Cone_res.png
+ :align: center
-.. centered::
Cone created
**See Also** a sample TUI Script of :ref:`tui_create_cone` operation.
There are 2 algorithms for creation of a Cylinder:
-.. image:: images/cylinder_32x32.png
+.. figure:: images/cylinder_32x32.png
:align: left
+ :height: 24px
+
**Cylinder** creates a cylinder.
-.. image:: images/cylinder_portion_32x32.png
+.. figure:: images/cylinder_portion_32x32.png
:align: left
+ :height: 24px
+
**Portion of cylinder** creates one segment of a cylinder.
+--------------------------------------------------------------------------------
+
Cylinder
--------
-.. image:: images/Cylinder.png
+.. figure:: images/Cylinder.png
:align: center
-.. centered::
**Cylinder** property panel
Input fields:
An example is shown below.
-.. image:: images/Cylinder1.png
- :align: center
+.. figure:: images/Cylinder1.png
+ :align: center
-.. centered::
Cylinder
**See Also** a sample TUI Script of :ref:`tui_create_cylinder` operation.
Portion of cylinder
-------------------
-.. image:: images/Portion_cylinder.png
- :align: center
+.. figure:: images/Portion_cylinder.png
+ :align: center
-.. centered::
**Portion of cylinder** property panel
Input fields for ***Portion of cylinder** tab include **Angle** defining a portion of cylinder.
An example is shown below.
-.. image:: images/Cylinder2.png
- :align: center
+.. figure:: images/Cylinder2.png
+ :align: center
-.. centered::
Portion of cylinder
**See Also** a sample TUI Script of :ref:`tui_create_cylportion` operation.
The following property panel appears.
-.. image:: images/Sphere.png
- :align: center
+.. figure:: images/Sphere.png
+ :align: center
-.. centered::
Sphere property panel
Input fields:
An example is shown below.
-.. image:: images/Sphere_res.png
- :align: center
+.. figure:: images/Sphere_res.png
+ :align: center
-.. centered::
Sphere created
**See Also** a sample TUI Script of :ref:`tui_create_sphere` operation.
The following property panel appears.
-.. image:: images/Torus.png
- :align: center
+.. figure:: images/Torus.png
+ :align: center
-.. centered::
Torus
Input fields:
An example is shown below.
-.. image:: images/Torus_res.png
- :align: center
+.. figure:: images/Torus_res.png
+ :align: center
-.. centered::
Torus created
**See Also** a sample TUI Script of :ref:`tui_create_torus` operation.
The following property panel appears:
-.. image:: images/compoundVerticesPanel.png
- :align: center
+.. figure:: images/compoundVerticesPanel.png
+ :align: center
-.. centered::
set of Points
Select your points file and define a separator if it's different that " " in your points file
A resulting compound will contain the points
-.. image:: images/compoundVertices.png
- :align: center
+.. figure:: images/compoundVertices.png
+ :align: center
-.. centered::
Points
The following property panel appears:
-.. image:: images/importParametersPanel.png
- :align: center
+.. figure:: images/importParametersPanel.png
+ :align: center
-.. centered::
Import Parameters
- :ref:`create_custom_rectangle_xml`,
- icon.png located at sub-folder */icons*.
-.. image:: images/rectangle.png
+.. figure:: images/rectangle.png
:align: center
-.. centered::
File icon.png
The description of custom feature :ref:`create_sketch_rectangle` is given in Sketch plug-in.
\ No newline at end of file
.. _sketchPlugin:
-.. |SketchButton.icon| image:: images/SketchButton.png
Sketch plug-in
================
+.. |SketchButton.icon| image:: images/SketchButton.png
+
Sketch plug-in includes features for creation of 2D shapes.
The sketch creation takes the following steps:
First define a plane for the sketch:
-.. image:: images/PlaneDefinition.png
+.. figure:: images/PlaneDefinition.png
:align: center
- specify plane size (equal to 25 in the example above);
Note that coordinate planes will be suggested for selection if no convenient objects for plane selection are displayed in the viewer:
-.. image:: images/CoordinatePlanes.png
+.. figure:: images/CoordinatePlanes.png
:align: center
After the plane for sketch is selected, the following property panel will be opened:
-.. image:: images/SketchPanel.png
+.. figure:: images/SketchPanel.png
:align: center
-.. centered::
- Sketch general panel
+ Sketch general panel
- **Reversed** check box - allows reversing the sketch plane normal;
- **Set plane view** button - switches the viewer to the top view for the sketch plane;
If all degrees of freedom are eliminated, the sketch is fixed and displayed with green color.
-.. image:: images/Sketch_fixed.png
+.. figure:: images/Sketch_fixed.png
:align: center
-.. centered::
- Fixed Sketch
+ Fixed Sketch
If any degrees of freedom remain unsolved, the sketch is under-constrained and displayed with red color.
-.. image:: images/Sketch_underconstrained.png
+.. figure:: images/Sketch_underconstrained.png
:align: center
-.. centered::
- Underconstrained Sketch
+ Underconstrained Sketch
The plug-in includes the following constraints:
Sketcher comes into overconstrained state when an extra constraint was defined. The following picture shows an example of the overconstrained state:
-.. image:: images/Overconstrained.png
+.. figure:: images/Overconstrained.png
:align: center
-.. centered::
- Overconstrained Sketch
+ Overconstrained Sketch
When Sketcher gets this state then:
.. _tui_create_ellipse:
Create Skecth Ellipse
-====================
+=====================
.. literalinclude:: examples/ellipse.py
:linenos:
- .. _tui_create_intersection:
+ .. _tui_create_sketch_intersection:
Create Intersection
===================
.. _tui_create_perpendicular:
Create Perpendicular constraint
-==========================
+===============================
.. literalinclude:: examples/perpendicular.py
:linenos:
Property panel:
-.. image:: images/Angle_panel.png
+.. figure:: images/Angle_panel.png
:align: center
+.. |angle_direct| image:: images/angle_direct.png
+.. |angle_complement| image:: images/angle_complementary.png
+.. |angle_backward| image:: images/angle_backward.png
+.. |loc_left| image:: images/location_left.png
+.. |loc_auto| image:: images/location_automatic.png
+.. |loc_right| image:: images/location_right.png
+
Input fields:
- **Line 1** is the first line selected in the view;
- **Line 2** is the second line selected in the view;
- **Value** is an angle between the lines, can be modified to set the desirable value;
- **Angle type** is a type of angle measurement:
- .. image:: images/angle_direct.png
- :align: left
- **Direct** is the least angle between two lines;
-
- .. image:: images/angle_complementary.png
- :align: left
- **Complementary** is 180°- Direct angle between two lines;
-
- .. image:: images/angle_backward.png
- :align: left
- **Backward** is 360°- Direct angle between two lines.
+ | |angle_direct| **Direct** is the least angle between two lines;
+ | |angle_complement| **Complementary** is 180°- Direct angle between two lines;
+ | |angle_backward| **Backward** is 360°- Direct angle between two lines.
- **Text location** is the position of the angle value label relatively to the angle line (in the view):
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text to the left of the angle line;
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text it the middle of the angle line if it has enough length, otherwise - to the left;
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the angle line.
+ | |loc_left| **Left** inserts text to the left of the angle line;
+ | |loc_auto| **Automatic** inserts text it the middle of the angle line if it has enough length, otherwise - to the left;
+ | |loc_right| **Right** inserts text to the right of the angle line.
When both lines are selected, the angle value is displayed in the property panel and in the view.
- drag the angle presentation in the view to the desired position and click once;
- set desirable angle value in the input field in the view and press **Enter** or just press **Enter** to keep the current angle
-.. image:: images/Angle_field_view.png
+.. figure:: images/Angle_field_view.png
:align: center
-.. centered::
Angle input in the view
**TUI Commands**:
Created Angle appears in the view.
-.. image:: images/Angle_res.png
- :align: center
+.. figure:: images/Angle_res.png
+ :align: center
-.. centered::
Angle created
-**See Also** a sample TUI Script of :ref:`tui_create_angle` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_angle` operation.
The following property panel appears:
-.. image:: images/elliptic_arc_panel.png
+.. figure:: images/elliptic_arc_panel.png
:align: center
Click in the view to set the center point, then move the mouse and click a second time to set a point of a one semi-axis, then click to set a starting point of the arc and then to set an end point of the arc.
Created elliptic arc appears in the view.
-.. image:: images/elliptic_arc_result.png
- :align: center
+.. figure:: images/elliptic_arc_result.png
+ :align: center
-.. centered::
Elliptic arc created
**See Also** a sample TUI Script of :ref:`tui_create_elliptic_arc` operation.
\ No newline at end of file
There are 4 algorithms for creation of an Arc:
-.. image:: images/arc_base_32x32.png
+.. figure:: images/arc_base_32x32.png
:align: left
+ :height: 24px
+
**By center and two points** creates an arc segment with the given center passing from the start point to the end point on the circle.
-.. image:: images/arc_3pt_32x32.png
+.. figure:: images/arc_3pt_32x32.png
:align: left
+ :height: 24px
+
**By three points** creates an arc segment passing from the start point to end point through another point on the circle.
-.. image:: images/arc_tang_32x32.png
+.. figure:: images/arc_tang_32x32.png
:align: left
+ :height: 24px
+
**By tangent point and end point** creates an arc segment with the tangent point and the end point.
-.. image:: images/arc_perp_32x32.png
+.. figure:: images/arc_perp_32x32.png
:align: left
+ :height: 24px
+
**By point on perpendicular line and end point** creates an arc segment perpendicular to a straight line with the start point, connected with boundary of this line, and the end point.
+-------------------------------------------------------------------------------------------
+
By center and two points
""""""""""""""""""""""""
-.. image:: images/Arc_panel_base.png
+.. figure:: images/Arc_panel_base.png
:align: center
Click in the view once to set the center point, then move the mouse and click a second time to set the start point
By three points
"""""""""""""""
-.. image:: images/Arc_panel_3pt.png
+.. figure:: images/Arc_panel_3pt.png
:align: center
Click in the view once to set the start point, then move the mouse and click a second time to set the end point
By tangent point and end point
""""""""""""""""""""""""""""""
-.. image:: images/Arc_panel_tang.png
+.. figure:: images/Arc_panel_tang.png
:align: center
Select a point on segment in the view to set the tangent point, then move the mouse and click to set the end point.
By point on perpendicular line and end point
""""""""""""""""""""""""""""""""""""""""""""
-.. image:: images/Arc_panel_perp.png
+.. figure:: images/Arc_panel_perp.png
:align: center
Select a point on a straight segment in the view to set the start point, then move the mouse and click to set the end point.
Created arc appears in the view.
-.. image:: images/Arc_res.png
- :align: center
+.. figure:: images/Arc_res.png
+ :align: center
-.. centered::
Arc created
-**See Also** a sample TUI Script of :ref:`tui_create_arc` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_arc` operation.
Creation of B-spline curve
""""""""""""""""""""""""""
-.. image:: images/bspline_creation_panel.png
+.. figure:: images/bspline_creation_panel.png
:align: center
Click in the view to specify the control polygon of B-spline curve. The curve will be shown after the second point is initialized. To stop adding new poles, click **Esc** button or **Apply** the operation.
Created B-spline curve appears in the view.
-.. image:: images/bspline_result.png
- :align: center
+.. figure:: images/bspline_result.png
+ :align: center
-.. centered::
Non-periodic B-spline created
-.. image:: images/bspline_periodic_result.png
- :align: center
+.. figure:: images/bspline_periodic_result.png
+ :align: center
-.. centered::
Periodic B-spline created
**See Also** a sample TUI Script of :ref:`tui_create_bspline` operation.
Modification of B-spline curve
""""""""""""""""""""""""""""""
-.. image:: images/bspline_modification_panel.png
+.. figure:: images/bspline_modification_panel.png
:align: center
-.. centered::
Modification panel for B-spline curve
The following options are provided to modify the already created B-spline curve:
There are 2 algorithms for creation of a Circle:
-.. image:: images/circle_pt_rad_32x32.png
+.. figure:: images/circle_pt_rad_32x32.png
:align: left
+ :height: 24px
+
**By center and passed point** creates a circle with the given center passing through the given point.
-.. image:: images/circle_3pt_32x32.png
+.. figure:: images/circle_3pt_32x32.png
:align: left
+ :height: 24px
+
**By three points** creates a circle passing through the given three points.
+-------------------------------------------------------------------------------------------
+
By center and passed point
""""""""""""""""""""""""""
-.. image:: images/Circle_panel_pt_rad.png
+.. figure:: images/Circle_panel_pt_rad.png
:align: center
Click in the view once to set the center point, then move the mouse and click a second time to set the passed point.
By three points
"""""""""""""""
-.. image:: images/Circle_panel_3pt.png
+.. figure:: images/Circle_panel_3pt.png
:align: center
Click in the view once to set the first passed point, then move the mouse and click a second time to set the second passed point
The following property panel appears when the user selects an existing circle.
-.. image:: images/Circle_panel_edit.png
+.. figure:: images/Circle_panel_edit.png
:align: center
Note that the edition property panel does not show the used creation algorithm.
Created circle appears in the view.
-.. image:: images/Circle_res.png
- :align: center
+.. figure:: images/Circle_res.png
+ :align: center
-.. centered::
Circle created
**See Also** a sample TUI Script of :ref:`tui_create_circle` operation.
Property panel:
-.. image:: images/Coincident_panel.png
+.. figure:: images/Coincident_panel.png
:align: center
Input fields:
Created Coincident constraint appears in the view.
-.. image:: images/Coincident_res.png
- :align: center
+.. figure:: images/Coincident_res.png
+ :align: center
-.. centered::
Created coincident constraint
**See Also** a sample TUI Script of :ref:`tui_create_coincident` operation.
\ No newline at end of file
Property panel:
-.. image:: images/Collinear_panel.png
+.. figure:: images/Collinear_panel.png
:align: center
Input fields:
Created Collinear constraint appears in the view.
-.. image:: images/Collinear_res.png
- :align: center
+.. figure:: images/Collinear_res.png
+ :align: center
-.. centered::
Created collinear constraint
**See Also** a sample TUI Script of :ref:`tui_create_collinear` operation.
-.. |distance.icon| image:: images/distance.png
+.. |distance.icon| image:: images/Distance.png
Distance constraint
===================
Property panel:
-.. image:: images/Distance_panel.png
+.. figure:: images/Distance_panel.png
:align: center
+.. |location_left| image:: images/location_left.png
+.. |location_auto| image:: images/location_automatic.png
+.. |location_right| image:: images/location_right.png
+
Input fields:
- **First object** is the first object selected in the view;
- **Second object** is the second object selected in the view;
- **Value** is a distance between the objects, can be modified to set the desirable value;
- **Text location** is a position of the distance value label relating to extension line (in the view):
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text to the left of the distance extension line;
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left;
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the distance extension line;
+ | |location_left| **Left** inserts text to the left of the distance extension line;
+ | |location_auto| **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left;
+ | |location_right| **Right** inserts text to the right of the distance extension line;
- **Keep orientation** fixes the relative position between selected objects.
When both objects are selected, the distance value is displayed in the property panel and in the view.
- drag the distance presentation in the view to the desired position and click once;
- set the desirable distance value in the input field and press **Enter** or just press **Enter** to keep the current distance.
-.. image:: images/Distance_field_view.png
+.. figure:: images/Distance_field_view.png
:align: center
-.. centered::
Distance input in the view
**TUI Command**:
Created Distance appears in the view.
-.. image:: images/Distance_res.png
- :align: center
+.. figure:: images/Distance_res.png
+ :align: center
-.. centered::
Distance created
**See Also** a sample TUI Script of :ref:`tui_create_distance` operation.
There are 2 algorithms for creation of an Ellipse:
-.. image:: images/ellipse_cent_rad_32x32.png
+.. figure:: images/ellipse_cent_rad_32x32.png
:align: left
+ :height: 24px
+
**By center and major semi-axes and passing points** creates an ellipse with the given center passing through given points.
-.. image:: images/ellipse_axes_32x32.png
+.. figure:: images/ellipse_axes_32x32.png
:align: left
+ :height: 24px
+
**By major axis and passing point** creates an ellipse passing through the given three points.
+-------------------------------------------------------------------------------------------
+
By center and major semi-axes and passing points
""""""""""""""""""""""""""""""""""""""""""""""""
-.. image:: images/ellipse_panel_pt_rad.png
+.. figure:: images/ellipse_panel_pt_rad.png
:align: center
Click in the view once to set the center point, then move the mouse and click to set a point of a first semi-axis, then again move the mouse to set a point of a second semi-axis.
By major axis and passing point
"""""""""""""""""""""""""""""""
-.. image:: images/ellipse_panel_3pt.png
+.. figure:: images/ellipse_panel_3pt.png
:align: center
Click in the view once to set a first point of a first axis, then move the mouse and click to set a second point of the first axis, then again move the mouse to set a point of a second semi-axis.
Created ellipse appears in the view.
-.. image:: images/ellipse_result.png
- :align: center
+.. figure:: images/ellipse_result.png
+ :align: center
-.. centered::
Ellipse created
.. _sketchEqual:
-.. |equal.icon| image:: images/equal.png
+.. |equal.icon| image:: images/Equal.png
Equal constraint
================
Property panel:
-.. image:: images/Equal_panel.png
+.. figure:: images/Equal_panel.png
:align: center
Input fields:
Created Equal constraint appears in the view.
-.. image:: images/Equal_res.png
- :align: center
+.. figure:: images/Equal_res.png
+ :align: center
-.. centered::
Created equal constraint
-**See Also** a sample TUI Script of :ref:`tui_create_equal` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_equal` operation.
-.. |fillet.icon| image:: images/fillet.png
+.. |fillet.icon| image:: images/Fillet.png
Fillet
======
Property panel:
-.. image:: images/Fillet_panel.png
- :align: center
+.. figure:: images/Fillet_panel.png
+ :align: center
-.. centered::
Fillet
Input fields:
Created Fillet appears in the view.
-.. image:: images/Fillet_res.png
- :align: center
+.. figure:: images/Fillet_res.png
+ :align: center
-.. centered::
Created fillet
-**See Also** a sample TUI Script of :ref:`tui_create_fillet` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_fillet` operation.
-.. |fixed.icon| image:: images/fixed.png
+.. |fixed.icon| image:: images/Fixed.png
Fixed constraint
================
Property panel:
-.. image:: images/Fixed_panel.png
+.. figure:: images/Fixed_panel.png
:align: center
Input fields:
Created Fixed constraint appears in the view.
-.. image:: images/Fixed_res.png
- :align: center
+.. figure:: images/Fixed_res.png
+ :align: center
-.. centered::
Created fixed constraint
**See Also** a sample TUI Script of :ref:`tui_create_fixed` operation.
Property panel:
-.. image:: images/HorizontalDistance_panel.png
+.. figure:: images/HorizontalDistance_panel.png
:align: center
+.. |location_left| image:: images/location_left.png
+.. |location_auto| image:: images/location_automatic.png
+.. |location_right| image:: images/location_right.png
+
Input fields:
- **First point** is the first point selected in the view;
- **Second point** is the second point selected in the view;
- **Value** is a distance between the objects, can be modified to set the desirable value;
- **Text location** is a position of the distance value label relating to extension line (in the view):
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text to the left of the distance extension line;
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left;
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the distance extension line.
+ | |location_left| **Left** inserts text to the left of the distance extension line;
+ | |location_auto| **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left;
+ | |location_right| **Right** inserts text to the right of the distance extension line.
When both objects are selected, the horizontal distance value is displayed in the property panel and in the view.
- drag the horizontal distance presentation in the view to the desired position and click once;
- set desirable horizontal distance value in the input field in the view and press **Enter** or just press **Enter** to keep the current distance.
-.. image:: images/HorizontalDistance_field_view.png
+.. figure:: images/HorizontalDistance_field_view.png
:align: center
-.. centered::
Horizontal Distance input in the view
**TUI Command**:
Created Horizontal Distance appears in the view.
-.. image:: images/HorizontalDistance_res.png
- :align: center
+.. figure:: images/HorizontalDistance_res.png
+ :align: center
-.. centered::
Horizontal Distance created
-**See Also** a sample TUI Script of :ref:`tui_create_hdistance` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_hdistance` operation.
Property panel:
-.. image:: images/Horizontal_panel.png
+.. figure:: images/Horizontal_panel.png
:align: center
Input fields:
Created Horizontal constraint appears in the view.
-.. image:: images/Horizontal_res.png
- :align: center
+.. figure:: images/Horizontal_res.png
+ :align: center
-.. centered::
Horizontal constraint created
**See Also** a sample TUI Script of :ref:`tui_create_horizontal` operation.
\ No newline at end of file
-.. |intersection.icon| image:: images/intersection.png
+.. |intersection.icon| image:: images/Intersection.png
Intersection
============
-| The Intersection operation creates an intersection of a 3D edge and the sketch plane.
-| The result of the intersection is a point.
+The Intersection operation creates an intersection of a 3D edge and the sketch plane.
+The result of the intersection is a point.
To create an Intersection in the active Sketch:
Property panel:
-.. image:: images/Intersection_panel.png
- :align: center
+.. figure:: images/Intersection_panel.png
+ :align: center
-.. centered::
Intersection
Input fields:
Created Intersection appears in the view.
-.. image:: images/Intersection_res.png
- :align: center
+.. figure:: images/Intersection_res.png
+ :align: center
-.. centered::
Created intersection (purple point)
-**See Also** a sample TUI Script of :ref:`tui_create_intersection` operation.
+**See Also** a sample TUI Script of :ref:`tui_create_sketch_intersection` operation.
.. _sketchLength:
-.. |length.icon| image:: images/length.png
+.. |length.icon| image:: images/Length.png
Length constraint
=================
Property panel:
-.. image:: images/Length_panel.png
+.. figure:: images/Length_panel.png
:align: center
+.. |location_left| image:: images/location_left.png
+.. |location_auto| image:: images/location_automatic.png
+.. |location_right| image:: images/location_right.png
+
Input fields:
- **Line** is the the line object selected in the view;
- **Value** is a line length, can be modified to set the desirable value;
- **Text location** is a position of the length value label relating to extension line (in the view):
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text to the left of the length extension line;
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text in the middle of the length extension line if it has enough length, otherwise - to the left;
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the length extension line.
+ | |location_left| **Left** inserts text to the left of the length extension line;
+ | |location_auto| **Automatic** inserts text in the middle of the length extension line if it has enough length, otherwise - to the left;
+ | |location_right| **Right** inserts text to the right of the length extension line.
When the line is selected, the length value is displayed in the property panel and in the view.
- drag the length presentation in the view to the desired position and click once;
- set desirable length value in the input field in the view and press **Enter** or just press **Enter** to keep the current length.
-.. image:: images/Length_field_view.png
+.. figure:: images/Length_field_view.png
:align: center
-.. centered::
Length input in the view
**TUI Command**:
Created Length appears in the view.
-.. image:: images/Length_res.png
- :align: center
+.. figure:: images/Length_res.png
+ :align: center
-.. centered::
Length created
**See Also** a sample TUI Script of :ref:`tui_create_length` operation.
.. _sketchLine:
-.. |line.icon| image:: images/line.png
+.. |line.icon| image:: images/Line.png
Line
====
The following property panel appears:
-.. image:: images/Line_panel.png
- :align: center
+.. figure:: images/Line_panel.png
+ :align: center
-.. centered::
Line
Pick 2 points (start and end) in the view to create a Line. If an existing object is clicked, a constraint for the point will be created automatically.
Created line appears in the view.
-.. image:: images/Line_res.png
- :align: center
+.. figure:: images/Line_res.png
+ :align: center
-.. centered::
Line created
**See Also** a sample TUI Script of :ref:`tui_create_line` operation.
-.. |middlepoint.icon| image:: images/middlepoint.png
+.. |middlepoint.icon| image:: images/MiddlePoint.png
Middle point constraint
=======================
Property panel:
-.. image:: images/Middlepoint_panel.png
+.. figure:: images/Middlepoint_panel.png
:align: center
Input fields:
Created Middle point constraint appears in the view.
-.. image:: images/Middlepoint_res.png
- :align: center
+.. figure:: images/Middlepoint_res.png
+ :align: center
-.. centered::
Created middle point constraint
**See Also** a sample TUI Script of :ref:`tui_create_middle` operation.
-.. |mirror.icon| image:: images/mirror.png
+.. |mirror.icon| image:: images/Mirror.png
Mirror copy
===========
Property panel:
-.. image:: images/Mirror_panel.png
- :align: center
+.. figure:: images/Mirror_panel.png
+ :align: center
-.. centered::
Mirror copy
Input fields:
| The original and the mirror copy objects are marked with a special sign.
| Copy object is drawn with a thinner line.
-.. image:: images/Mirror_res.png
- :align: center
+.. figure:: images/Mirror_res.png
+ :align: center
-.. centered::
Mirror copy created
-**See Also** a sample TUI Script of :ref:`tui_create_mirror` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_mirror` operation.
-.. |parallel.icon| image:: images/parallel.png
+.. |parallel.icon| image:: images/Parallel.png
Parallel constraint
===================
Property panel:
-.. image:: images/Parallel_panel.png
+.. figure:: images/Parallel_panel.png
:align: center
Input fields:
Created Parallel constraint appears in the view.
-.. image:: images/Parallel_res.png
- :align: center
+.. figure:: images/Parallel_res.png
+ :align: center
-.. centered::
Created parallel constraint
-**See Also** a sample TUI Script of :ref:`tui_create_parallel` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_parallel` operation.
Property panel:
-.. image:: images/Perpendicular_panel.png
+.. figure:: images/Perpendicular_panel.png
:align: center
Input fields:
Created Perpendicular constraint appears in the view.
-.. image:: images/Perpendicular_res.png
- :align: center
+.. figure:: images/Perpendicular_res.png
+ :align: center
-.. centered::
Created perpendicular constraint
**See Also** a sample TUI Script of :ref:`tui_create_perpendicular` operation.
-.. |point.icon| image:: images/point.png
+.. |point.icon| image:: images/Point.png
Point
=====
The following property panel appears:
-.. image:: images/Point_panel.png
- :align: center
+.. figure:: images/Point_panel.png
+ :align: center
-.. centered::
Point
Clicking in the view creates a point preview. If an existing object is clicked, a constraint for
Created point appears in the view.
-.. image:: images/Point_res.png
- :align: center
+.. figure:: images/Point_res.png
+ :align: center
-.. centered::
Point created
-**See Also** a sample TUI Script of :ref:`tui_create_point` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_point` operation.
-.. |projection.icon| image:: images/projection.png
+.. |projection.icon| image:: images/Projection.png
Projection
==========
Property panel:
-.. image:: images/Projection_panel.png
- :align: center
+.. figure:: images/Projection_panel.png
+ :align: center
-.. centered::
Projection
Input fields:
Created Projection appears in the view.
-.. image:: images/Projection_res.png
- :align: center
+.. figure:: images/Projection_res.png
+ :align: center
-.. centered::
Created projection (purple line)
-**See Also** a sample TUI Script of :ref:`tui_create_projection` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_projection` operation.
Property panel:
-.. image:: images/Radius_panel.png
+.. figure:: images/Radius_panel.png
:align: center
+.. |loc_left| image:: images/location_left.png
+.. |loc_auto| image:: images/location_automatic.png
+.. |loc_right| image:: images/location_right.png
+
Input fields:
- **Circle or Arc** is the circle or arc selected in the view;
- **Value** is a radius of the selected object, could be modified to set the desirable value
- **Text location** is a position of the radius value label relating to extension line (in the view)
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text at the left of the radius extension line.
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text at the middle of the radius extension line if it has enough length, otherwise - to the left.
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the radius extension line.
+ | |loc_left| **Left** inserts text at the left of the radius extension line.
+ | |loc_auto| **Automatic** inserts text at the middle of the radius extension line if it has enough length, otherwise - to the left.
+ | |loc_right| **Right** inserts text to the right of the radius extension line.
When circle or arc is selected, the radius value is displayed in the property panel and in the view.
- drag the radius presentation in the view to the desired position and click once;
- set desirable radius value in the input field in the view and press **Enter** or just press **Enter** to keep the current radius.
-.. image:: images/Radius_field_view.png
+.. figure:: images/Radius_field_view.png
:align: center
-.. centered::
Radius input in the view
**TUI Command**:
Created Radius appears in the view.
-.. image:: images/Radius_res.png
- :align: center
+.. figure:: images/Radius_res.png
+ :align: center
-.. centered::
Radius created
**See Also** a sample TUI Script of :ref:`tui_create_radius` operation.
.. _create_sketch_rectangle:
-.. |rectangle.icon| image:: images/rectangle.png
Rectangle
=========
+.. |rectangle.icon| image:: images/Rectangle.png
+
Rectangle feature creates a rectangle by two opposite points in the current Sketch.
The result is represented in form of four Lines which compose a rectangle.
The following property panel appears:
-.. image:: images/Rectangle_panel.png
- :align: center
+.. figure:: images/Rectangle_panel.png
+ :align: center
-.. centered::
Rectangle
Click in the view once to set the first corner, then move the mouse and click a second time to set the opposite corner.
Created rectangle appears in the view.
-.. image:: images/Rectangle_res.png
- :align: center
+.. figure:: images/Rectangle_res.png
+ :align: center
-.. centered::
Rectangle created
-**See Also** a sample TUI Script of :ref:`tui_create_rectangle` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_rectangle` operation.
Property panel:
-.. image:: images/Rotation_panel.png
- :align: center
+.. figure:: images/Rotation_panel.png
+ :align: center
-.. centered::
Angular copy
+.. |full_angle| image:: images/angle_up_full_32x32.png
+.. |single_angle| image:: images/angle_up_32x32.png
+
Input fields:
- **Segments** is the list of segments (lines, circles, arcs) selected in the view;
- **Center of rotation** is the center point selected in the view;
- **Full angle/Single angle** option:
-
- .. image:: images/angle_up_full_32x32.png
- :align: left
- **Full angle**: angle step of rotation is equal to the defined angle divided by the number of copies (total number minus one).
-
- .. image:: images/angle_up_full_32x32.png
- :align: left
- **Single angle**: angle step of rotation is equal to the defined angle.
-
+ | |full_angle| **Full angle**: angle step of rotation is equal to the defined angle divided by the number of copies (total number minus one).
+ | |single_angle| **Single angle**: angle step of rotation is equal to the defined angle.
- **Angle** is the angle of rotation.
- **Reversed** defines rotation direction. If checked - in a clockwise direction, otherwise - in a counterclockwise direction.
- **Total number of objects** is the total number of objects including the original one.
| The original and an angular copy objects are marked with a special sign.
| Copy objects are drawn with a thinner line.
-.. image:: images/Rotation_res.png
- :align: center
+.. figure:: images/Rotation_res.png
+ :align: center
-.. centered::
Created angular copy
**See Also** a sample TUI Script of :ref:`tui_create_rotation` operation.
The following property panel appears:
-.. image:: images/SketchCopy_panel.png
- :align: center
+.. figure:: images/SketchCopy_panel.png
+ :align: center
-.. centered::
Sketch copy panel
Select a sketch feature to copy. On Apply button press the copied sketch will be created in the Object Browser tree.
.. |SketchDrawer.icon| image:: images/SketchDrawer.png
Sketch Drawer
-=========
+=============
Sketch Drawer featrure is a macro-feature, i.e. it is removed after its execution.
It allows simplify creation of sketches basing on existing models without referencing to
The following property panel appears:
-.. image:: images/SketchDrawer_panel.png
- :align: center
+.. figure:: images/SketchDrawer_panel.png
+ :align: center
-.. centered::
Sketch drawer
Click in the view once to set the whole original model, then click a second time to set the
sketch creation normally user must edit this sketch to input reasonable constraints and
parametrization, or remove not needed constraints or sketch lements.
-.. image:: images/SketchDrawer_res.png
- :align: center
+.. figure:: images/SketchDrawer_res.png
+ :align: center
-.. centered::
Drawn sketch
-.. |split.icon| image:: images/split.png
+.. |split.icon| image:: images/Split.png
Split
=====
Property panel:
-.. image:: images/Split_panel.png
- :align: center
+.. figure:: images/Split_panel.png
+ :align: center
-.. centered::
Split
Input fields:
The selected segment is highlighted in the view:
-.. image:: images/Split_segment_sel.png
+.. figure:: images/Split_segment_sel.png
:align: center
-.. centered::
The segment to split off
**TUI Command**:
Created Split appears in the view.
-.. image:: images/Split_res.png
- :align: center
+.. figure:: images/Split_res.png
+ :align: center
-.. centered::
Created split
-**See Also** a sample TUI Script of :ref:`tui_create_split` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_split` operation.
-.. |tangent.icon| image:: images/tangent.png
+.. |tangent.icon| image:: images/Tangent.png
Tangent constraint
==================
Property panel:
-.. image:: images/Tangent_panel.png
+.. figure:: images/Tangent_panel.png
:align: center
Input fields:
Created Tangent constraint appears in the view.
-.. image:: images/Tangent_res.png
- :align: center
+.. figure:: images/Tangent_res.png
+ :align: center
-.. centered::
Created tangent constraint
**See Also** a sample TUI Script of :ref:`tui_create_tangent` operation.
Property panel:
-.. image:: images/Linear_panel.png
- :align: center
+.. figure:: images/Linear_panel.png
+ :align: center
-.. centered::
Linear copy
+
+.. |single_value| image:: images/translate_32x32.png
+.. |full_value| image:: images/translate_full_32x32.png
+
Input fields:
- **Segments** is the list of segments (lines, circles, arcs) selected in the view.
- **Single value/Full value** option:
-
- .. image:: images/translate_32x32.png
- :align: left
- **Single value**: step of translation is equal to the distance between the start and the end point.
-
- .. image:: images/translate_full_32x32.png
- :align: left
- **Full value**: distance from the originals to the farthest copies is equal to the distance between the start and the end point.
+ | |single_value| **Single value**: step of translation is equal to the distance between the start and the end point.
+ | |full_value| **Full value**: distance from the originals to the farthest copies is equal to the distance between the start and the end point.
- **Start point** is the initial point of translation vector.
- **End point** is the terminal point of translation vector.
- **Total number of objects** is the total number of objects including the original one.
| The original and a linear copy objects are marked with a special sign.
| Copy objects are drawn with a thinner line.
-.. image:: images/Linear_res.png
- :align: center
+.. figure:: images/Linear_res.png
+ :align: center
-.. centered::
Linear copy created
**See Also** a sample TUI Script of :ref:`tui_create_translation` operation.
-.. |trim.icon| image:: images/trim.png
+.. |trim.icon| image:: images/Trim.png
Trim
====
Property panel:
-.. image:: images/Trim_panel.png
- :align: center
+.. figure:: images/Trim_panel.png
+ :align: center
-.. centered::
Trim
Input fields:
The selected segment is highlighted in the view:
-.. image:: images/Trim_segment_sel.png
+.. figure:: images/Trim_segment_sel.png
:align: center
-.. centered::
The segment to remove
**TUI Command**:
:param object: Line, arc or circle.
:param object: Position point.
:return: Result object.
+
**Arguments**: feature (line, arc or circle) and position point (a point on or closest to the segment to remove)
Result
Created Trim appears in the view.
-.. image:: images/Trim_res.png
- :align: center
+.. figure:: images/Trim_res.png
+ :align: center
-.. centered::
Created trim
**See Also** a sample TUI Script of :ref:`tui_create_trim` operation.
Property panel:
-.. image:: images/VerticalDistance_panel.png
+.. figure:: images/VerticalDistance_panel.png
:align: center
+.. |location_left| image:: images/location_left.png
+.. |location_auto| image:: images/location_automatic.png
+.. |location_right| image:: images/location_right.png
+
Input fields:
- **First point** is the first point selected in the view;
- **Second point** is the second point selected in the view:
- **Value** is a distance between the objects, can be modified to set the desirable value;
- **Text location** is a position of the distance value label relating to extension line (in the view):
- .. image:: images/location_left.png
- :align: left
- **Left** inserts text to the left of the distance extension line:
-
- .. image:: images/location_automatic.png
- :align: left
- **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left
-
- .. image:: images/location_right.png
- :align: left
- **Right** inserts text to the right of the distance extension line.
+ | |location_left| **Left** inserts text to the left of the distance extension line:
+ | |location_auto| **Automatic** inserts text in the middle of the distance extension line if it has enough length, otherwise - to the left
+ | |location_right| **Right** inserts text to the right of the distance extension line.
When both objects are selected, the vertical distance value is displayed in the property panel and in the view.
- drag the Vertical distance presentation in the view to the desired position and click once;
- set desirable vertical distance value in the input field in the view and press **Enter** or just press **Enter** to keep the current distance.
-.. image:: images/VerticalDistance_field_view.png
+.. figure:: images/VerticalDistance_field_view.png
:align: center
-.. centered::
Vertical Distance input in the view
**TUI Command**:
Created Vertical Distance appears in the view.
-.. image:: images/VerticalDistance_res.png
- :align: center
+.. figure:: images/VerticalDistance_res.png
+ :align: center
-.. centered::
Vertical Distance created
**See Also** a sample TUI Script of :ref:`tui_create_vdistance` operation.
-.. |vertical.icon| image:: images/vertical.png
+.. |vertical.icon| image:: images/Vertical.png
Vertical constraint
===================
Property panel:
-.. image:: images/Vertical_panel.png
+.. figure:: images/Vertical_panel.png
:align: center
Input fields:
Created Vertical constraint appears in the view.
-.. image:: images/Vertical_res.png
- :align: center
+.. figure:: images/Vertical_res.png
+ :align: center
-.. centered::
Vertical constraint created
-**See Also** a sample TUI Script of :ref:`tui_create_vertical` operation.
\ No newline at end of file
+**See Also** a sample TUI Script of :ref:`tui_create_vertical` operation.
if (!aResPrs.IsNull())
aResPrs->updateIsoLines();
}
- myWorkshop->module()->storeSelection();
+ //myWorkshop->module()->storeSelection();
-#ifdef CLEAR_OUTDATED_SELECTION_BEFORE_REDISPLAY
- myWorkshop->selector()->deselectPresentation(aAISIO);
-#endif
+//#ifdef CLEAR_OUTDATED_SELECTION_BEFORE_REDISPLAY
+ //myWorkshop->selector()->deselectPresentation(aAISIO);
+//#endif
if (aContext->IsDisplayed(aAISIO))
aContext->Redisplay(aAISIO, false);
#endif
//if (aNeedToRestoreSelection)
- myWorkshop->module()->restoreSelection();
+ //myWorkshop->module()->restoreSelection();
aRedisplayed = true;
#ifdef DEBUG_FEATURE_REDISPLAY