Salome HOME
Increment version: 8.1.0
[modules/hexablock.git] / doc / intro_association.rst
1 :tocdepth: 3
2
3 .. _assomodelgeo:
4
5 ================================================
6 Associate this model of blocks with the geometry
7 ================================================
8
9 Associate the model to the geometry means that the geometry to mesh is
10 "raw" for this application. In other words, there will be no
11 modification of this geometry end no rebuild of a complete new
12 geometry. However it is possible to complete this geometry by adding
13 new pieces if necessary without any topological operation to link
14 these pieces to the initial geometry. Generally, the geometry to mesh
15 is defined as a set of faces, if these faces are not given under solid
16 form but form logically this solid, it is sufficient for this
17 application.
18
19 To associate the model to the geometry, three successive steps are to be followed:
20
21 1. Mandatory: associate **all the vertices** of the model to the geometry
22 2. If necessary: associate **the needed edges** of the model to the geometry
23 3. If necessary: associate **the needed faces** of the model to the geometry
24
25 The HexaBlock application enables to follow these three steps
26 independently (see :ref:`assoelemts`). To facilitate the association
27 of the model to the geometry, an alternative way exists: the first two
28 steps above can be replaced by a new stage called association by lines
29 (see :ref:`assolines`).
30
31 .. image:: _static/association2.png
32    :align: center
33
34 .. centered::
35    Rod connecting
36
37 .. _assoelemts:
38
39 Elements association
40 ====================
41
42 Associate the vertices 
43 ----------------------
44
45 This step is essential, all the vertices of the model must be associated to the geometry.
46
47 There are 4 ways for this association:
48
49 - associate one vertex "v" of the model to a "vertex" of the shape "s"
50   of the geometry.
51
52 - associate one vertex "v" of the model to a point of curvilinear
53   abscissa "p" of the "edge" included in the shape "s" of the
54   geometry.
55
56 - associate one vertex "v" of the model to a point of coordinates
57   "u,v" of the "face" included in the shape "s" of the geometry.
58
59 - associate one vertex "v" of the model to a any point.
60
61
62 It is possible to examine the association (vertex of the association
63 model, x-y-z-coordinates of the point of the association geometry).
64
65 For each vertex, the association is made in three steps:
66
67 - Choose a vertex of the model to associate.
68 - Choose the way of associating among the 4 possibilities described above.
69 - Specify the point on the geometry, the process depends on the previous choice:
70     - case of an existing vertex: selection and highlight on the
71       vertices of the geometry solely
72     - case of a point taken on an edge of the geometry: selection
73       and highlight of the edges and of a point on the edge in the
74       process of being selected.
75     - case of a point taken on an face of the geometry: selection
76       and highlight of the faces and of a point on the face in the
77       process of being selected.
78     - case of a new point: ask the coordinates and visualize this
79       new point.
80
81 .. _assoedges:
82
83 Associate the edges 
84 -------------------
85
86 This step is optional. An association of every edge is determined
87 automatically before generating the mesh. This automatic process
88 applies four different algorithms in the following order:
89
90 - the first algorithm determines a wire between the two vertices by
91   taking the shortest way.
92 - if that wire does not exist, then another wire is build in the following manner:
93     - compute the normals to the two vertices,
94     - compute the mean normal of the two previous normals,
95     - build the plan passing through the two vertices and this
96       mean normal,
97     - the sought-after wire is the intersection of the geometry
98       with the plan,
99 - if the intersection with this plan fails, then another wire
100   "iso-type" is determined between the two vertices and going along
101   the faces of the geometry linking these two vertices,
102 - if this wire still does not exist, then the vertices are linked by a
103   line segment.
104
105 If one of the automatic choices is not appropriate, then the
106 association of the edge of the model to the geometry has to be defined
107 explicitly.
108
109
110 Associate the quadrangles 
111 -------------------------
112
113 This step is optional. The model quadrangles association is
114 automatic. The three cases are processed:
115
116 - all the geometric faces exist then the nodes are computed on these faces,
117 - the faces do exist but some pieces are missing because of the new edges or vertices, in that case two strategies are deployed:
118     - automatic construction of the missing faces from the contour lines,
119     - or association of new faces build in the geometry,
120 - there are no associated faces to the quadrangle of the model:
121     - only the automatic mesh is used,
122     - if this automatic mesh does not work, then it is possible to
123       associate to the model quadrangle a geometric face build in
124       GEOM by the user.
125
126 If one of the automatic choices is not appropriate, then the
127 association of the quadrangle of the model to the geometry has to be
128 defined explicitly.
129
130 .. _assolines:
131
132 Association by lines
133 ====================
134
135 The description of this step is:
136
137 - At the end of this new stage, it is necessary that all points of the
138   model blocks are associated with the vertices of the geometry,
139 - The process is to associate the lines of the model of blocks to
140   vertices and edges of geometry until all points of the model of blocks
141   are associated,
142 - When all points of the model of blocks are associated, it is still
143   possible to complete with step 2 above (see :ref:`assoedges`) to
144   finish the association of needed edges.
145
146 See TUI  scripts and GUI part.