Salome HOME
using a better solution to do compare doubles for shape physical properties
[modules/shaper.git] / src / SketchPlugin / doc / SketchPlugin.rst
1
2 .. _sketchPlugin:
3
4
5 Sketch plug-in
6 ================
7
8 .. |SketchButton.icon|    image:: images/SketchButton.png
9
10 Sketch plug-in includes features for creation of 2D shapes.
11
12 The sketch creation takes the following steps:
13
14 - definition of sketch plane;
15 - creation of sketch objects from scratch;
16 - generation of sketch objects via operations on the existing operations;
17 - definition of constraints.
18
19 Sketch can be created in the active part or in a partset (if there is no active part).
20
21 To create a Sketch:
22
23 #. select in the Main Menu *Sketch - > Sketch* item  or
24 #. click |SketchButton.icon| **Sketch** button in Sketch toolbar:
25
26 First define a plane for the sketch:
27
28 .. figure:: images/PlaneDefinition.png
29    :align: center
30
31 - specify plane size (equal to 25 in the example above);
32 - select the appropriate plane in the viewer.
33
34 Note that coordinate planes will be suggested for selection if no convenient objects for plane selection are displayed in the viewer:
35
36 .. figure:: images/CoordinatePlanes.png
37    :align: center
38
39 After the plane for sketch is selected, the following property panel will be opened:
40
41 .. figure:: images/SketchPanel.png
42    :align: center
43
44    Sketch general panel
45
46 - **Reversed** check box - allows reversing the sketch plane normal;
47 - **Set plane view** button - switches the viewer to the top view for the sketch plane;
48 - **Show geometrical constraints** check box - displays/hides geometrical constraints:
49 - **Show dimensional constraints** check box - displays/hides dimensional constraints; 
50 - **Show existing expressions** check box - displays/hides expressions.
51 - **Show free points** check box - highlights free points in the current sketch if it is checked.
52 - **Automatic constraints** - automatically create horizontal or vertical constraints if angle between created line and horizontal or vertical less then angular tolerance (defined in preferences).
53 - **Change sketch plane** button - allows to change working plane of the current sketch.
54 - **Show remaining DoFs** button - highlights all sketch edges which are not fully constrained.
55
56 Now it is possible to:
57
58 - create :ref:`sketch objects <sketch_objects>`
59 - create :ref:`constraints <sketch_constraints>`
60 - perform :ref:`sketch operations <sketch_operations>`
61
62 To apply or cancel sketch creation use Apply and Cancel buttons from the
63 Sketch panel as well as equivalent buttons from Sketch toolbar.
64
65 The Result of operation will be a COMPOUND. In the object tree, Result node is located in
66 **Constructions** folder.
67
68 The Name is assigned automatically: **Sketch_1**, **Sketch_2**, ... both for Feature and Result.
69
70 **TUI Command**:
71
72 .. py:function:: model.addSketch(PartOrPartSet, plane)
73
74     :param part: The current part object.
75     :param object: A plane.
76     :return: Result object.
77
78 .. _sketch_objects:
79
80 Sketch objects
81 --------------
82
83 The plug-in includes the following features for creation of 2D objects:
84
85 .. toctree::
86    :maxdepth: 1
87
88    pointFeature.rst
89    lineFeature.rst
90    rectangleFeature.rst
91    circleFeature.rst
92    arcFeature.rst
93    ellipseFeature.rst
94    arcEllipseFeature.rst
95    bsplineFeature.rst
96    curveFittingFeature.rst
97
98 .. _sketch_constraints:
99
100 Constraints
101 -----------
102
103 Constraints are available and viewable during sketch creation or editing.
104
105 The goal of constraints creation is to fix sketch geometry, i.e. set degrees of freedom to zero.
106
107 If all degrees of freedom are eliminated, the sketch is fixed and displayed with green color.
108
109 .. figure:: images/Sketch_fixed.png
110    :align: center
111
112    Fixed Sketch
113
114 If any degrees of freedom remain unsolved, the sketch is under-constrained and displayed with red color.
115
116 .. figure:: images/Sketch_underconstrained.png
117    :align: center
118
119    Underconstrained Sketch
120
121 The plug-in includes the following constraints:
122
123 .. toctree::
124    :maxdepth: 1
125
126    distanceFeature.rst
127    horizontalDistFeature.rst
128    verticalDistFeature.rst
129    lengthFeature.rst
130    angleFeature.rst
131    radiusFeature.rst
132    horizontalFeature.rst
133    verticalFeature.rst
134    fixedFeature.rst
135    parallelFeature.rst
136    perpendicularFeature.rst
137    tangentFeature.rst
138    coincedentFeature.rst
139    middleFeature.rst
140    equalFeature.rst
141    collinearFeature.rst
142
143 .. _sketch_operations:
144
145 Overconstraned state
146 --------------------
147
148 Sketcher comes into overconstrained state when an extra constraint was defined. The following picture shows an example of the overconstrained state:
149
150 .. figure:: images/Overconstrained.png
151    :align: center
152
153    Overconstrained Sketch
154
155 When Sketcher gets this state then:
156
157 - buttons Apply and Cancel for the whole Sketcher are blocked;
158 - a constraint which causes the overconstraint state is highlightid by red color;
159 - a warning message in sketcher Property Panel is shown with recomendation what to do in this case;
160 - an additional Undo button is shown under the warning messages;
161
162 After undoing the last operation or deletion of a conflicting constraint Sketcher will be reverted into a normal state.
163
164 Operations
165 ----------
166 Operations modify existing features of the sketch or create new ones by copying them.
167
168 The plug-in includes the following operations:
169
170 .. toctree::
171    :maxdepth: 1
172
173    filletFeature.rst
174    splitFeature.rst
175    trimFeature.rst
176    projectionFeature.rst
177    intersectionFeature.rst
178    mirrorFeature.rst
179    translationFeature.rst
180    rotationFeature.rst
181    offsetFeature.rst
182    sketchDrawer.rst
183    sketchCopy.rst