\page create_extrusion_page Extrusion
-\n To generate an \b Extrusion on an object in the <b>Main Menu</b>
-select <b>New Entity - > Generation - > Extrusion</b>
+\b Extrusion is propagation of the selected base shape in a certain direction and by a certain distance.
+\n The \b Result of the operation will be a GEOM_Object (edge, face, shell
+solid or compsolid).
<b>Examples:</b>
\image html prisms_basessn.png
-Base Shape
+<center>Base Shape</center>
\image html prismssn.png
-Prisms
+<center>Resulting Prisms</center>
-\n There are 3 algorithms for creation of an \b Extrusion (Prism).
-\n The \b Result of the operation will be a GEOM_Object (edge, face, shell
-solid or compsolid).
-
-\n Firstly, you can define the <b>Base Shape</b> (a basis of the
-extrusion), the \b Vector (a direction of the extrusion) and the \b
-Height of extrusion. Optionally you can define the <b>Scale Factor</b> to
-build extrusion with scaled opposite base. Scaling is possible only
-with 1D and 2D bases.
-<br>It is possible to select in GUI several Base Shapes to make
-several extrusions (using Shift button).
-\n The \b Result of the operation will be a GEOM_Object (edge, face,
-shell, solid or compsolid).
-\n <b> Both Directions </b> checkbox allows extruding the source
-object both forward and backward. With this option scaling is not possible.
-\n <b>TUI Command:</b> <em>geompy.MakePrismVecH(Base, Vector, Height, theScaleFactor = -1.0)</em>
-\n <b>Arguments:</b> Name + one or several shapes (vertex, edge, planar wire, face or
-shell) serving as base objects + 1 vector (for direction of the
-extrusion) + 1 value (dimension) + 1 optional value (scale factor for
-the opposite base).
-\n<b>Advanced options</b> \ref preview_anchor "Preview"
+\n To generate an \b Extrusion on an object in the <b>Main Menu</b>
+select <b>New Entity - > Generation - > Extrusion</b>
\image html extrusion1.png
-\n Secondly, you can define the \b Extrusion by the <b>Base Shape(s)</b>
-and the \b Start and <b>End Point</b> of the \b Vector (in this way
-you don't need to create it in advance). Optionally you can define the
-<b>Scale Factor</b> to build extrusion with scaled opposite
-base. Scaling is possible only with 1D and 2D bases.
-\n <b> Both Directions </b> checkbox allows extruding the source
-object both forward and backward. With this option scaling is not possible.
-\n <b>TUI Command:</b> <em>geompy.MakePrism(Base, Point1, Point2, theScaleFactor = -1.0)</em>
-\n <b>Arguments:</b> Name + one or several shapes (vertex, edge, planar wire, face or
-shell) serving as base objects + 2 vertices + 1 optional value (scale factor for
-the opposite base).
+The following parameters and options can be defined in this dialog
-\image html extrusion2.png
-
-\n Finally, you can define the \b Extrusion by the <b>Base Shape(s)</b>
-and the <b>DX, DY, DZ</b> Vector. Optionally you can define the
-<b>Scale Factor</b> to build extrusion with scaled opposite
-base. Scaling is possible only with 1D and 2D bases.\n
-<b>Both Directions</b> checkbox allows extruding the
-source objects both forward and backward. With this option scaling is not possible.
-\n <b>TUI Command:</b> <em>geompy.MakePrismDXDYDZ(Base, dx, dy, dz, theScaleFactor = -1.0)</em>
-\n <b>Arguments:</b> Name + one or several shapes (vertex, edge, planar wire, face or
-shell) serving as base objects + 3 axis directions + 1 optional value (scale factor for
-the opposite base).
+<ul>
+<li><b>Result name</b> of the created resulting shape.</li>
+<li><b>Base</b> - the extruded object. It is possible to select in GUI several Base Shapes to make
+several extrusions (using Shift button).</li>
+<li>Direction and distance can be defined in three different ways selectable with the radio buttons on top of the dialog box :
-\image html extrusion3.png
+<ul>
+<li> By the \b Vector and the \b Height of extrusion.
+<b>TUI Command:</b> <em>geompy.MakePrismVecH(Base, Vector, Height, theScaleFactor = -1.0)</em>
+</li>
-<b> Add thickness </b>
+<li> By the \b Start and <b>End Point</b> of the \b Vector (in this way
+you don't need to create it in advance).
+<b>TUI Command:</b> <em>geompy.MakePrism(Base, Point1, Point2, theScaleFactor = -1.0)</em>
+\image html extrusion2.png
+</li>
-\n For all three ways of creation of a prism it is possible to add a thickness
+<li> By \b DX, \b DY, and \b DZ coordinates of the Vector.
+<b>TUI Command:</b> <em>geompy.MakePrismDXDYDZ(Base, dx, dy, dz, theScaleFactor = -1.0)</em>
+\image html extrusion3.png
+</li>
+</ul>
+</li>
+
+<li> <b>Both Directions </b> checkbox allows extruding the base shape both forward and backward. With this option scaling is not possible.</li>
+<li> <b>Reverse</b> checkbox reverts the direction of the scaling vector. It is usable only if the direction and distance are set via a \b Vector and a \b Height. </li>
+<li><b>Scale the face opposite to the base</b> checkbox and <b>Scale Factor</b> field allow building the extrusion with scaled opposite base. Scaling is possible only for 1D and 2D bases.</li>
+<li><b>Add thickness</b> checkbox and \b Thickess field allow adding thickness
to the created prism (only when extruding an edge or wire).
-
+By default the material is added on the outside of the generated pipe, but it is possible to <b>Thicken towards the inside</b> using the corresponding checkbox.
+<b>TUI Command:</b> <em>geompy.Thicken(Shape, Thickness)</em>
\image html prism_with_thickness.png
+</li>
-You can choose the \b Thickness and the direction of the thickening. By default the material is added on
-the outside of the generated pipe.
-
-\image html extrusion4.png
-
-\n <b>TUI Command:</b> <em>geompy.Thicken(Shape, Thickness)</em>
-\n <b>Arguments:</b> A shape (shell or face only) and a thickness
+<li><b>Advanced options:</b> \ref preview_anchor "Preview" - displays the resulting shape in the viewer before \b Apply command. </li>
+</ul>
Our <b>TUI Scripts</b> provide you with useful examples of creation of
\ref tui_creation_prism "Complex Geometric Objects".
To create a \b PipeTShape in the <b>Main Menu</b> select <b>New Entity -> Primitives -> PipeTShape</b>
-Specify the parameters of the PipeTShape object in the opened dialog
-box and press "Apply" or "Apply & Close" button.
-The <b>result</b> of the operation will be a <b>GEOM_Object</b>.
+The dialog for definition of PipeTShape parameters and options is split into three tabs.
\n <b>Main parameters</b>:
-\image html pipetshape_dlg.png
+\image html pipetshape1.png
-\n <b>Position parameters</b>:
+<ul>
+<li> <b>Main pipe</b> - allows defining the internal \b Radius, the \b Thickness and the \b Half-length (the distance between the end of the main pipe and the central axis of the incident pipe; the incident pipe is always located in the middle of the main pipe) for the main pipe.</li>
+<li> <b>Incident pipe</b> - allows defining the internal \b Radius, the \b Thickness and the \b Length (the distance between the end of incident pipe and the central axis of the main pipe) for the incident pipe.</li>
+<li> \b Chamfer - allows creating a chamfer at the junction of the main and the incident pipes. Its parameters are \b Height along the incident pipe and \b Width along the main pipe.</li>
+<li> \b Fillet - allows creating a fillet at the junction of the main and the incident pipes by defining the fillet \b Radius. </li>
+<li> \b HexMesh - checkbox allows splitting the shape into blocks suitable for hexahedral mesh.</li>
+</ul>
-\image html pipetshape_pos_dlg.png
+\image html pipetshape2.png
-\n <b>Advanced options</b> \ref preview_anchor "Preview"
+\n <b>Thickness reduction</b>
-<b>TUI Command:</b> <em>geompy.MakePipeTShape(R1, W1, L1, R2, W2, L2, HexMesh=True, P1=None, P2=None, P3=None)</em>
+\image html pipetshape3.png
-<b>Arguments:</b>
-- \b R1 - Radius of the main T-shape pipe.
-- \b W1 - Thickness of the main T-shape pipe.
-- \b L1 - Length of the main T-shape pipe.
-- \b R2 - Radius of the incident T-shape pipe.
-- \b W2 - Thickness of the incident T-shape pipe.
-- \b L2 - Length of the incident T-shape pipe.
-- \b HexMesh - If True, the shape is splitted into blocks (suitable for hexaedral mesh).
+This tab allows applying, if necessary, thickness reductions at the open ends of the T-shape pipe (two ends of the main pipe and one end of the incident pipe). For each end it is possible to define:
-<b>Position arguments:</b>
-- \b P1 - First junction point of the main pipe (GEOM Vertex).
-- \b P2 - Second junction point of the main pipe (GEOM Vertex).
-- \b P3 - Junction point of the incident pipe (GEOM Vertex).
-
-Example:
-
-\image html pipetshape.png
+<ul>
+<li> \b Radius - is the radius of the reduced pipe.</li>
+<li> \b Width - is the width of the reduced pipe.</li>
+<li> <b> Transition length </b> - is the length of transition between the pipe and the reduced pipe.</li>
+<li> <b> Thin part length </b> is the length of the reduced pipe.</li>
+</ul>
-<h2>A Pipe T-Shape can be created with a chamfer at the junction of the main and the incident pipes:</h2>
+\image html pipetshape4.png
-<b>TUI Command:</b> <em>geompy.MakePipeTShapeChamfer(R1, W1, L1, R2, W2, L2, H, W, HexMesh=True, P1=None, P2=None, P3=None)</em>
+\n <b>Position</b>
-<b>The arguments are the same as of the normal Pipe T-Shape plus:</b>
-- \b H - Height of the chamfer along the incident pipe.
-- \b W - Width of the chamfer along the main pipe.
+By default the PipeTShape is created at the center of coordinates and oriented by XY (main pipe) and XZ (incident pipe) axes, but it is possible to define a custom \b Position.
-Example:
+\image html pipetshape5.png
-\image html pipetshapechamfer.png
+<ul>
+<li> <b>Junction P1</b> and <b>Junction P2</b> - are the end points of the main pipe (lying on its central axis).</li>
+<li> <b>Junction P3</b> - is the end point of the incident pipe.</li>
-<h2>A Pipe T-Shape can be created with a fillet at the junction of the main and the incident pipes:</h2>
+\n The <b>New L1</b> and <b>New L2</b> values are calculated automatically, but should be confirmed by clicking the corresponding "Arrow" button.
+<li> <b> New L1 </b> - is the \b Half-length of the main pipe.</li>
+<li> <b> New L2 </b> - is the length of the incident pipe.</li>
+The \b Radius and \b Width of pipes are taken from the <b>Main parameters</b> tab.
+</ul>
-<b>TUI Command:</b> <em>geompy.MakePipeTShapeFillet(R1, W1, L1, R2, W2, L2, RF, HexMesh=True, P1=None, P2=None, P3=None)</em>
+<b>Advanced options:</b> \ref preview_anchor "Preview" - displays the resulting shape in the viewer before \b Apply command.
-<b>The arguments are the same as of the normal Pipe T-Shape plus:</b>
-- \b RF - Radius of the fillet.
+Specify the parameters of the PipeTShape object in the opened dialog box and press "Apply" or "Apply & Close" button.
+The result of the operation will be a <b>GEOM_Object</b>.
-Example:
+\n <b>TUI Commands:</b>
-\image html pipetshapefillet.png
+There are three different TUI commands for PipeTShape creation:
-<h2>All three types of T-Shape (basic, with chamfer and with fillet) can
-have thickness reductions at its open ends (two ends of the main pipe
-and one end of the incident pipe):</h2>
+<ul>
+<li><em>geompy.MakePipeTShape</em> - creates a standard PipeTShape.</li>
+<li><em>geompy.MakePipeTShapeChamfer</em> - creates a PipeTShape with a chamfer at the junction.</li>
+<li><em>geompy.MakePipeTShapeFillet</em> - creates a PipeTShape with a fillet at the junction.</li>
+</ul>
-\image html pipetshape_thr_dlg.png
-<b>TUI Commands:</b>
-\n<em>geompy.MakePipeTShape(R1, W1, L1, R2, W2, L2, HexMesh=True, P1=None, P2=None, P3=None, theRL=0, theWL=0, theLtransL=0, theLthinL=0, theRR=0, theWR=0, theLtransR=0, theLthinR=0, theRI=0, theWI=0, theLtransI=0, theLthinI=0)</em>
-\n<em>geompy.MakePipeTShapeChamfer(R1, W1, L1, R2, W2, L2, H, W, HexMesh=True, P1=None, P2=None, P3=None, theRL=0, theWL=0, theLtransL=0, theLthinL=0, theRR=0, theWR=0, theLtransR=0, theLthinR=0, theRI=0, theWI=0, theLtransI=0, theLthinI=0)</em>
-\n<em>geompy.MakePipeTShapeFillet(R1, W1, L1, R2, W2, L2, RF, HexMesh=True, P1=None, P2=None, P3=None, theRL=0, theWL=0, theLtransL=0, theLthinL=0, theRR=0, theWR=0, theLtransR=0, theLthinR=0, theRI=0, theWI=0, theLtransI=0, theLthinI=0)</em>
-
-<b>The additional arguments are:</b>
+The following arguments can be used with these commands:
+- \b R1 - Radius of the main pipe.
+- \b W1 - Thickness of the main pipe.
+- \b L1 - Length of the main pipe.
+- \b R2 - Radius of the incident pipe.
+- \b W2 - Thickness of the incident pipe.
+- \b L2 - Length of the incident pipe.
+- \b HexMesh - If True, the shape is split into blocks (suitable for hexahedral mesh).
+- \b P1 - First junction point of the main pipe (GEOM Vertex).
+- \b P2 - Second junction point of the main pipe (GEOM Vertex).
+- \b P3 - Junction point of the incident pipe (GEOM Vertex).
+- \b H - Height of the chamfer along the incident pipe (used only with <em>geompy.MakePipeTShapeChamfer</em> command).
+- \b W - Width of the chamfer along the main pipe (used only with <em>geompy.MakePipeTShapeChamfer</em> command).
+- \b RF - Radius of the fillet (used only with <em>geompy.MakePipeTShapeFillet</em> command).
- \b theRL - Internal radius of left thickness reduction.
- \b theWL - Width of left thickness reduction.
- \b theLtransL - Length of left transition part.
- \b theLtransI - Length of incident transition part.
- \b theLthinI - Length of incident thin part.
-Example:
-
-\image html pipetshapethr.png
Our <b>TUI Scripts</b> provide you with useful examples of creation of
\ref tui_creation_pipetshape "Advanced objects".
\page material_page Material properties
-\tableofcontents
+<ul>
+<li>\ref material_general_description_anchor "General Description"</li>
+<li>\ref material_opengl_model_anchor "OpenGL ligthing model" </li>
+<li>\ref material_lib_anchor "Materials library"</li>
+<li>\ref material_anchor "Material properties"</li>
+</ul>
-\section material_general_description General description
+\anchor material_general_description_anchor <h2>General description</h2>
\note The functionality related to the material properties is
-\b experimental, so it might work not as expected. The behaviour might
+\b experimental, so it might work not as expected. The behavior might
be changed in the future versions of SALOME Geometry module.
-\n You can change the material properties of the selected shape(s) in
+You can change the material properties of the selected shape(s) in
the dedicated dialog box. This dialog box can be invoked from the
-context popup menu.
-
-\n Appearance of popup menu can be customizable via
-"Show predefined materials in popup menu" option from preferences.
+context popup menu. The layout of context menu can be customized via
+"Show predefined materials in popup menu" preferences option.
If this option is switched off, only "Material properties" item will
-be shown in popup menu. If this option is on (by default), "Material
-properties" item in popup menu will open submenu listing predefined
-materials and additionally "Custom..." item.
-
-\n "Show predefined materials in popup menu" option is switched off:
-\image html hide_predef_material.PNG
-\n "Show predefined materials in popup menu" option is switched on
-\image html show_predef_material.PNG
+be shown in the popup menu. If this option is on (by default), "Material
+properties" item in the popup menu will open a submenu with list of predefined
+materials:
-\n"Custom..." or "Material properties" item will open dialog box:
+\image html hide_predef_material.png
+<center><em>"Show predefined materials in popup menu" option is switched off</em></center>
-\image html material.png
+\n\image html show_predef_material.png
+<center><em>"Show predefined materials in popup menu" option is switched on</em></center>
-In this dialog box you can:
-- modify the properties of the material model currenly assigned to the
-shape presentation;
-- assign one of predefined global materials to the shape;
-- create a custom material model and apply it to the shape.
+The \b Custom item from this list allows defining \ref material_anchor "Material properties",
+including the creation of a custom material.
-\n You also can work with custom materials in the "Materials library" dialog box.
-This dialog box can be invoked from the "Tools" main menu using
-"Materials library" item:
+It is also possible to define custom materials in the
+\ref material_lib_anchor "Materials library" dialog
+available from the main menu via <b>Tools > Materials library </b>.
-\image html materials_library.png
-
-\note This functionality is available in both OCC and VTK 3D
-viewers. However, note that due to the differencies between underlying API
-of OCC and VTK libraries the behaviour of the functionality related to
+\note This functionality works in both OCC and VTK 3D
+viewers. However, due to the differences between underlying API
+of OCC and VTK libraries, the behavior of the functionality related to
the materials is different:
-- presentation of the shape in OCC and VTK viewers is not fully identical;
-- some material attributes can affect presentation in a different way.
+- shape presentation in OCC and VTK viewers is not fully identical;
+- some material attributes can affect the presentation in a different way.
-\section material_opengl_model OpenGL ligthing model
+\anchor material_opengl_model_anchor <h2>OpenGL ligthing model</h2>
The material is specifed by several attributes of the lighting
model. More details can be found in the documentation related to the
-OpenGL programming, for example here: http://www.glprogramming.com/red/chapter05.html.
+OpenGL programming, for example, here: http://www.glprogramming.com/red/chapter05.html.
In the OpenGL lighting model, the light in a scene comes from several
light sources; the light sources have an effect only when there are
specular. All four components are computed independently and then
added together.
-Ambient illumination is the light that has been scattered so much by the
+- The \b Ambient illumination is the light that has been scattered so much by the
environment that its direction is impossible to determine - it seems
to come from all directions. Backlighting in a room has a large
ambient component, since most of the light that reaches your eye has
after bouncing off other objects. When ambient light strikes a
surface, it is scattered equally in all directions.
-The diffuse component is the light that comes from one direction, so
+- The \b Diffuse component is the light that comes from one direction, so
it is brighter if it comes squarely down on a surface than if it barely
glances off the surface. Once it hits a surface, however, it's
scattered equally in all directions, so it appears equally bright, no
matter where the eye is located. Any light coming from a particular
position or direction probably has a diffuse component.
-Finally, the specular light comes from a particular direction, and it
+- The \b Specular light comes from a particular direction, and it
tends to bounce off the surface in a preferred direction. A
well-collimated laser beam bouncing off a high-quality mirror produces
specular reflection by almost 100 percent. Shiny metal or plastic has a
high specular component, and chalk or carpet has almost none. You can
think of specularity as shininess.
+- The \b Emissive color simulates light originating from an object.
+In the OpenGL lighting model, the emissive color of a surface adds
+intensity to the object, but is unaffected by any light sources. Also,
+the emissive color does not introduce any additional light into the
+overall scene.
+
Although a light source delivers a single distribution of frequencies,
the ambient, diffuse, and specular components might be different. For
example, if you have a white light in a room with red walls, the
objects is white. OpenGL allows you to set the red, green, and blue
values for each component of light independently.
-\section material_lib Materials library dialog box
-The dialog box consists of two parts:
-- The list box at the left shows all available material models, both
-predefined by the application and custom one specified by the user.
-- The widgets in the right part of the dialog box allows modifyng of
-different properties of the material model.
+\anchor material_lib_anchor <h2>Materials library</h2>
-The following properties of the material model can be specified:
-- \b Ambient color and coefficient (floating point value between 0 and 1)
-- \b Diffuse color and coefficient (floating point value between 0 and 1)
-- \b Specular color and coefficient (floating point value between 0 and 1)
-- \b Emissive color and coefficient (floating point value between 0
-and 1). Note: this attribute is applicable only for the OCC viewer;
-it simulates light originating from an object.
-- \b Shininess
-- \b Type of material model: \em physical or \em artificial.
+\image html materials_library.png
+
+The dialog consists of two parts:
-All available predefined material models are shown in the list box of
-the <b>Materials dialog</b> dialog:
+<ul>
+<li>The list to the left shows all available material models, both
+predefined and custom.
- <b>[Current]</b> item in the list corresponds to the material model
currently assigned to the selected shape(s). This model can be
freely modified by the user.
is not allowed to modify the global models.
- <b>User</b> materials are shown in black color in the list. These
models are specified by the user and can be modified at any moment.
+</li>
-The buttons "Add material" and "Remove material" in the lower part of
-the dialog box can be used to create or remove custom material
-models. The same commands are also available via the popup menu that
-is shown if the user presses right mouse button in the materials list
-box. An additional "Rename material" command, available in popup menu,
-can be used to change the name of material model.
+<li>The widgets to the right allow modifyng different properties of the material model:
+- \b Ambient color and coefficient (floating point value between 0 and 1)
+- \b Diffuse color and coefficient (floating point value between 0 and 1)
+- \b Specular color and coefficient (floating point value between 0 and 1)
+- \b Emissive color and coefficient (floating point value between 0
+and 1). Note: this attribute is applicable only for the OCC viewer;
+it simulates light originating from an object.
+- \b Shininess
+- \b Type of material model: \em physical or \em artificial.
+</li>
-\section material Material properties dialog box
+<li>The buttons <b>Add material</b> and <b>Remove material</b> in the
+lower part of the dialog box can be used to create or remove custom
+material models. The same commands are also available via the context
+menu in the materials list. <b>Rename material</b> command can be used
+to change the name of material model.</li>
+</ul>
+
+\anchor material_anchor <h2>Material properties</h2>
+
+\image html material.png
-The dialog box looks like "Materials library" dialog box but has
-some additions in the form of selection objects mechanizm and "Color"
-property.
+In addition to the functionality of <b>Materials library</b>, this
+dialog provides objects selection mechanizm and \b Color property.
-If the material model is specified as a \em physical one (like \em Gold,
-for instance), this means that the color of the shape (more precisely
-its \em ambient color) can not be modified. If you assign a physical
-material model to the shape, the "Color" menu item will not be
-available in the popup menu.
+If the material model is specified as a \em physical (\em Gold,
+for example), the shape color (more precisely its \em ambient color)
+cannot be modified. If you assign a physical material model to the
+shape, the "Color" menu item will not be available in the popup menu.
If the model is non-physical (\em artificial), the color can be changed
to any appopriate one, only other attributes will be constant. In the
dialog box you will be able to modify the color of the shape via the
-"Color" button. "Ambient color" button becomes disabled to signalize
+"Color" button. "Ambient color" button will be disabled to signalize
that this attribute of the model is ignored. Also, it will be possible
to modify the color of the shape via the
\ref color_page "corresponding popup menu command".
<b>Examples:</b>
\image html material_OCC.png
-<em>Different materials in OCC viewer</em>
+<center><em>Various materials in OCC viewer</em></center>
-\image html material_VTK.png
-<em>Different materials in VTK viewer</em>
+\n\image html material_VTK.png
+<center><em>Various materials in VTK viewer</em></center>
The default material model is specified via the preferences of Geometry
module.
/*!
-\page min_distance_page Min. Distance
+\page min_distance_page Minimum Distance
Returns the minimum distance between two geometrical objects and
the coordinates of the vector of distance and shows the distance in
the viewer.
-\note The minimal distance searching task can have one or more
-solutions, and also it can have an infinite set of solutions. All
-found solutions are listed in dedicated combobox. When the user
-selects any one of found solutions, presentation is displayed in the
-OCC viewer and fields "Length", "DX", "DY" and "DZ" are filled with
-corresponding values. If there are no solutions found, text "No
-solution found" will be shown instead of solutions list; this could
-mean what the task has an infinite number of solutions.
+\note The query for minimum distance can find one or more
+solutions, or even an infinite set of solutions. All
+found solutions are listed in a dedicated combo-box. When one of the found solutions is selected, the presentation is displayed in the
+OCC viewer and fields "Length", "DX", "DY" and "DZ" are filled with the
+corresponding values. If no solutions have been found, the message "No
+solution found" is shown.
-\n \note Currently used OCCT functionality finds finite number of
-solutions even in cases, where an infinite set of solutions exists.
+\note The currently used OCCT algorithm finds a finite number of
+solutions even if an infinite set of solutions exists.
-\n On \b Apply or <b>Apply and Close</b> it creates a set of closest
-points of the shapes, corresponding to all found solutions.
+\image html distance.png
+
+\n On \b Apply or <b>Apply and Close</b> a set of closest
+points, corresponding to all found solutions is created.
<b>TUI Commands:</b>
\n<em>aDist = geompy.MinDistance(Shape1, Shape2),</em>
See also a \ref tui_min_distance_page "TUI example".
-\image html distance.png
-
*/
\n Firstly an \b Object can be mirrored through a \b Point of symmetry
\n <b>TUI Command:</b> <em>geompy.MakeMirrorByPoint(Object, Point)</em>
\n <b>Arguments:</b> Name + one or several objects + 1 vertex.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation7.png
symmetry
\n <b>TUI Command:</b> <em>geompy.MakeMirrorByAxis(Object, Axis)</em>
\n <b>Arguments:</b> Name + one or several objects + 1 vector.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
+
\image html transformation8.png
\n Finally an \b Object can be mirrored through a \b Plane of symmetry
\n <b>TUI Command:</b> <em>geompy.MakeMirrorByPlane(Shape, Plane)</em>
\n <b>Arguments:</b> Name + one or several objects + 1 plane
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and subshapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation9.png
\n This operation modifies the \b Location of \b Objects.
-\n The first algorithm places the object(s) so that its center coincides
-with the origin of the Local Coordinate System.
+\n The first algorithm places the \b Object(s) so that its center coincides
+with the origin of the <b>Local Coordinate System</b>.
\n <b>Create a copy</b> checkbox allows to keep the initial objects, otherwise they
will be removed.
\n <b>Arguments:</b> Name + one or several objects + End Coordinate System.
-\n <b>Advanced option:</b>
-\ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation5.png
\image html image30.png
-\n The second algorithm modifies the location of an object using Start
-and End LSC, although the final position of the object will not
+\n The second algorithm modifies the location of the \b Object(s) using \b Start
+and \b End \b LCS, although the final position of the object will not
coincide with the center of either of the two systems. In this method
the object is shifted from its initial position by the value of the
-remainder after subtraction of the coordinates of the Start LSC from
-the coordinates of the End LSC.
+remainder after subtraction of the coordinates of the <b>Start LCS</b> from
+the coordinates of the <b>End LCS</b>.
\n <b>Create a copy</b> checkbox allows to keep the initial object,
otherwise it will be removed.
\n <b>Arguments:</b> Name + one or several objects + Start Coordinate System + End
Coordinate System.
-\n <b>Advanced option:</b>
-\ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation6.png
\image html image4.png
-The third algorithm modifies the location of an object using the Path object (Wire or Edge)
-and the Distance parameter (ranging from 0 to 1) defining how far the object will move along the path.
+The third algorithm modifies the location of the \b Object(s) using the <b>Path object</b> (Wire or Edge)
+and the \b Distance parameter (ranging from 0 to 1) defining how far the object will move along the path.
\n <b>Create a copy</b> checkbox allows to keep the initial object,
otherwise it will be removed.
\n <b>Select Unpublished edges</b> checkbox allows to select sub-shape edges on
\n <b>Reverse Direction</b> checkbox allows to REVERSE the direction of the object movement along its path.
<b>Arguments:</b> Name + one or several objects + Translation path.
-\n <b>Advanced option:</b>
-\ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation13.png
\n To produce a <b>Multi Rotation</b> in the <b>Main Menu</b> select
<b>Operations - > Transformation - > Multi Rotation</b>
-\n This operation creates a compound of several shapes rotated in one
-or two dimensions basing on the initial shape.
-\n The \b Result will be one \b GEOM_Object (compound).
-
-\n To produce a <b>Simple Multi Rotation</b> (in one dimension) you
-need to define a \b Shape to be rotated, an \b Axis of rotation (DZ by
-default), Angle of rotation (optionally) and a <b>Number of Times</b>
-the shape must be rotated. If <b>Angular step</b> is not defined
-(checkbox is not checked), it will be 2 * \a PI / \a NbTimes. Number
-of shape's copies in the resulting compound will be equal to
-\a NbTimes (if \a NbTimes = 1, the result will contain only the
-initial non-transformed shape).
+\n This operation creates a compound of several rotated shapes basing on the initial shape.
+
+
+In case of <b>Simple Multi Rotation</b> the object is multiplied by rotation.
+
+\image html neo-mrot1.png
+
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- <b> Main Object </b> to be rotated;
+- \b Vector defines the axis of rotation (DZ by default);
+- <b>Angular step</b> is the angle by which the object is rotated. By default
+(if the checkbox is not checked), it is 2 * \a PI / \a NbTimes;
+- <b>Nb. Times</b> is the number of rotated shape copies in the resulting compound. If \a NbTimes = 1, the result contains only the
+initial shape;
+- \ref restore_presentation_parameters_page "Advanced options".
+
+\n The \b Result will be a \b GEOM_Object (compound).
\n <b>TUI Commands:</b>
\n <em>geompy.MultiRotate1DNbTimes(Shape, Axis, NbTimes)</em>
<em>geompy.MakeMultiRotation1DByStep(Shape, Dir, Point, AngleStep, NbTimes)</em>,
which works in the same way, but the Axis is defined by direction and point.
-\image html neo-mrot1.png
-
\image html multi_rotation1d1.png "The initial object"
\image html multi_rotation1d2.png "The result of a simple multi-rotation"
-\n <b>Double Multi Rotation</b> (in two dimensions) rotates the given
-\b Object around the given \b Axis (DZ by default) on the given
-\b Angle (optional) a given <b>Number of Times</b> and
-multi-translates each rotation result.
-If <b>Angular step</b> is not defined (checkbox is not checked), it
-will be 2 * \a PI / \a NbTimes.
-Translation direction passes through the center of gravity of the
-initial shape and its projection on the rotation axis. Number of
-shape's copies in the resulting compound will be equal to \a NbTimes1 x \a NbTimes2
-(if both \a NbTimes1 and \a NbTimes2 are equal to 1, the result will contain
-only the initial non-transformed shape).
-\b Reverse checkbox allows to set the direction of rotation.
+In case of <b>Double Multi Rotation</b> the object is multiplied by rotation and additionally translated several times in each direction.
+
+\image html neo-mrot2.png
+
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- <b> Main Object </b> to be rotated;
+- \b Vector defines the axis of rotation (DZ by default);
+- <b>Angular step</b> is the angle by which the object is rotated. By default
+(if the checkbox is not checked), it is 2 * \a PI / \a NbTimes;
+- <b>Nb. Times</b> (\a NbTimes1) is the number of rotated shape copies in the resulting compound;
+- \b Reverse checkbox allows changing the direction of translation;
+- <b> Radial step </b> is the distance between the shape copies in the same direction. Translation direction passes through the center of gravity of the
+initial shape and its projection on the rotation axis;
+- <b>Nb. Times</b> (\a NbTimes2) is the number of shape copies in the same direction. If \a NbTimes2 = 1, the result is the same as for <b>Simple Multi Rotation</b>. If both \a NbTimes1 and \a NbTimes2 are equal to 1, the result will contain only the initial non-transformed shape;
+- \ref restore_presentation_parameters_page "Advanced options".
\n <b>TUI Commands:</b>
\n <em>geompy.MultiRotate2DNbTimes(Shape, Axis, NbTimes1, RadialStep, NbTimes2)</em>
<em>geompy.MakeMultiRotation2DByStep(Shape, Dir, Point, AngleStep, NbTimes1, RadialStep, NbTimes2)</em>,
which works in the same way, but the Axis is defined by direction and point.
-\image html neo-mrot2.png
\image html multi_rotation2d1.png "The initial object"
two directions.
\n The \b Result will be one \b GEOM_Object (compound). The total
number of shape copies in the resulting compound will be equal to:
-- in case of \ref single_multi_translation "Single multi translation":
+- in case of \ref single_multi_translation "Simple multi translation":
\a NbTimes (if \a NbTimes parameter is equal to 1, the result will
contain only the initial non-translated shape).
- in case of \ref double_multi_translation "Double multi translation":
initial shape).
\anchor single_multi_translation
-\n To produce a <b>Simple Multi Translation</b> (in one direction) you
-need to indicate an \b Object to be translated, a \b Vector of
-translation (DX by default), a \b Step of translation and a <b>Number
-of Times</b> the Object should be duplicated. If a curve has been
-selected instead of the Vector, only its first and last vertices will
-be used to get the vector direction and the dialog preview will
-display the vector along which the object will be translated.
+
+In case of <b>Simple Multi Translation</b> the object is translated in one direction.
\image html mtrans1.png
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- <b> Main Object </b> to be translated;
+- \b Vector of translation (DX by default). If a curve has been
+selected instead of the Vector, only its first and last vertices will
+be used to get the vector direction and the dialog preview will
+display the vector along which the object will be translated;
+- <b>Step</b> is the distance between the shape copies;
+- <b>Nb. Times</b> is the number of shape copies;
+- <b>Reverse Direction </b> checkbox allows changing the direction of translation;
+- \ref restore_presentation_parameters_page "Advanced options".
+
\image html multi_translation_initialsn.png "The initial object"
\image html multi_translation1dsn.png "The result of a simple multi-translation"
step value + 1 value (repetition).
\anchor double_multi_translation
-\n To produce a <b>Double Multi Translation</b> (in two directions) you need to
-indicate an \b Object to be translated, and, for both axes, a \b
-Vector of translation (DX and DY by default), a \b Step of translation
-and a <b>Number of Times</b> the shape must be duplicated.
-If a curve has been selected instead of the Vector, only its first and
-last vertices will be used to get the vector direction and the dialog
-preview will display the vector along which the object will be
-translated.
+
+In case of <b>Double Multi Translation</b> the object is translated in two directions.
\image html mtrans2.png
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- <b> Main Object </b> to be translated;
+- <b> Vector U/V</b> of translation (DX and DY by default). If a curve has been
+selected instead of the Vector, only its first and last vertices will
+be used to get the vector direction and the dialog preview will
+display the vector along which the object will be translated;
+- <b>Step U/V</b> is the distance between the shape copies;
+- <b>Nb. Times U/V</b> is the number of shape copies;
+- <b>Reverse U/V </b> checkbox allows changing the direction of translation;
+- \ref restore_presentation_parameters_page "Advanced options".
+
\image html multi_translation_initialsn.png "The initial object"
\image html multi_translation2dsn.png "The result of a double multi-translation"
Objects) along a local normal by a given \b Offset distance (signed
number, negative value meaning inner offset).
\n \b Offset operation is applicable to faces, shells and solids.
-\n The \b Result will be a \b GEOM_Object
-\n <b>TUI Command:</b> <em>geompy.MakeOffset(Shape, Offset),</em>
-where Shape is a shape(s) which has to be an offset, Offset is a value of
-the offset.
-\n <b>Arguments:</b> Name + Object (face(s), shell(s), solid(s)) +
-Offset value
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+\n \ref restore_presentation_parameters_page "Advanced options".
+
\image html transformation11.png
\image html offsetsn.png "The box and its offset surface"
+\n <b>TUI Command:</b> <em>geompy.MakeOffset(Shape, Offset),</em>
+where Shape is a shape(s) which has to be an offset, Offset is a value of
+the offset.
+\n <b>Arguments:</b> Name + Object (face(s), shell(s), solid(s)) +
+Offset value.
+\n The \b Result will be a \b GEOM_Object.
+
Our <b>TUI Scripts</b> provide you with useful examples of the use of
\ref tui_offset "Transformation Operations".
\n This operation makes normal projection of a <b>Source vertex, edge
or wire</b> on a given <b>Target face</b>.
-\n <b>Arguments:</b> Name + 2 Objects.
-\n The \b Result will be an \b Object.
+\ref restore_presentation_parameters_page "Advanced options".
\image html projection_dlg.png
\n The first \b Rotation algorithm needs you to define an \b Object to
be rotated, an \b Axis of rotation and an \b Angle of rotation.
-\n <b>TUI Command:</b> <em>geompy.MakeRotation(Shape, Axis, Angle)</em>
-\n <b>Arguments:</b> Name + one or several objects + 1 vector for direction of rotation + 1
-angle.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+\n \b Reverse checkbox allows to specify the direction of rotation.
+\n <b>Create a copy</b> checkbox allows to keep the initial object,
+otherwise it will be removed.
+\n \ref restore_presentation_parameters_page "Advanced options".
\image html transformation4.png
-\b Reverse checkbox allows to specify the direction of rotation.
-\n <b>Create a copy</b> checkbox allows to keep the initial object,
-otherwise it will be removed.
-\n The \b Result will be any \b GEOM_Object.
+\n <b>TUI Command:</b> <em>geompy.MakeRotation(Shape, Axis, Angle)</em>
+\n <b>Arguments:</b> Name + one or several objects + 1 vector for direction of rotation + 1 angle.
\n The second algorithm allows to define the rotated \b Object by
three points. Rotation axis will pass through the <b>Central Point</b>
and will be will be orthogonal to a plane defned by three points. In
this case rotation \b Angle is the angle between two vectors directed
-from the first point to the second and to the third.
+from the <b>Central Point</b> to \b Point1 and \b Point2.
+\n \b Reverse checkbox allows to specify the direction of rotation.
+\n <b>Create a copy</b> checkbox allows to keep the initial object,
+otherwise it will be removed.
+\n \ref restore_presentation_parameters_page "Advanced options".
+
+\image html transformation4a.png
+
\n <b>TUI Command:</b> <em>geompy.MakeRotationThreePoints(Shape, CentralPoint, Point1, Point2)</em>
\n <b>Arguments:</b> 1 shape + 3 points.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
-\image html transformation4a.png
\n <b>Example:</b>
<b>Operations - > Transformation - > Scale Transform</b>
\n This operation creates a scaled shape basing on the initial
-shape. For this, you need to define the \b Shape to be scaled, the
-<b>Central Point</b> of scale and the Scale Factor(s).
-\n The \b Result will be a \b GEOM_Object.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+shape.
+\n <b>Simple scale</b> scales the entire object (i.e. its dimensions change evenly in all three orthogonal directions). It does not modify the
+geometry of the shape.
+
\image html transformation10.png
+
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- One or several <b> Objects </b> to be scaled;
+- <b>Central Point</b> (optional) - relatively to which the object is scaled. If the <b>Central Point</b> is not defined, the scaling will be
+performed relatively the origin of the global coordinate system.
+- <b>Scale Factor</b> - the multiplier of axial dimensions. If <b>Scale Factor</b> is negative, the object is mirrored through the <b>Central Point</b>.
+- \ref restore_presentation_parameters_page "Advanced options".
+
\n <b>TUI Command:</b> <em>geompy.MakeScaleTransform(Shape, CenterOfScale, Factor)</em>
\n <b>Arguments:</b> Name + 1 shape(s) + 1 vertex + 1 Scale Factor.
+\n <b>Multiple scale</b> allows scaling by different factors along axes. This is a general transformation, which can modify the geometry, for example, a
+circle can be transformed into an ellipse.
+
\image html transformation10a.png
+
+The following parameters and options can be defined in this dialog:
+- <b>Result Name</b>;
+- One or several <b> Objects </b> to be scaled;
+- <b>Central Point</b> (optional) - relatively to which the object is scaled.
+- <b>Scale Factor X/Y/Z</b> - the multipliers of axial dimensions.
+- \ref restore_presentation_parameters_page "Advanced options".
+
\n <b>TUI Command:</b> <em>geompy.MakeScaleAlongAxes(Shape, CenterOfScale, FactorX, FactorY, FactorZ)</em>
\n <b>Arguments:</b> Name + 1 shape(s) + 1 vertex + 3 Scale Factors.
-\note If the <b>Central Point</b> is not defined, the scaling will be
-performed relatively the origin of the global coordinate system.
-
-\note Scaling by one factor is a simple transformation, it does not modify the
-geometry of the shape, while scaling by several different factors along axes
-is a general transformation, which can modify the geometry, for example, a
-circle can be transformed into an ellipse.
\n <b>Example of simple scaling:</b>
This Operation makes a translation of an \b Object. To translate a
shape you need to define the base shape and the coordinates of the
-vector of translation. <b>Create a copy</b> checkbox allows to keep the
-initial object, otherwise it will be removed.
+vector of translation.
+\n <b>Create a copy</b> checkbox allows to keep the initial object, otherwise it will be removed.
+\n \ref restore_presentation_parameters_page "Advanced options".
\n The \b Result of all operations will be any \b GEOM_Object.
-\n Firstly you can define an \b Object and the vector coordinates along the
+The \b Vector of translation can be defined in three different ways selectable using the radio buttons.
+
+\n Firstly you can define the \b Vector by coordinates along the
axes.
\n <b>TUI Command:</b> <em>geompy.MakeTranslation(Shape, DX, DY,
DZ),</em> where Shape is a shape to be translated, DX, DY, DZ are
components of translation vector.
\n <b>Arguments:</b> Name + one or several objects + 3 values (coordinates).
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
\image html transformation1.png
-\n Secondly you can define an \b Object and the start and the end points
-of the vector.
+\n Secondly you can define the \b Vector by the start and the end points.
\n <b>TUI Command:</b> <em>geompy.MakeTranslationTwoPoints(Object, Point1, Point2)</em>
\n <b>Arguments:</b> Name + one or several objects + 2 vertices
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
+
\image html transformation2.png
-\n Finally you can define an \b Object and a vector. The object will be translated by the length of the vector.
-If a curve has been selected instead of the vector, only its first and last vertices will be used to get the vector direction
-and the dialog preview will display the vector along which the object will be translated.
-\n <b>TUI Command:</b> <em>geompy.MakeTranslationVector(Object, Vector)</em>
-\n <b>Activate Distance</b> checkbox and <b>Distance</b> field allow defining the custom distance of translation.
-\n <b>TUI Command </b> for translation by vector and custom distance: <em>geompy.MakeTranslationVectorDistance(Object, Vector, Distance)</em>
+\n Finally you can define the \b Vector explicitely. The \b Object will be translated by the length of the vector.
+If a curve has been selected instead of the vector, only its first and last vertices will be used to get the vector direction and the dialog preview will display the vector along which the object will be translated.
+\n <b>Activate Distance</b> checkbox and <b>Distance</b> field allow defining a custom distance of translation.
+
+
+\n <b>TUI Command:</b> for translation by vector: <em>geompy.MakeTranslationVector(Object, Vector)</em>
+\n <b>TUI Command </b> for translation by vector and a custom distance: <em>geompy.MakeTranslationVectorDistance(Object, Vector, Distance)</em>
\n <b>Arguments:</b> Name + one or several objects + 1 vector.
-\n <b>Advanced option:</b>
- \ref restore_presentation_parameters_page "Set presentation parameters and sub-shapes from arguments".
\image html transformation3.png
<b>SALOME NoteBook</b> allows defining variables to be used for creation and modification of objects.
-A detailed description of the SALOME NoteBook can be found the the GUI documentation.
+A detailed description of the SALOME NoteBook can be found in the GUI documentation.
\image html using_notebook_geom.png "Definition of variables in SALOME NoteBook"
\image html image18.png
-<li><b>Hide all</b> - allows to hide all objects from the viewer. TUI
+<li><b>Hide all</b> - hides all objects from the viewer. TUI
Command: <em>sg.EraseAll()</em></li>
\image html image26.png
-<li><b>Show Only</b> - allows to display only the selected
+<li><b>Show Only</b> - displays only the selected
geometrical object. TUI Command: <em>sg.DisplayOnly(ID)</em></li>
\image html image33.png
child objects. When some child objects are hidden, the name of the
parent object is hilghlighted with bold font.</li>
-<li><b>Show Only Children</b> - erase in current viewer all objects
-and then display only children of the selected object(s).
+<li><b>Show Only Children</b> - erases from the current viewer all objects
+and then displays only the children of the selected object(s).
</li>
-<li><b>Unpublish</b> - unpublish the selected geometric object from the Object Browser
+<li><b>Unpublish</b> - unpublishes the selected geometric object from the Object Browser
and erase it from all viewers. To publish unpublished geometric objects select in the
context menu of the <b>Geometry</b> root object <b>Publish...</b> item.
The following dialog box will appear</li>
\image html editgroup.png
\n The subshapes already in the group are displayed in the 3D viewer with a specific color,
-defined via preferences. The IDs of the subshapes already in the group also are displayed in
-a specific color in the dialog box. When user adds some subshapes, the new IDs are
+defined via preferences. The IDs of the subshapes already in the group are also displayed in
+a specific color in the dialog box. When the user adds some subshapes, the new IDs are
displayed in the other color.
\n The \b Result of the operation will be a \b GEOM_Object.