diff --git a/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc b/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc
new file mode 100644
index 0000000..6c91730
--- /dev/null
+++ b/doc/salome/gui/NETGENPLUGIN/input/additional_hypo.doc
@@ -0,0 +1,28 @@
+/*!
+
+\page additional_hypo_page Additional Hypotheses
+
+\n Additional Hypotheses can be applied as a supplement to the
+main hypotheses, introducing additional concepts to mesh creation.
+
+Following additional hypotheses can be used together with NETGEN algoritm:
+
+
+- Quadrangle Preference - This additional hypothesis can be used together with Netgen 2D algorithm.
+It allows Netgen 2D to build quadrangular meshes.
+
+This hypothesis has one restriction on its work: the total quantity of
+segments on all four sides of the face must be even (divisible by 2).
+
+
+- Viscous Layers additional hypothesis can be used together with NETGEN 3D.
+This hypothesis allows creation of layers of highly stretched prisms near
+mesh boundary, which is beneficial for high quality viscous
+computations. The prisms constructed on the quadrangular mesh faces are
+actually the hexahedrons.
+
+
+For more detailed description of the described above hypothesis please refer SALOME Mesh User's Guide.
+*/
+
+
diff --git a/doc/salome/gui/NETGENPLUGIN/input/index.doc b/doc/salome/gui/NETGENPLUGIN/input/index.doc
new file mode 100644
index 0000000..df3ed3a
--- /dev/null
+++ b/doc/salome/gui/NETGENPLUGIN/input/index.doc
@@ -0,0 +1,20 @@
+/*!
+
+\mainpage Introduction to NETGENPLUGIN
+
+\b NETGENPLUGIN plugin is destined for:
+- Meshing 1D, 2D and 3D geometric entities.
+ - Faces are split into triangular elements.
+ - Volumes are split into tetrahedral (pyramidal) elements.
+- Generating 3D meshes from 2D meshes, working without geometrical objects.
+
+To manage parameters of the NETGENPLUGIN use \subpage netgen_2d_3d_hypo_page and \subpage additional_hypo_page.
+
+Also all NETGENPLUGIN functionalities are accessible via
+\subpage netgenplugin_python_interface_page "NETGENPLUGIN Python interface".
+
+\image html image1.png "Example of a triangular 2D mesh"
+
+\image html image2.gif "Example of a tetrahedral 3D mesh"
+
+*/
\ No newline at end of file
diff --git a/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc b/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc
new file mode 100644
index 0000000..7a75cdd
--- /dev/null
+++ b/doc/salome/gui/NETGENPLUGIN/input/netgen_2d_3d_hypo.doc
@@ -0,0 +1,100 @@
+/*!
+
+\page netgen_2d_3d_hypo_page Netgen 2D and 3D hypotheses
+
+Netgen 2D Parameters and Netgen 3D Parameters hypotheses work only with
+Netgen 1D-2D, Netgen 2D, Netgen 1D-2D-3D and
+Netgen 3D algorithms. Netgen 1D-2D and Netgen
+1D-2D-3D algorithms do not require definition of lower-level
+hypotheses and algorithms (2D and 1D for meshing 3D objects and 1D for
+meshing 2D objects).
+
+\image html netgen2d3d.png
+Dialog boxes of Netgen 1D-2D and Netgen
+1D-2D-3D algorithms
+
+
+\image html netgen2d3d_only.png
+Dialog boxes of Netgen 2D and Netgen 3D
+algorithms
+
+- Name - allows to define the name for the algorithm (Netgen
+2D (or 3D) Parameters by default).
+- Max Size - maximum linear dimensions for mesh cells.
+- Min Size - minimum linear dimensions for mesh cells. It is
+ignored if it is more than Max Size.
+- Second Order - if this box is checked in, the algorithm will
+create second order nodes on the mesh, which actually will become
+\ref adding_quadratic_elements_page "Quadratic".
+- Fineness - ranging from Very Coarse to Very Fine allows to set the
+level of meshing detalization using the three parameters below. You
+can select Custom to define them manually.
+- Growth rate - allows to define how much the linear dimensions of
+two adjacent cells can differ (i.e. 0.3 means 30%).
+- Nb. Segs per Edge and Nb Segs per Radius - allows to define the
+minimum number of mesh segments in which edges and radiuses will be
+split.
+- Allow Quadrangles - allows to use quadrangle elements in a
+triangle 2D mesh. This checkbox is not present in Netgen 3D parameters
+because currently building a tetrahedral mesh with quadrangle faces is
+not possible.
+- Optimize - if this box is checked in, the algorithm will try to
+create regular (possessing even sides) elements.
+
+\image html netgen3d_local_size.png
+
+- Local sizes - allows to define size of elements on and
+around specified geometrical edges and vertices. To define the local
+size it is necessary to select a geometrical edge or vertex in the
+object browser or in the viewer, and to click On Edge or On
+Vertex correspondingly. Name of the geometrical object and
+a default Value will be added in the table where the
+Value can be changed.
+- Remove - deletes a selected row from the table.
+
+\image html netgen2d3d_simple.png
+
+Netgen 2D simple parameters and Netgen 3D simple
+parameters allow defining the size of elements for each
+dimension.
+
+\b 1D group allows defining the size of 1D elements in either of two ways:
+- Number of Segments has the same sense as \ref
+number_of_segments_anchor "Number of segments" hypothesis with
+equidistant distribution.
+- Local Length has the same sense as \ref
+average_length_anchor "Local Length" hypothesis.
+
+\b 2D group allows defining the size of 2D elements
+- Length from edges if checked in, acts like \ref
+length_from_edges_anchor "Length from Edges" hypothesis, else
+- Max. Element Area defines the maximum element area like \ref
+max_element_area_anchor "Max Element Area" hypothesis.
+- Allow Quadrangles - allows to use quadrangle elements in a
+triangle 2D mesh. This checkbox is not present in Netgen 3D simple parameters
+because currently building a tetrahedral mesh with quadrangle faces is
+not possible.
+
+\b 3D groups allows defining the size of 3D elements.
+- Length from faces if checked in, the area of sides of
+volumic elements will be equal to an average area of 2D elements, else
+- Max. Element Volume defines the maximum element volume like
+\ref max_element_volume_hypo_page "Max Element Volume"
+hypothesis.
+
+\note Netgen algorithm does not strictly follow the input
+parameters. The actual mesh can be more or less dense than
+required. There are several factors in it:
+- NETGEN does not actually use "NbOfSegments" parameter for discretization of
+edge. This parameter is used only to define the local element size
+(size at the given point), so local sizes of adjacent edges influence
+each other.
+- NETGEN additionally restricts the element size according to edge curvature.
+- The local size of edges influences the size of close triangles.
+- The order of elements and their size in the 1D mesh generated by
+NETGEN differ from those in the 1D mesh generated by Regular_1D
+algorithm, resulting in different 2D and 3D meshes.
+
+*/
+
+
diff --git a/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc b/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc
new file mode 100644
index 0000000..d1e70a4
--- /dev/null
+++ b/doc/salome/gui/NETGENPLUGIN/input/netgenplugin_python_interface.doc
@@ -0,0 +1,59 @@
+/*!
+
+\page netgenplugin_python_intarface_page Python Interface
+
+Python package \ref NETGENPluginDC "NETGENPlugin" defines several classes, destined for creation of the 2D and 3D meshes.
+
+Documentation for NETGENPlugin package is available in linear form grouped by classes, declared in the NETGENPluginDC.py file.
+
+Below you can see an example of usage of the NETGENPlugin package for mesh generation:
+
+\code
+
+import geompy
+import smesh
+
+# create a box
+box = geompy.MakeBoxDXDYDZ(10., 10., 10.)
+geompy.addToStudy(box, "Box")
+
+
+# 1. Create a triangular 2D mesh on the box with NETGEN_1D2D algorithm
+triaN = smesh.Mesh(box, "Box : triangular mesh by NETGEN_1D2D")
+
+# create a Netgen_1D2D algorithm for solids
+algo2D = triaN.Triangle(smesh.NETGEN_1D2D)
+
+# define hypotheses
+n12_params = algo2D.Parameters()
+
+# define number of segments
+n12_params.SetNbSegPerEdge(19)
+
+# define max element
+n12_params.SetMaxSize(300)
+
+# 2. Create a tetrahedral mesh on the box with NETGEN_1D2D3D algorithm (full netgen)
+tetraN = smesh.Mesh(box, "Box : tetrahedrical mesh by NETGEN_1D2D3D")
+
+# create a Netgen_1D2D3D algorithm for solids
+algo3D = tetraN.Tetrahedron(smesh.FULL_NETGEN)
+
+# define hypotheses
+n123_params = algo3D.Parameters()
+
+# define number of segments
+n123_params.SetNbSegPerEdge(11)
+
+# define max element size
+n123_params.SetMaxSize(300)
+
+# compute the meshes
+triaN.Compute()
+tetraN.Compute()
+
+\endcode
+
+*/
+
+