]> SALOME platform Git repositories - modules/shaper.git/blob - doc/gui/General/Introduction.rst
Salome HOME
AutoColor removed from Preferences and Doc update
[modules/shaper.git] / doc / gui / General / Introduction.rst
1
2 .. _introduction:
3
4 Introduction to SHAPER
5 ======================
6
7 SHAPER module of SALOME is destined for:
8
9 - import and export of geometrical models in IGES, BREP, STEP and XAO formats;
10 - parametric construction of geometrical objects using a wide range of functions:
11
12   - creation of complex 2D sections using :ref:`sketchPlugin` with consequent extrusion or revolution (see :ref:`featuresPlugin`);
13   - construction of model using primitives defined in :ref:`primitivesPlugin`;
14   - usage of Boolean operations (see :ref:`featuresPlugin`);
15
16 - viewing geometrical objects in the OCC viewer;
17 - transformation of geometrical objects using various algorithms.
18
19 It is possible to easily set :ref:`parameter_usage` predefined to be used as arguments when objects are created.
20
21 SHAPER module preferences are described in the :ref:`preferences` section of SALOME Help.
22
23 Almost all SHAPER  module functionalities are accessible via Python Interface.
24
25 SHAPER module works with one study containing several documents:
26
27 - partset
28 - one or several parts.
29
30 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.
31
32 A new study contains only a partset with 7 default constructions, which cannot be deleted:
33
34 - one point **Origin** coinciding with the origin of the coordinate system;
35 - three axes **OX**, **OY**, **OZ**  coinciding with coordinate axes;
36 - three planes **YOZ**, **XOZ**, **XOY**  coinciding with coordinate planes.
37
38 Only  points, axis, planes (see  :ref:`constructionPlugin`) and sketches (see  :ref:`sketchPlugin`) can be added into Partset to be used in any part later.
39 :ref:`parameter_usage` can be used both in Partset and any Part.
40
41 A new Part can be created as described in :ref:`partPlugin`.
42
43 Double click or pop-up menu can be used to activate existing document.
44
45 Application desktop
46 -------------------
47
48 The main window of the application consists of the following components:
49
50 - :ref:`main_menu`;
51 - :ref:`doc_windows`;
52 - :ref:`viewer`;
53 - :ref:`toolbar`;
54 - status bar.
55
56 .. figure:: /images/main_window.png
57    :align: center
58
59    Main window of SHAPER module
60
61 .. _main_menu:
62
63 Main menu
64 ---------
65
66 Main menu provides access to all commands of the application.
67
68 .. figure:: /images/main_menu.png
69    :align: center
70
71    Main menu
72
73 Main menu includes standard Salome items:
74
75 - File;
76 - Edit;
77 - View;
78 - Tools;
79 - Window;
80 - Help;
81
82 and items specific for SHAPER module:
83
84 - Part (see :ref:`partPlugin`);
85 - Sketch (see :ref:`sketchPlugin`);
86 - Construction (see :ref:`constructionPlugin`);
87 - Build (see :ref:`buildPlugin`);
88 - Primitives (see :ref:`primitivesPlugin`);
89 - Features (see :ref:`featuresPlugin`);
90 - Macros.
91
92  .. _toolbar:
93
94 SHAPER toolbar
95 --------------
96
97 Application toolbar contains:
98
99 - standard toolbar;
100 - modules toolbar;
101 - SHAPER toolbar.
102
103 .. figure:: /images/toolbar.png
104    :align: center
105
106    Toolbars
107
108 SHAPER toolbar duplicates the main menu and  provides access to all commands of the application.
109
110 SHAPER toolbar is separated into sections:
111
112 - Part;
113 - Movement;
114 - Measurement;
115 - Sketch;
116 - Construction;
117 - Build;
118 - Primitives;
119 - GDML;
120 - Features;
121 - Boolean;
122 - Collections;
123 - Fillet;
124 - Macros.
125
126 Visibility of SHAPER toolbar sections is managed using *View -> Toolbar* :ref:`main_menu` item or toolbar pop-up menu.
127
128 .. _doc_windows:
129
130 Dock windows
131 ------------
132
133 Standard dock windows are:
134
135 - :ref:`object_browser`
136 - :ref:`inspection_panel`
137 - :ref:`hidefaces_panel`
138 - :ref:`python console`
139 - :ref:`property_panel`
140
141 Dock windows can be placed in three dock areas using drag-and-drop:
142
143 - left,
144 - right,
145 - bottom.
146
147 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.
148
149 Property Panel is hidden.
150
151 Property Panel is shown on operation start in left dock area of the main window by default.
152
153 If Object browser is shown at the same side then they will be tabbed.
154
155 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.
156
157 .. figure:: /images/popup_menu.png
158    :align: center
159
160    Pop-up menu for visibility of windows and toolbars
161
162 .. _object_browser:
163
164 Object browser
165 ^^^^^^^^^^^^^^
166
167 Object browser contains all documents created in the current study.
168
169 Each document includes standard branches where created objects are placed.
170
171 Documents with branches are shown in Tree View.
172
173 .. figure:: /images/object_browser.png
174    :align: center
175
176    **Object browser**: Partset active
177
178 Partset includes three branches:
179
180 - Parameters;
181 - Constructions;
182 - Features
183
184 Part includes the following branches:
185
186 - Parameters;
187 - Constructions;
188 - Results;
189 - Fields;
190 - Groups;
191 - Features.
192
193 New part contains only 3 empty branches:
194
195 - Parameters;
196 - Constructions;
197 - Results.
198
199 Features are placed one after another in the active document with default names and their results are placed into the corresponding branch.
200
201 Examples of default names assigned automatically for :ref:`box_feature` are:
202
203 * **Box_1**, **Box_2**, ... for Feature;
204 * **Box_1_1**, **Box_2_1**, ... for Result.
205
206 Note, that a default branch is added into Tree View when the first feature of this type is created.
207
208 Note, that the result used in feature as argument is removed.
209
210 This child result can be restored using **Recover** feature.
211
212 Each feature, result, construction, group, field, parameter can be renamed using *Rename* pop-up menu command (hotkey "F2").
213
214 .. figure:: /images/popup_menu_object_browser_feature.png
215    :align: center
216
217    **Feature** pop-up menu
218
219 .. figure:: /images/popup_menu_object_browser_result.png
220    :align: center
221
222    **Result** pop-up menu
223
224 .. figure:: /images/popup_menu_object_browser_construction.png
225    :align: center
226
227    **Construction** pop-up menu
228
229 .. figure:: /images/popup_menu_object_browser_group.png
230    :align: center
231
232    **Group** pop-up menu
233
234 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.
235
236 Folders can be used to arrange long Tree View for features.
237
238 .. figure:: /images/object_browser_folder.png
239    :align: center
240
241    **Object browser** with folder Dome: Part_1 active
242
243 *Insert a folder before* pop-up menu command creates a new empty folder before the selected feature. The folder can be renamed.
244
245 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.
246
247 This allows to decrease the length of feature list.
248
249 Features can be removed from the folder using *Move out before the folder* / *Move out after the folder* pop-up menu command.
250
251 *Clean history* pop-up menu command looks for features that do not participate in other features.
252
253 **Clean history** dialog box shows a list of unused features. After confirmation by click **Yes** button unused features are removed.
254
255 .. figure:: /images/clean_history.png
256    :align: center
257
258    **Clean history** dialog box
259
260 *Select result* and *Select parent feature* pop-up menu commands help to navigate along Tree View.
261
262 A feature and its result can be deleted using *Delete* pop-up menu command.
263
264 Note that all features using the removed feature and their results will be removed simultaneously.
265
266 **Delete feature** dialog box shows the list of features to be removed. After confirmation by click **Yes** button all these features are removed.
267
268 .. figure:: /images/delete_feature.png
269    :align: center
270
271    **Delete feature** dialog box
272
273 .. _property_panel:
274
275 Property panel
276 ^^^^^^^^^^^^^^
277
278 .. |ok_btn| image:: /images/button_ok.png
279 .. |cancel_btn| image:: /images/button_cancel.png
280 .. |help_btn| image:: /images/button_help.png
281
282 Property panel consists of two parts:
283
284 - controls a container for input of parameters for the current operation;
285 - buttons panel containing standard buttons:
286
287    | |ok_btn| **Ok/Apply** executes operation with defined parameters,
288    | |cancel_btn| **Cancel/Close** calls **Abort operation** dialog box to confirm  operation abort,
289    | |help_btn| **Help** calls User's guide opened on page describing the current operation.
290
291    .. figure:: /images/abort_operation.png
292       :align: center
293
294       **Abort operation** dialog box
295
296 |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.
297
298 .. _inspection_panel:
299
300 Inspection panel
301 ^^^^^^^^^^^^^^^^
302
303 Inspection panel provides the list of types and quantities of all topological entities, composing the selected result, construction or feature.
304
305 .. figure:: /images/inspection_panel.png
306    :align: center
307
308    **Inspection panel** for default Box
309
310 **Object** displays name of the selected result, construction  or feature.
311
312 **Type** characterizes the whole shape.
313
314 The information about Point, Axis or Edge  additionally shows coordinates of point / end points.
315
316 .. figure:: /images/inspection_panel_line.png
317    :align: center
318
319    **Inspection panel** for Axis
320
321 The information about  Plane, Face additionally shows coordinates of center point and direction of normal.
322
323 .. figure:: /images/inspection_panel_face.png
324    :align: center
325
326    **Inspection panel** for Face
327
328 .. _hidefaces_panel:
329
330 Hide Faces panel
331 ^^^^^^^^^^^^^^^^
332
333 **Hide Faces** panel makes possible to hide temporary faces of any displayed object. **Hide Faces** panel looks like following:
334
335 .. figure:: /images/hide_faces_panel.png
336    :align: center
337
338    **Hide Faces** panel
339
340 - If this panel is activated it "listens" user selection.
341 - If a face is selected then its name will be shown in the panel's list and hidden in the viewer.
342 - 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.
343 - 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.
344
345 It is also possible 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.
346 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.
347
348 .. _python console:
349
350 Python console
351 ^^^^^^^^^^^^^^
352
353 Python console interpreters Python commands entered manually.
354
355 In particular, it is possible to load the python script:
356
357 *execfile(r"/dn48/newgeom/data/example.py")*
358
359 Pop-up menu gives the possibility to:
360
361 - Copy the selected text to clipboard;
362 - Paste the text from clipboard to Python console ;
363 - Clear Python console;
364 - Dump commands from console into the specified file;
365 - Start/Stop writing log into the specified file.
366
367 .. figure:: /images/python_console_popup.png
368    :align: center
369
370    Pop-up menu of Python console
371
372 .. _viewer:
373
374 Viewer
375 ------
376
377 The application supports one instance of OCC 3D viewer and is able to show only one 3D space.
378
379 This 3D space can be represented in several view windows. New view window can be created using **Clone view** button in viewer toolbar.
380
381 Each view windows shows its own point of view on the 3D scene.
382
383 This point of view can be modified using viewer commands: **Panning**, **Zooming**, **Scaling**, etc.
384
385 .. figure:: /images/2_viewers.png
386    :align: center
387
388    Two view windows
389
390 The description of OCC 3D Viewer architecture and functionality is provided in GUI module user's guide in chapter **OCC 3D Viewer**.
391
392 .. _parameter_usage:
393
394 Parameters
395 ----------
396
397 Model parametrization can be done using parameters.
398
399 A parameter can be created in the active partset or part by:
400
401 - :ref:`parameter`;
402 - :ref:`parameters`;
403 - :ref:`parameter_expression`.
404
405 Any argument in features can be defined as parameter or expression containing parameters.
406
407 The list of features using parameters is given in **Parameters** dialog box:
408
409  .. figure:: /images/parameters_feature.png
410    :align: center
411
412    Parameters dialog box
413
414 If a parameter value is changed, then all features where it is used are rebuilt.
415
416 A parameter name should be unique in the active document.
417
418 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.
419
420 In contrast to features (see :ref:`object_browser`), there is an additional option when parameters are deleted.
421
422 .. figure:: /images/delete_parameter.png
423    :align: center
424
425    Delete parameter
426
427 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.
428
429 .. _parameter_expression:
430
431 Create parameter on fly
432 ^^^^^^^^^^^^^^^^^^^^^^^
433
434 Parameter can be created during feature creation simply by writing *variable=expression* in any editbox.
435
436 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.
437
438 .. _preferences:
439
440 SHAPER preferences
441 ------------------
442
443 Description of General application preferences and **Preferences** dialog box is provided in GUI module user's guide in chapter **Setting Preferences**.
444
445 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.
446
447 To call **Preferences** dialog box:
448
449 #. select in the Main Menu *File - > Preferences* item or
450 #. use  **Ctrl+P** shortcut.
451
452 SHAPER preferences contains the following tabs:
453
454 - :ref:`visualization_preferences`;
455 - :ref:`plugins_preferences`;
456 - :ref:`shortcuts_preferences`;
457 - :ref:`windows_preferences`.
458 - :ref:`sketch_preferences`.
459 - :ref:`viewer_preferences`.
460
461 Visualization tab is activated by default when **Preferences** dialog box is opened in the active SHAPER module.
462
463 Other tabs are activated by click on tab header.
464
465 .. _visualization_preferences:
466
467 Visualization tab
468 ^^^^^^^^^^^^^^^^^
469
470 This tab defines presentation of objects displayed in OCC 3D viewer.
471
472 .. figure:: /images/visualization_preferences.png
473    :align: center
474
475    **Preferences**: Visualization tab
476
477 **Input fields**:
478
479 - **Selection color** defines a color for selected objects;
480 - **Result color** selects default shading color for objects from **Results** branch;
481 - **Group color** selects default color for objects from **Groups** branch;
482 - **Construction color** selects default color for objects from **Constructions** branch;
483 - **Part color** selects default color for parts shown in Partset;
484 - **Field color** selects default color for objects from **Fields** branch;
485 - **Body deflection coefficient** defines default deflection coefficient for objects from **Results** branch. A smaller coefficient provides better quality of a shape in the viewer;
486 - **Construction deflection coefficient** defines default deflection coefficient for objects from **Constructions** branch. A smaller coefficient provides better quality of a shape in the viewer;
487 - **Reference shape wireframe color in operation** selects default color used for wireframe visualization of objects used in active operation;
488 - **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;
489 - **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;
490 - **Color of removed feature in operation** selects default color used for visualization of sketch entities to be removed during **Trim/Split** operations;
491 - **Color of sketch plane** selects default shading color for sketch plane;
492 - **Hidden faces transparency** defines default transparency value for hidden faces;
493 - **Dimension arrow size**  defines default size of arrows for extension line showing dimensional constraint;
494 - **Dimension font** defines font used for value of dimensional constraint;
495 - **Dimension value size**  defines default size of value for dimensional constraint;
496 - **Sketch dimension color**  defines default color of dimensional constraint;
497 - **Construction plane color** selects default color for Construction planes;
498 - **Sketch entity color** selects default color for sketch objects;
499 - **Sketch external entity color** selects default color for external objects selected as reference during sketch creation/edition;
500 - **Sketch auxiliary entity color** selects default color for sketch auxiliary objects;
501 - **Sketch overconstraint color** selects default color for a sketch with redundant constraints;
502 - **Sketch fully constraint color** selects default color for a sketch with zero degrees of freedom.
503 - **Zoom trihedron arrows** if this control is checked then arrows of a view trihedron will be scaled according to current view scale
504 - **Axis arrow size** relative size of trihedron arrows. It has effect only in case if **Zoom trihedron arrows** is On.
505
506 To redefine any color click on the corresponding line to access **Select color** dialog box
507
508 .. figure:: /images/select_color.png
509    :align: center
510
511    **Preferences**: **Select color** dialog box
512
513 Preferences for sketch are applicable  during sketch creation/edition operation.
514
515 .. _plugins_preferences:
516
517 Plugins tab
518 ^^^^^^^^^^^
519 Plugins tab defines folders where plugins and resources are located.
520
521 .. figure:: /images/plugins_preferences.png
522    :align: center
523
524    **Preferences**: Plugins tab
525
526 **Input fields**:
527
528 - **Default path** selects default folder where plugins are located. Click on **Open** button opens standard **Find directory** dialog box to navigate to desired folder;
529
530 - **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.
531
532 .. figure:: /images/open_button.png
533    :align: center
534
535    **Open** button
536
537 .. figure:: /images/find_directory.png
538    :align: center
539
540    **Find directory** dialog box
541
542
543 .. _shortcuts_preferences:
544
545 Shortcuts tab
546 ^^^^^^^^^^^^^
547
548 Shortcuts tab defines shortcut keys for different operations.
549
550 .. figure:: /images/shortcuts_preferences.png
551    :align: center
552
553    **Preferences**: Shortcuts tab
554
555 - **Add parameter in parameters manager dialog** defines shortcut keys for adding parameter in parameters manager dialog box.
556
557 .. _windows_preferences:
558
559 Windows tab
560 ^^^^^^^^^^^
561
562 Windows tab contains definitions for the module windows management.
563
564 .. figure:: /images/windows_preferences.png
565    :align: center
566
567    **Preferences**: Windows tab
568
569 - **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.
570
571 .. _sketch_preferences:
572
573 Sketch tab
574 ^^^^^^^^^^
575
576 Sketch tab defines properties of coordinate planes shown for selection of sketch plane when no convenient objects are shown in OCC 3D viewer.
577
578 .. figure:: /images/sketch_preferences.png
579    :align: center
580
581    **Preferences**: Sketch tab
582
583 **Input fields**:
584
585 - **Size** defines size of coordinate planes;
586 - **Thickness**  defines thickness of coordinate plane borders;
587 - **Rotate to plane when selected** check-box turns on/off automatic switch the viewer to the top view for the selected sketch plane.
588 - **Angular tolerance** defines defines an angular tolerance for automatic creation of horizontal and vertical constraints;
589 - **Default spline weight** defines default weight for B-spline nodes during creation. The default value can be changed by editing of the spline;
590 - **Cursor for sketch operation** defines a cursor which indicates a launched sketcher sub-operation.
591 - **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;
592
593 .. _viewer_preferences:
594
595 Viewer tab
596 ^^^^^^^^^^
597
598 Viewer tab defines selection in OCC 3D viewer properties.
599
600 .. figure:: /images/viewer_preferences.png
601    :align: center
602
603    **Preferences**: Viewer tab
604
605 **Input fields**:
606
607 - **Default Selection** defines objects to be selected by mouse click in OCC 3D viewer:
608
609   - **Faces** check-box turns on/off selection of faces;
610   - **Edges** check-box turns on/off selection of edges;
611   - **Vertices** check-box turns on/off selection of vertices;
612
613 - **Selection sensitivity** defines size of area around object in pixels, in which  mouse click selects object inside this area:
614
615   - **Vertex** defines selection  sensitivity for vertices;
616   - **Edge**  defines selection  sensitivity for edges.
617
618 .. _toolbars_management:
619
620 Toolbars management
621 -------------------
622
623 .. _toolbars_dialog:
624
625 **Toolbars** dialog box
626 ^^^^^^^^^^^^^^^^^^^^^^^
627 To edit the current tool bars structure select in the Main Menu *Edit - > Edit toolbars* item.
628 The following dialog box with existing toolbars appears:
629
630 .. figure:: /images/Toolbars.png
631    :align: center
632
633    **Toolbars** dialog box
634
635 **Input fields**:
636
637 - **Toolbars** window contains list of toolbars names. Number of commands in each tool bar is shown in brackets.
638 - **Add** button creates a new toolbar. Click on **Add** button opens :ref:`create_toolbar`;
639 - **Edit**  button  calls :ref:`edit_toolbar` for currently selected tool bar;
640 - **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;
641 - **Reset** button restores modified tool bars structure to default state;
642 - **OK** button closes the dialog box, stores result of tool bars edition and updates Shaper tool bars;
643 - **Cancel** button closes the dialog box without modification of tool bars.
644
645 .. figure:: /images/delete_toolbar.png
646    :align: center
647
648    Warning dialog box
649
650 .. _create_toolbar:
651
652 **Create toolbar** dialog box
653 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
654
655 **Input fields** of **Create toolbar** dialog box:
656
657 .. figure:: /images/create_toolbar.png
658    :align: center
659
660    **Create toolbar** dialog box
661
662 - **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;
663 - **Ok** button closes the dialog box and add a new tool bar of the module into  **Toolbars** window;
664 - **Cancel** button closes the dialog box without addition of a new tool bar.
665
666 .. figure:: /images/name_toolbar.png
667    :align: center
668
669    **Warning** dialog box
670
671 .. _edit_toolbar:
672
673 **Edit toolbar** dialog box
674 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
675
676 **Input fields** of **Edit toolbar** dialog box:
677
678 .. figure:: /images/EditToolbar.png
679    :align: center
680
681    **Edit toolbar** dialog box
682
683 - **Toolbar name** non-editable field displays  name of modified tool bar;
684 - **Out of toolbars** window contains list of commands which are not included into any tool bar and separator definition "------";
685 - **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;
686 - **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.
687     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.
688 - **Left arrow** button transfers currently selected item from **In the toolbar** window into **Out of toolbars** window;
689 - **Up** and **Down** buttons  change position of selected command in **In the toolbar** window;
690 - **Ok** button closes the dialog box, stores result of edition;
691 - **Cancel**  button closes the dialog box without modification of tool bar content.