]> SALOME platform Git repositories - modules/shaper.git/blob - src/SketchPlugin/plugin-Sketch.xml
Salome HOME
move rectangle plugin from python addons to C++.
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
1 <plugin>
2   <workbench id="Sketch">
3     <group id="Linear geometry">
4       <feature
5         id="Sketch"
6         nested="SketchPoint SketchIntersectionPoint SketchLine
7                 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
8                 SketchEllipse SketchMacroEllipse SketchEllipticArc SketchMacroEllipticArc
9                 SketchBSpline SketchMacroBSpline SketchMacroBSplinePeriodic SketchBSplinePeriodic
10                 SketchRectangle SketchMacroRectangle
11                 SketchProjection
12                 SketchCurveFitting
13                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
14                 SketchConstraintParallel SketchConstraintPerpendicular
15                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
16                 SketchConstraintEqual SketchConstraintTangent
17                 SketchFillet SketchSplit SketchTrim
18                 SketchConstraintCoincidence SketchConstraintCoincidenceInternal
19                 SketchConstraintMirror SketchConstraintAngle
20                 SketchMultiRotation SketchMultiTranslation
21                 SketchOffset
22                 SketchConstraintCollinear SketchConstraintMiddle"
23         when_nested="accept abort"
24         title="Sketch"
25         tooltip="Create sketch"
26         icon="icons/Sketch/sketch.png"
27         helpfile="SketchPlugin.html">
28         <sketch-start-label id="External" geometrical_selection="true" title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch">
29           <validator id="GeomValidators_Face" parameters="plane"/>
30         </sketch-start-label>
31         <undo_label id="SolverError" isHTML="true" />
32         <validator id="SketchPlugin_SolverErrorValidator"/>
33       </feature>
34
35       <!-- SketchPoint -->
36       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png"
37                 helpfile="pointFeature.html">
38         <sketch-2dpoint_selector id="PointCoordinates" accept_expressions="0" title="Point" tooltip="Point coordinates"
39                                  enable_value="enable_by_preferences"/>
40         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
41       </feature>
42
43       <!-- SketchLine -->
44       <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png"
45                helpfile="lineFeature.html">
46         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
47                                  enable_value="enable_by_preferences"/>
48         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
49                                  enable_value="enable_by_preferences"/>
50         <labelvalue id="LineLength" accept_expressions="0" label="Length" default="computed" icon="icons/Sketch/distance_value.png"
51                      tooltip="Line length" obligatory="0" enable_value="false"/>
52         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
53         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
54       </feature>
55       <!-- SketchRectangle is a hidden feature. It is created inside SketchMacroRectangle. -->
56       <feature
57         id="SketchRectangle"
58         title="Rectangle"
59         tooltip="Create rectangle"
60         icon="icons/Addons/rectangle.png"
61         helpfile="rectangleFeature.html"
62         internal="1">
63         <sketch-2dpoint_selector id="rectangle_start_point"
64                                  accept_expressions="0"
65                                  title="Rectangle start point"
66                                  tooltip="Start point coordinates"
67                                  enable_value="enable_by_preferences"/>
68         <sketch-2dpoint_selector id="rectangle_end_point"
69                                  accept_expressions="0"
70                                  title="Rectangle end point"
71                                  tooltip="End point coordinates"
72                                  enable_value="enable_by_preferences"/>
73         <validator id="GeomValidators_Different" parameters="rectangle_start_point,rectangle_end_point"/>
74         <boolvalue id="Auxiliary"
75                    label="Auxiliary"
76                    default="false"
77                    tooltip="Construction element"
78                    obligatory="0"
79                    change_visual_attributes="true"/>
80       </feature>
81       <!-- SketchMacroRectangle -->
82       <feature
83         id="SketchMacroRectangle"
84         title="Rectangle"
85         tooltip="Create rectangle"
86         icon="icons/Addons/rectangle.png"
87         helpfile="rectangleFeature.html">
88         <toolbox id="rectangle_type" modified_in_edit="edit_rectangle_type">
89           <box id="rectangle_type_by_start_and_end_points"
90                icon="icons/Sketch/rectangle_pt_rad_32x32.png"
91                title="Start and end points">
92             <sketch-2dpoint_selector id="rectangle_start_point1"                                     
93                                      accept_expressions="0"
94                                      title="Rectangle start point"
95                                      tooltip="Start point coordinates"
96                                      enable_value="enable_by_preferences"/>
97             <sketch-2dpoint_selector id="rectangle_end_point1"
98                                      accept_expressions="0"
99                                      title="Rectangle end point"
100                                      tooltip="End point coordinates"
101                                      enable_value="enable_by_preferences"/>
102             <validator id="GeomValidators_Different" parameters="rectangle_start_point1,rectangle_end_point1"/>
103          </box>
104          <box id="rectangle_type_by_start_and_center_points"
105               icon="icons/Sketch/rectangle_pt_rad_32x32.png"
106               title="Start and center points">
107            <sketch-2dpoint_selector id="rectangle_start_point2"
108                                     accept_expressions="0"
109                                     title="Rectangle start point"
110                                     tooltip="Start point coordinates"
111                                     enable_value="enable_by_preferences"/>
112            <sketch-2dpoint_selector id="rectangle_center_point"
113                                     accept_expressions="0"
114                                     title="Rectangle center point"
115                                     tooltip="Center point coordinates"
116                                     enable_value="enable_by_preferences"/>
117            <validator id="GeomValidators_Different" parameters="rectangle_start_point2,rectangle_center_point"/>
118         </box>
119        </toolbox>
120        <boolvalue id="Auxiliary"
121                   label="Auxiliary"
122                   default="false"
123                   tooltip="Construction element"
124                   obligatory="0"
125                   change_visual_attributes="true"/>
126       </feature>
127     </group>
128     <group id="Conical geometry">
129       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
130       <feature id="SketchCircle"
131                title="Circle"
132                tooltip="Create circle"
133                icon="icons/Sketch/circle.png"
134                internal="1">
135         <sketch-2dpoint_selector id="circle_center"
136                                  title="Center"
137                                  tooltip="Center coordinates"
138                                  accept_expressions="0"
139                                  enable_value="enable_by_preferences"/>
140         <labelvalue id="circle_radius"
141                     icon="icons/Sketch/radius.png"
142                     label="Radius"
143                     tooltip="Set radius"
144                     default="computed"
145                     accept_expressions="0"
146                     enable_value="enable_by_preferences">
147         </labelvalue>
148         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
149       </feature>
150       <!-- SketchMacroCircle -->
151       <feature id="SketchMacroCircle"
152                icon="icons/Sketch/circle.png"
153                title="Circle"
154                tooltip="Create circle"
155                helpfile="circleFeature.html">
156         <toolbox id="circle_type" modified_in_edit="edit_circle_type">
157           <box id="circle_type_by_center_and_passed_points"
158                icon="icons/Sketch/circle_pt_rad_32x32.png"
159                title="Center and passed points">
160             <sketch-2dpoint_selector id="center_point"
161                                      reference_attribute="center_point_ref"
162                                      title="Center point"
163                                      tooltip="Center point coordinates"
164                                      accept_expressions="0"
165                                      enable_value="enable_by_preferences"/>
166             <sketch-2dpoint_selector id="passed_point"
167                                      reference_attribute="passed_point_ref"
168                                      title="Passed point"
169                                      tooltip="Passed point coordinates"
170                                      accept_expressions="0"
171                                      enable_value="enable_by_preferences">
172               <validator id="SketchPlugin_CirclePassedPointValidator"/>
173             </sketch-2dpoint_selector>
174             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
175           </box>
176           <box id="circle_type_by_three_points"
177                icon="icons/Sketch/circle_3pt_32x32.png"
178                title="Three points">
179             <sketch-2dpoint_selector id="first_point"
180                                      reference_attribute="first_point_ref"
181                                      title="First point"
182                                      tooltip="First point"
183                                      accept_expressions="0"
184                                      enable_value="enable_by_preferences"/>
185             <sketch-2dpoint_selector id="second_point"
186                                      reference_attribute="second_point_ref"
187                                      title="Second point"
188                                      tooltip="Second point"
189                                      accept_expressions="0"
190                                      enable_value="enable_by_preferences">
191               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
192             </sketch-2dpoint_selector>
193             <sketch-2dpoint_selector id="third_point"
194                                      reference_attribute="third_point_ref"
195                                      title="Third point"
196                                      tooltip="Third point"
197                                      accept_expressions="0"
198                                      enable_value="enable_by_preferences">
199               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
200               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
201             </sketch-2dpoint_selector>
202             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
203           </box>
204         </toolbox>
205         <labelvalue id="circle_radius"
206                     icon="icons/Sketch/radius.png"
207                     label="Radius"
208                     tooltip="Set radius"
209                     default="computed"
210                     accept_expressions="0"
211                     obligatory="0"
212                     enable_value="enable_by_preferences">
213         </labelvalue>
214         <boolvalue id="Auxiliary"
215                    tooltip="Construction element"
216                    label="Auxiliary"
217                    default="false"
218                    obligatory="0"
219                    change_visual_attributes="true"/>
220       </feature>
221
222       <!-- SketchArc -->
223       <feature id="SketchArc"
224                icon="icons/Sketch/arc.png"
225                title="Arc"
226                tooltip="Create arc"
227                internal="1">
228         <sketch-2dpoint_selector id="center_point"
229                                  title="Center"
230                                  tooltip="Center of a circle"
231                                  accept_expressions="0"
232                                  enable_value="enable_by_preferences"/>
233         <sketch-2dpoint_selector id="start_point"
234                                  title="Start point"
235                                  tooltip="Start point"
236                                  accept_expressions="0"
237                                  enable_value="enable_by_preferences"/>
238         <sketch-2dpoint_selector id="end_point"
239                                  title="End point"
240                                  tooltip="End point"
241                                  accept_expressions="0"
242                                  enable_value="enable_by_preferences"/>
243         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
244         <labelvalue id="radius"
245                     icon="icons/Sketch/radius.png"
246                     label="Radius"
247                     tooltip="Set radius"
248                     accept_expressions="0"
249                     min="0"
250                     default="0"
251                     obligatory="0"
252                     enable_value="enable_by_preferences">
253         </labelvalue>
254         <labelvalue id="angle"
255                     icon="icons/Sketch/angle.png"
256                     label="Angle"
257                     tooltip="Set angle"
258                     default="0"
259                     use_reset="false"
260                     obligatory="0"
261                     enable_value="enable_by_preferences"/>
262         <boolvalue id="Auxiliary"
263                    label="Auxiliary"
264                    tooltip="Construction element"
265                    default="false"
266                    obligatory="0"
267                    change_visual_attributes="true"/>
268       </feature>
269
270       <!-- SketchMacroArc -->
271       <feature
272         id="SketchMacroArc"
273         title="Arc"
274         tooltip="Create arc"
275         icon="icons/Sketch/arc.png"
276         helpfile="arcFeature.html">
277         <toolbox id="arc_type" modified_in_edit="edit_arc_type">
278           <box id="by_center_and_points"
279                icon="icons/Sketch/arc_base_32x32.png"
280                title="Center and two points">
281             <sketch-2dpoint_selector id="center_point"
282                                      reference_attribute="center_point_ref"
283                                      title="Center point"
284                                      tooltip="Center of a circle"
285                                      accept_expressions="0"
286                                      enable_value="enable_by_preferences" />
287             <sketch-2dpoint_selector id="start_point_1"
288                                      reference_attribute="start_point_ref"
289                                      title="Start point"
290                                      tooltip="Start point"
291                                      accept_expressions="0"
292                                      enable_value="enable_by_preferences"/>
293             <sketch-2dpoint_selector id="end_point_1"
294                                      reference_attribute="end_point_ref"
295                                      title="End point"
296                                      tooltip="End point"
297                                      accept_expressions="0"
298                                      enable_value="enable_by_preferences">
299               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
300               <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
301             </sketch-2dpoint_selector>
302             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
303           </box>
304           <box id="by_three_points"
305                icon="icons/Sketch/arc_3pt_32x32.png"
306                title="Three points on arc">
307             <sketch-2dpoint_selector id="start_point_2"
308                                      reference_attribute="start_point_ref"
309                                      title="Start point"
310                                      tooltip="Start point"
311                                      accept_expressions="0"
312                                      enable_value="enable_by_preferences"/>
313             <sketch-2dpoint_selector id="end_point_2"
314                                      reference_attribute="end_point_ref"
315                                      title="End point"
316                                      tooltip="End point"
317                                      accept_expressions="0"
318                                      enable_value="enable_by_preferences">
319               <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
320               <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
321             </sketch-2dpoint_selector>
322             <sketch-2dpoint_selector id="passed_point"
323                                      reference_attribute="passed_point_ref"
324                                      title="Passed point"
325                                      tooltip="Passed point"
326                                      accept_expressions="0"
327                                      enable_value="enable_by_preferences">
328               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
329               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
330             </sketch-2dpoint_selector>
331             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
332           </box>
333           <box id="by_tangent_edge"
334                icon="icons/Sketch/arc_tang_32x32.png"
335                title="Tangent with edge">
336             <sketch_shape_selector id="tangent_point"
337                                    label="Tangent point"
338                                    tooltip="Select point on line"
339                                    shape_types="vertex">
340               <validator id="SketchPlugin_ArcTangentPoint"/>
341             </sketch_shape_selector>
342             <sketch-2dpoint_selector id="end_point_3"
343                                      reference_attribute="end_point_ref"
344                                      title="End point"
345                                      tooltip="End point"
346                                      accept_expressions="0"
347                                      enable_value="enable_by_preferences">
348               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
349             </sketch-2dpoint_selector>
350           </box>
351           <box id="by_transversal_line"
352                icon="icons/Sketch/arc_perp_32x32.png"
353                title="Perpendicular to line">
354             <sketch_shape_selector id="transversal_point"
355                                    label="Point on the perpendicular line"
356                                    tooltip="Select point on line"
357                                    shape_types="vertex">
358               <validator id="SketchPlugin_ArcTransversalPoint"/>
359             </sketch_shape_selector>
360             <sketch-2dpoint_selector id="end_point_4"
361                                      reference_attribute="end_point_ref"
362                                      title="End point"
363                                      tooltip="End point"
364                                      accept_expressions="0"
365                                      enable_value="enable_by_preferences">
366               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
367             </sketch-2dpoint_selector>
368           </box>
369         </toolbox>
370         <labelvalue id="radius"
371                     icon="icons/Sketch/radius.png"
372                     label="Radius"
373                     tooltip="Set radius"
374                     accept_expressions="0"
375                     min="0"
376                     default="0"
377                     obligatory="0"
378                     enable_value="enable_by_preferences">
379         </labelvalue>
380         <labelvalue id="angle"
381                     icon="icons/Sketch/angle.png"
382                     label="Angle"
383                     tooltip="Set angle"
384                     default="0"
385                     use_reset="false"
386                     obligatory="0"
387                     enable_value="enable_by_preferences"/>
388         <boolvalue id="Auxiliary"
389                    label="Auxiliary"
390                    tooltip="Construction element"
391                    default="false"
392                    obligatory="0"
393                    change_visual_attributes="true"/>
394       </feature>
395
396       <!--  SketchFillet  -->
397       <feature id="SketchFillet"
398                title="Fillet"
399                tooltip="Create constraint defining fillet between two connected segments"
400                icon="icons/Sketch/fillet.png"
401                helpfile="filletFeature.html">
402         <sketch_shape_selector id="fillet_point"
403                                label="Point"
404                                tooltip="Select point for fillet (should be shared by two entities only)"
405                                shape_types="vertex">
406           <validator id="SketchPlugin_FilletVertexValidator"/>
407         </sketch_shape_selector>
408         <!--<validator id="PartSet_FilletSelection"/>-->
409       </feature>
410
411       <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
412       <feature id="SketchEllipse"
413                title="Ellipse"
414                tooltip="Create ellipse"
415                icon="icons/Sketch/ellipse.png"
416                internal="1">
417         <sketch-2dpoint_selector id="ellipse_center"
418                                  title="Center"
419                                  tooltip="Center coordinates"
420                                  accept_expressions="0"
421                                  enable_value="enable_by_preferences"/>
422         <sketch-2dpoint_selector id="ellipse_first_focus"
423                                  title="First focus"
424                                  tooltip="Focus coordinates"
425                                  accept_expressions="0"
426                                  enable_value="enable_by_preferences"/>
427         <sketch-2dpoint_selector id="ellipse_second_focus"
428                                  title="Second focus"
429                                  tooltip="Focus coordinates"
430                                  accept_expressions="0"
431                                  enable_value="enable_by_preferences"/>
432         <sketch-2dpoint_selector id="ellipse_major_axis_start_point"
433                                  title="Major axis start"
434                                  tooltip="Coordinates of point on negative direction of major axis"
435                                  accept_expressions="0"
436                                  enable_value="enable_by_preferences"/>
437         <sketch-2dpoint_selector id="ellipse_major_axis_end_point"
438                                  title="Major axis end"
439                                  tooltip="Coordinates of point on positive direction of major axis"
440                                  accept_expressions="0"
441                                  enable_value="enable_by_preferences"/>
442         <sketch-2dpoint_selector id="ellipse_minor_axis_start_point"
443                                  title="Minor axis start"
444                                  tooltip="Coordinates of point on negative direction of minor axis"
445                                  accept_expressions="0"
446                                  enable_value="enable_by_preferences"/>
447         <sketch-2dpoint_selector id="ellipse_minor_axis_end_point"
448                                  title="Minor axis end"
449                                  tooltip="Coordinates of point on positive direction of minor axis"
450                                  accept_expressions="0"
451                                  enable_value="enable_by_preferences"/>
452         <labelvalue id="ellipse_major_radius"
453                     icon="icons/Sketch/radius_major.png"
454                     label="Major radius"
455                     tooltip="Set major radius"
456                     default="computed"
457                     accept_expressions="0"
458                     enable_value="enable_by_preferences">
459         </labelvalue>
460         <labelvalue id="ellipse_minor_radius"
461                     icon="icons/Sketch/radius_minor.png"
462                     label="Minor radius"
463                     tooltip="Set minor radius"
464                     default="computed"
465                     accept_expressions="0"
466                     enable_value="enable_by_preferences">
467         </labelvalue>
468         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
469       </feature>
470       <!-- SketchMacroEllipse -->
471       <feature id="SketchMacroEllipse"
472                icon="icons/Sketch/ellipse.png"
473                title="Ellipse"
474                tooltip="Create ellipse"
475                helpfile="ellipseFeature.html">
476         <toolbox id="ellipse_type" modified_in_edit="edit_ellipse_type">
477           <box id="by_center_axis_point"
478                icon="icons/Sketch/ellipse_cent_rad_32x32.png"
479                title="Center, major semi-axis and passing point">
480             <sketch-2dpoint_selector id="first_point"
481                                      reference_attribute="first_point_ref"
482                                      title="Center point"
483                                      tooltip="Center point coordinates"
484                                      accept_expressions="0"
485                                      enable_value="enable_by_preferences"/>
486             <sketch-2dpoint_selector id="second_point"
487                                      reference_attribute="second_point_ref"
488                                      title="Major axis point"
489                                      tooltip="Major axis point coordinates"
490                                      accept_expressions="0"
491                                      enable_value="enable_by_preferences"/>
492             <sketch-2dpoint_selector id="passed_point"
493                                      reference_attribute="passed_point_ref"
494                                      title="Passed point"
495                                      tooltip="Passed point coordinates"
496                                      accept_expressions="0"
497                                      enable_value="enable_by_preferences"/>
498             <validator id="GeomValidators_Different" parameters="first_point,second_point,passed_point"/>
499             <validator id="SketchPlugin_DifferentPointReference" parameters="first_point_ref,second_point_ref"/>
500           </box>
501           <box id="by_major_axis_and_point"
502                icon="icons/Sketch/ellipse_axes_32x32.png"
503                title="Major axis and passing point">
504             <sketch-2dpoint_selector id="first_point_1"
505                                      reference_attribute="first_point_ref_1"
506                                      title="Major axis start point"
507                                      tooltip="Major axis start point coordinates"
508                                      accept_expressions="0"
509                                      enable_value="enable_by_preferences"/>
510             <sketch-2dpoint_selector id="second_point_1"
511                                      reference_attribute="second_point_ref_1"
512                                      title="Major axis end point"
513                                      tooltip="Major axis end point coordinates"
514                                      accept_expressions="0"
515                                      enable_value="enable_by_preferences"/>
516             <sketch-2dpoint_selector id="passed_point_1"
517                                      reference_attribute="passed_point_ref_1"
518                                      title="Passed point"
519                                      tooltip="Passed point coordinates"
520                                      accept_expressions="0"
521                                      enable_value="enable_by_preferences"/>
522             <validator id="GeomValidators_Different" parameters="first_point_1,second_point_1,passed_point_1"/>
523             <validator id="SketchPlugin_DifferentPointReference" parameters="first_point_ref_1,second_point_ref_1"/>
524           </box>
525         </toolbox>
526         <labelvalue id="major_radius"
527                     icon="icons/Sketch/radius_major.png"
528                     label="Major radius"
529                     tooltip="Set major radius"
530                     default="computed"
531                     accept_expressions="0"
532                     obligatory="0"
533                     enable_value="enable_by_preferences">
534         </labelvalue>
535         <labelvalue id="minor_radius"
536                     icon="icons/Sketch/radius_minor.png"
537                     label="Minor radius"
538                     tooltip="Set minor radius"
539                     default="computed"
540                     accept_expressions="0"
541                     obligatory="0"
542                     enable_value="enable_by_preferences">
543         </labelvalue>
544         <boolvalue id="Auxiliary"
545                    tooltip="Construction element"
546                    label="Auxiliary"
547                    default="false"
548                    obligatory="0"
549                    change_visual_attributes="true"/>
550       </feature>
551
552       <!-- SketchEllipticArc is a hidden feature. It is created inside SketchMacroEllipse. -->
553       <feature id="SketchEllipticArc"
554                title="Elliptic arc"
555                tooltip="Create elliptic arc"
556                icon="icons/Sketch/elliptic_arc.png"
557                internal="1">
558         <sketch-2dpoint_selector id="ellipse_center"
559                                  title="Center"
560                                  tooltip="Center coordinates"
561                                  accept_expressions="0"
562                                  enable_value="enable_by_preferences"/>
563         <sketch-2dpoint_selector id="ellipse_first_focus"
564                                  title="First focus"
565                                  tooltip="Focus coordinates"
566                                  accept_expressions="0"
567                                  enable_value="enable_by_preferences"/>
568         <sketch-2dpoint_selector id="ellipse_second_focus"
569                                  title="Second focus"
570                                  tooltip="Focus coordinates"
571                                  accept_expressions="0"
572                                  enable_value="enable_by_preferences"/>
573         <sketch-2dpoint_selector id="ellipse_major_axis_start_point"
574                                  title="Major axis start"
575                                  tooltip="Coordinates of point on negative direction of major axis"
576                                  accept_expressions="0"
577                                  enable_value="enable_by_preferences"/>
578         <sketch-2dpoint_selector id="ellipse_major_axis_end_point"
579                                  title="Major axis end"
580                                  tooltip="Coordinates of point on positive direction of major axis"
581                                  accept_expressions="0"
582                                  enable_value="enable_by_preferences"/>
583         <sketch-2dpoint_selector id="ellipse_minor_axis_start_point"
584                                  title="Minor axis start"
585                                  tooltip="Coordinates of point on negative direction of minor axis"
586                                  accept_expressions="0"
587                                  enable_value="enable_by_preferences"/>
588         <sketch-2dpoint_selector id="ellipse_minor_axis_end_point"
589                                  title="Minor axis end"
590                                  tooltip="Coordinates of point on positive direction of minor axis"
591                                  accept_expressions="0"
592                                  enable_value="enable_by_preferences"/>
593         <sketch-2dpoint_selector id="start_point"
594                                  title="Start point"
595                                  tooltip="Arc start point coordinates"
596                                  accept_expressions="0"
597                                  enable_value="enable_by_preferences"/>
598         <sketch-2dpoint_selector id="end_point"
599                                  title="End point"
600                                  tooltip="Arc end point coordinates"
601                                  accept_expressions="0"
602                                  enable_value="enable_by_preferences"/>
603         <labelvalue id="ellipse_major_radius"
604                     icon="icons/Sketch/radius_major.png"
605                     label="Major radius"
606                     tooltip="Set major radius"
607                     default="computed"
608                     accept_expressions="0"
609                     enable_value="enable_by_preferences">
610         </labelvalue>
611         <labelvalue id="ellipse_minor_radius"
612                     icon="icons/Sketch/radius_minor.png"
613                     label="Minor radius"
614                     tooltip="Set minor radius"
615                     default="computed"
616                     accept_expressions="0"
617                     enable_value="enable_by_preferences">
618         </labelvalue>
619         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
620       </feature>
621       <!-- SketchMacroEllipticArc -->
622       <feature id="SketchMacroEllipticArc"
623                icon="icons/Sketch/elliptic_arc.png"
624                title="Elliptic arc"
625                tooltip="Create elliptic arc"
626                helpfile="ellipseFeature.html">
627         <sketch-2dpoint_selector id="center"
628                                  reference_attribute="center_ref"
629                                  title="Center point"
630                                  tooltip="Center point coordinates"
631                                  accept_expressions="0"
632                                  enable_value="enable_by_preferences"/>
633         <sketch-2dpoint_selector id="major_axis_point"
634                                  reference_attribute="major_axis_point_ref"
635                                  title="Major axis point"
636                                  tooltip="Major axis point coordinates"
637                                  accept_expressions="0"
638                                  enable_value="enable_by_preferences"/>
639         <sketch-2dpoint_selector id="start_point"
640                                  reference_attribute="start_point_ref"
641                                  title="Start point"
642                                  tooltip="Arc start point coordinates"
643                                  accept_expressions="0"
644                                  enable_value="enable_by_preferences"/>
645         <sketch-2dpoint_selector id="end_point"
646                                  reference_attribute="end_point_ref"
647                                  title="End point"
648                                  tooltip="Arc end point coordinates"
649                                  accept_expressions="0"
650                                  enable_value="enable_by_preferences"/>
651         <labelvalue id="major_radius"
652                     icon="icons/Sketch/radius_major.png"
653                     label="Major radius"
654                     tooltip="Set major radius"
655                     default="computed"
656                     accept_expressions="0"
657                     obligatory="0"
658                     enable_value="enable_by_preferences">
659         </labelvalue>
660         <labelvalue id="minor_radius"
661                     icon="icons/Sketch/radius_minor.png"
662                     label="Minor radius"
663                     tooltip="Set minor radius"
664                     default="computed"
665                     accept_expressions="0"
666                     obligatory="0"
667                     enable_value="enable_by_preferences">
668         </labelvalue>
669         <boolvalue id="Auxiliary"
670                    tooltip="Construction element"
671                    label="Auxiliary"
672                    default="false"
673                    obligatory="0"
674                    change_visual_attributes="true"/>
675         <validator id="GeomValidators_Different" parameters="center,major_axis_point"/>
676         <validator id="SketchPlugin_DifferentPointReference" parameters="center_ref,major_axis_point_ref"/>
677         <validator id="GeomValidators_Different" parameters="start_point,end_point"/>
678         <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
679       </feature>
680     </group>
681
682     <group id="Parametric curves">
683       <!-- SketchBSpline is a hidden feature. It is created inside SketchMacroBSpline. -->
684       <feature id="SketchBSpline"
685                title="B-spline"
686                tooltip="Create B-spline curve"
687                icon="icons/Sketch/bspline.png"
688                helpfile="bsplineFeature.html"
689                internal="1">
690         <bspline-panel id="poles"
691                        weights="weights"
692                        title="Poles and weights"
693                        tooltip="B-spline poles and weights"
694                        enable_value="enable_by_preferences">
695           <validator id="SketchPlugin_BSplineValidator"/>
696         </bspline-panel>
697         <boolvalue id="Auxiliary"
698                    label="Auxiliary"
699                    default="false"
700                    tooltip="Construction element"
701                    obligatory="0"
702                    change_visual_attributes="true"/>
703       </feature>
704
705       <!-- SketchBSplinePeriodic is a hidden feature. It is created inside SketchMacroBSplinePeriodic. -->
706       <feature id="SketchBSplinePeriodic"
707                title="Periodic B-spline"
708                tooltip="Create periodic B-spline curve"
709                icon="icons/Sketch/bspline_p.png"
710                helpfile="bsplineFeature.html"
711                internal="1">
712         <bspline-panel id="poles"
713                        weights="weights"
714                        title="Poles and weights"
715                        tooltip="B-spline poles and weights"
716                        enable_value="enable_by_preferences">
717           <validator id="SketchPlugin_BSplineValidator"/>
718         </bspline-panel>
719         <boolvalue id="Auxiliary"
720                    label="Auxiliary"
721                    default="false"
722                    tooltip="Construction element"
723                    obligatory="0"
724                    change_visual_attributes="true"/>
725       </feature>
726
727       <!-- SketchMacroBSpline -->
728       <feature id="SketchMacroBSpline"
729                title="B-spline"
730                tooltip="Create B-spline curve"
731                icon="icons/Sketch/bspline.png"
732                helpfile="bsplineFeature.html">
733         <sketch-bspline_selector id="poles"
734                                  weights="weights"
735                                  reference_attribute="poles_ref"
736                                  title="Poles"
737                                  tooltip="B-spline poles"
738                                  enable_value="enable_by_preferences">
739           <validator id="SketchPlugin_BSplineValidator"/>
740         </sketch-bspline_selector>
741         <boolvalue id="need_control_poly"
742                    label="Create control polygon"
743                    default="true"
744                    tooltip="Specify if the control polygon should be created"/>
745         <boolvalue id="Auxiliary"
746                    label="Auxiliary"
747                    default="false"
748                    tooltip="Construction element"
749                    obligatory="0"
750                    change_visual_attributes="true"/>
751       </feature>
752
753       <!-- SketchMacroBSplinePeriodic -->
754       <feature id="SketchMacroBSplinePeriodic"
755                title="Periodic B-spline"
756                tooltip="Create periodic B-spline curve"
757                icon="icons/Sketch/bspline_p.png"
758                helpfile="bsplineFeature.html">
759         <sketch-bspline_selector id="poles"
760                                  weights="weights"
761                                  reference_attribute="poles_ref"
762                                  title="Poles"
763                                  tooltip="B-spline poles"
764                                  enable_value="enable_by_preferences">
765           <validator id="SketchPlugin_BSplineValidator"/>
766         </sketch-bspline_selector>
767         <boolvalue id="need_control_poly"
768                    label="Create control polygon"
769                    default="true"
770                    tooltip="Specify if the control polygon should be created"/>
771         <boolvalue id="Auxiliary"
772                    label="Auxiliary"
773                    default="false"
774                    tooltip="Construction element"
775                    obligatory="0"
776                    change_visual_attributes="true"/>
777       </feature>
778
779       <!-- Curve fitting -->
780       <feature id="SketchCurveFitting"
781                title="Curve fitting"
782                tooltip="Create curve passing through the points"
783                icon="icons/Sketch/curvefitting.png"
784                helpfile="curveFittingFeature.html">
785         <sketch_multi_selector id="points"
786                                label="Points"
787                                tooltip="Select points for curve fitting"
788                                shape_types="Vertices"
789                                use_external="true"
790                                greed="true">
791         </sketch_multi_selector>
792         <switch id="type">
793           <case id="interpolation_type" title="Interpolation"/>
794           <case id="approximation_type" title="Approximation">
795             <doublevalue id="precision"
796                          label="Precision"
797                          tooltip="Maximal distance from selected points to the curve"
798                          default="0.001"
799                          min="1.e-7"
800                          use_reset="false">
801               <validator id="GeomValidators_Positive" parameters="0"/>
802             </doublevalue>
803           </case>
804         </switch>
805         <boolvalue id="need_control_poly"
806                    label="Create control polygon"
807                    default="true"
808                    tooltip="Specify if the control polygon should be created"/>
809         <optionalbox id="periodic"
810                      title="Periodic"
811                      tooltip="Make curve periodic"
812                      default="false"
813                      has_frame="false"
814                      enable_on_check="false"
815                      show_title="true">
816           <boolvalue id="closed"
817                      label="Closed"
818                      default="false"
819                      tooltip="Make curve closed, but not periodic"
820                      obligatory="1"/>
821         </optionalbox>
822         <boolvalue id="Auxiliary"
823                    label="Auxiliary"
824                    default="false"
825                    tooltip="Construction element"
826                    obligatory="0"
827                    change_visual_attributes="true"/>
828         <validator id="SketchPlugin_CurveFittingValidator"/>
829         <action id="reorder_points"
830                 label="Reorder points"
831                 tooltip="Sort selected points to minimize the distance heighbors"/>
832       </feature>
833     </group>
834
835     <group id="Segmentation">
836       <!--  SketchSplit  -->
837       <feature id="SketchSplit" title="Split"
838                tooltip="Cut selected segment arc or circle on existing coincident points"
839                icon="icons/Sketch/split.png"
840                helpfile="splitFeature.html">
841         <sketch_feature_point_selector
842             id="SelectedObject"
843             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
844             label="Segment"
845             tooltip="Select segment for split"
846             shape_types="edge"
847             use_external="false">
848           <validator id="SketchPlugin_SplitValidator"/>
849         </sketch_feature_point_selector>
850         <validator id="PartSet_SplitSelection"/>
851       </feature>
852       <!--  SketchTrim  -->
853       <feature id="SketchTrim" title="Trim"
854                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
855                icon="icons/Sketch/trim.png"
856                helpfile="trimFeature.html">
857         <sketch_feature_point_selector
858             id="SelectedObject"
859             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
860             label="Segment"
861             tooltip="Select segment for trim"
862             shape_types="edge"
863             use_external="false">
864           <validator id="SketchPlugin_TrimValidator"/>
865         </sketch_feature_point_selector>
866         <validator id="PartSet_SplitSelection"/>
867       </feature>
868     </group>
869
870     <group id="Projection">
871       <!-- Projected feature -->
872       <feature
873         id="SketchProjection"
874         title="Projection"
875         tooltip="Project feature onto sketch plane"
876         icon="icons/Sketch/projection.png"
877         helpfile="projectionFeature.html">
878         <sketch_shape_selector
879               id="ExternalFeature"
880               label="Object"
881               tooltip="Select external edge or vertex."
882               shape_types="edge vertex"
883               use_external="true"
884               can_create_external="false"
885               use_sketch_plane="false">
886           <validator id="SketchPlugin_ProjectionValidator"/>
887         </sketch_shape_selector>
888         <radiobox id="keep_reference"
889                   align_subs="vertical">
890           <radio id="true"
891                  title="Keep reference to the original shape"
892                  tooltip="The reference to the original curve is stored. So it can be changed later.">
893             <boolvalue id="IncludeToResult"
894                        label="Include into the sketch result"
895                        default="true"
896                        tooltip="Include projected feature into the sketch result"
897                        change_visual_attributes="true"/>
898           </radio>
899           <radio id="false"
900                  title="Break connection with the original shape"
901                  tooltip="A sketch entity will be created without connection to the selected shape.">
902             <boolvalue id="make_fixed"
903                        label="Make projected curve fixed"
904                        default="true"
905                        tooltip="Assign the Fixed constraint to the result of projection"/>
906           </radio>
907         </radiobox>
908         <validator id="PartSet_ProjectionSelection"/>
909       </feature>
910
911       <!-- Intersection Point -->
912       <feature
913         id="SketchIntersectionPoint"
914         title="Intersection"
915         tooltip="Intersect edge with sketch plane"
916         icon="icons/Sketch/intersection.png"
917         helpfile="intersectionFeature.html">
918         <sketch_shape_selector
919               id="ExternalFeature"
920               label="Object"
921               tooltip="Select external edge."
922               shape_types="edge"
923               use_external="true"
924               can_create_external="false"
925               use_sketch_plane="false">
926           <validator id="SketchPlugin_IntersectionValidator"/>
927         </sketch_shape_selector>
928         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"
929                    change_visual_attributes="true"/>
930         <validator id="PartSet_IntersectionSelection"/>
931       </feature>
932     </group>
933
934     <group id="Replication">
935       <!--  SketchConstraintMirror  -->
936       <feature
937         id="SketchConstraintMirror"
938         title="Mirror copy" icon="icons/Sketch/mirror.png"
939         tooltip="Create constraint, mirroring group of objects"
940         helpfile="mirrorFeature.html">
941         <sketch_shape_selector id="ConstraintEntityA"
942             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
943           <validator id="GeomValidators_ShapeType" parameters="line"/>
944           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC,ConstraintEntityB"/>
945         </sketch_shape_selector>
946         <sketch_multi_selector id="ConstraintMirrorList"
947             label="Segments"
948             tooltip="Select list of objects to be mirrored"
949             shape_types="Edges"
950             use_external="true"
951             greed ="true">
952           <validator id="SketchPlugin_MirrorAttr" />
953         </sketch_multi_selector>
954         <validator id="PartSet_MultyTranslationSelection" />
955       </feature>
956
957       <!--  SketchMultiTranslation  -->
958       <feature
959         id="SketchMultiTranslation"
960         title="Linear copy" icon="icons/Sketch/translate.png"
961         tooltip="Copy objects and move"
962         helpfile="translationFeature.html">
963         <sketch_multi_selector id="MultiTranslationList"
964             label="Segments"
965             tooltip="Select list of objects to be translated"
966             shape_types="Edges"
967             use_external="true"
968             greed ="true">
969           <validator id="SketchPlugin_CopyValidator" />
970         </sketch_multi_selector>
971         <toolbox id="ValueType">
972           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
973             <groupbox title="Direction">
974               <sketch_shape_selector
975                     id="MultiTranslationStartPoint"
976                     label="Start point"
977                     tooltip="Start point of translation"
978                     shape_types="vertex">
979                 <validator id="PartSet_DifferentObjects"/>
980                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
981                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
982               </sketch_shape_selector>
983               <sketch_shape_selector
984                     id="MultiTranslationEndPoint"
985                     label="End point"
986                     tooltip="Final point of translation"
987                     shape_types="vertex">
988                 <validator id="PartSet_DifferentObjects"/>
989                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
990                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
991               </sketch_shape_selector>
992             </groupbox>
993           </box>
994           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
995             <groupbox title="Direction">
996               <sketch_shape_selector
997                     id="MultiTranslationStartPoint"
998                     label="Start point"
999                     tooltip="Start point of translation"
1000                     shape_types="vertex">
1001                 <validator id="PartSet_DifferentObjects"/>
1002                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1003                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
1004               </sketch_shape_selector>
1005               <sketch_shape_selector
1006                     id="MultiTranslationEndPoint"
1007                     label="End point"
1008                     tooltip="Final point of translation"
1009                     shape_types="vertex">
1010                 <validator id="PartSet_DifferentObjects"/>
1011                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1012                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
1013               </sketch_shape_selector>
1014             </groupbox>
1015           </box>
1016         </toolbox>
1017         <integervalue id="MultiTranslationObjects"
1018             label="Total number of objects"
1019             tooltip="Total number of objects"
1020             default="2" min="2" use_reset="false">
1021           <validator id="GeomValidators_Positive" parameters="1"/>
1022         </integervalue>
1023         <validator id="PartSet_MultyTranslationSelection" />
1024       </feature>
1025
1026       <!--  SketchMultiRotation  -->
1027       <feature
1028         id="SketchMultiRotation"
1029         title="Angular copy" icon="icons/Sketch/rotate.png"
1030         tooltip="Copy objects and rotate"
1031         helpfile="rotationFeature.html">
1032         <sketch_multi_selector id="MultiRotationList"
1033             label="Segments"
1034             tooltip="Select list of objects to be rotated"
1035             shape_types="Edges"
1036             use_external="true"
1037             greed ="true">
1038           <validator id="SketchPlugin_CopyValidator" />
1039         </sketch_multi_selector>
1040         <sketch_shape_selector
1041               id="MultiRotationCenter"
1042               label="Center of rotation"
1043               tooltip="Center of rotation"
1044               shape_types="vertex">
1045           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1046           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
1047         </sketch_shape_selector>
1048         <toolbox id="AngleType">
1049           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
1050             <doublevalue id="MultiRotationAngle"
1051                          label="Angle"
1052                          icon="icons/Sketch/angle.png"
1053                          tooltip="Rotation angle"
1054                          default="360" min="0" max="360"
1055                          use_reset="false">
1056               <validator id="SketchPlugin_MultiRotationAngleValidator" />
1057             </doublevalue>
1058             <boolvalue id="MultiRotationReversed"
1059                        label="Reversed"
1060                        tooltip="Reverse angular copy"
1061                        default="false"
1062                        obligatory="0"/>
1063           </box>
1064           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
1065             <doublevalue id="MultiRotationAngle"
1066                          label="Angle"
1067                          icon="icons/Sketch/angle.png"
1068                          tooltip="Rotation angle"
1069                          default="90" min="0" max="360"
1070                          use_reset="false">
1071               <validator id="SketchPlugin_MultiRotationAngleValidator" />
1072             </doublevalue>
1073             <boolvalue id="MultiRotationReversed"
1074                        label="Reversed"
1075                        tooltip="Reverse angular copy"
1076                        default="false"
1077                        obligatory="0"/>
1078           </box>
1079         </toolbox>
1080         <integervalue id="MultiRotationObjects"
1081             label="Total number of objects"
1082             tooltip="Total number of objects"
1083             default="4" min="2" use_reset="false">
1084           <validator id="GeomValidators_Positive" parameters="1"/>
1085         </integervalue>
1086         <validator id="PartSet_MultyTranslationSelection" />
1087       </feature>
1088
1089       <!-- Offset curve -->
1090       <feature id="SketchOffset"
1091                title="Offset"
1092                tooltip="Offset a curve to a distance"
1093                icon="icons/Sketch/offset.png"
1094                helpfile="offsetFeature.html">
1095         <sketch_multi_selector id="segments"
1096                                label="Edges"
1097                                tooltip="Select edges to offset"
1098                                shape_types="Edges"
1099                                use_external="true"
1100                                greed="true">
1101           <validator id="SketchPlugin_CopyValidator" />
1102         </sketch_multi_selector>
1103         <doublevalue id="offset_value"
1104                      label="Offset value"
1105                      tooltip="Offset value"
1106                      default="1" min="0.000001"
1107                      use_reset="false">
1108           <validator id="GeomValidators_Positive" parameters="1e-07"/>
1109         </doublevalue>
1110         <boolvalue id="reversed"
1111                    label="Reversed"
1112                    tooltip="Reverse the offset"
1113                    default="false"
1114                    obligatory="0"/>
1115         <action id="add_wire"
1116                 label="Select wire"
1117                 tooltip="Add the list of segments composing a wire with the selected items through the coincidence by boundary points"/>
1118       </feature>
1119     </group>
1120
1121     <group id="Dimensional constraints">
1122       <!--  SketchConstraintDistance  -->
1123       <feature
1124         id="SketchConstraintDistance"
1125         title="Distance"
1126         tooltip="Set fixed distance from a point to an object"
1127         icon="icons/Sketch/distance.png"
1128         helpfile="distanceFeature.html">
1129         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
1130         <sketch_shape_selector
1131               id="ConstraintEntityA"
1132               label="First object"
1133               tooltip="Select point, line end point, line, center of circle or arc."
1134               shape_types="edge vertex">
1135           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1136           <validator id="PartSet_DifferentObjects"/>
1137           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
1138         </sketch_shape_selector>
1139         <sketch_shape_selector
1140           id="ConstraintEntityB"
1141           label="Second object"
1142           tooltip="Select point, line end point, line, center of circle or arc."
1143           shape_types="edge vertex">
1144           <validator id="PartSet_DifferentObjects"/>
1145           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
1146           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1147           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
1148         </sketch_shape_selector>
1149         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1150
1151         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
1152           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
1153         </doublevalue_editor>
1154
1155         <module_choice id="LocationType"
1156           widget_type="radiobuttons"
1157           buttons_dir="horizontal"
1158           label="Text location"
1159           tooltip="Relative location of the text"
1160           string_list="Left Automatic Right"
1161           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1162           default="1"
1163           />
1164
1165         <boolvalue id="SignedDistance" label="Keep orientation" default="true" tooltip="Keep distance orientation" obligatory="0"/>
1166         <validator id="PartSet_DistanceSelection"/>
1167       </feature>
1168
1169       <!--  SketchConstraintDistanceHorizontal  -->
1170       <feature
1171         id="SketchConstraintDistanceHorizontal"
1172         title="Horizontal Distance"
1173         tooltip="Set horizontal distance between two points"
1174         icon="icons/Sketch/distance_h.png"
1175         helpfile="horizontalDistFeature.html">
1176         <label title="Select points for distance definition."/>
1177         <sketch_shape_selector
1178               id="ConstraintEntityA"
1179               label="First point"
1180               tooltip="Select point."
1181               shape_types="vertex">
1182           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1183           <validator id="PartSet_DifferentObjects"/>
1184           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1185         </sketch_shape_selector>
1186         <sketch_shape_selector
1187           id="ConstraintEntityB"
1188           label="Second point"
1189           tooltip="Select point."
1190           shape_types="vertex">
1191           <validator id="PartSet_DifferentObjects"/>
1192           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1193           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1194         </sketch_shape_selector>
1195         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1196
1197         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
1198           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
1199         </doublevalue_editor>
1200
1201         <module_choice id="LocationType"
1202           widget_type="radiobuttons"
1203           buttons_dir="horizontal"
1204           label="Text location"
1205           tooltip="Relative location of the text"
1206           string_list="Left Automatic Right"
1207           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1208           default="1"
1209           />
1210
1211         <validator id="PartSet_DistanceSelection"/>
1212       </feature>
1213
1214       <!--  SketchConstraintDistanceVertical  -->
1215       <feature
1216         id="SketchConstraintDistanceVertical"
1217         title="Vertical Distance"
1218         tooltip="Set vertical distance between two points"
1219         icon="icons/Sketch/distance_v.png"
1220         helpfile="verticalDistFeature.html">
1221         <label title="Select points for distance definition."/>
1222         <sketch_shape_selector
1223               id="ConstraintEntityA"
1224               label="First point"
1225               tooltip="Select point."
1226               shape_types="vertex">
1227           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1228           <validator id="PartSet_DifferentObjects"/>
1229           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1230         </sketch_shape_selector>
1231         <sketch_shape_selector
1232           id="ConstraintEntityB"
1233           label="Second point"
1234           tooltip="Select point."
1235           shape_types="vertex">
1236           <validator id="PartSet_DifferentObjects"/>
1237           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1238           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1239         </sketch_shape_selector>
1240         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1241
1242         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
1243           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
1244         </doublevalue_editor>
1245
1246         <module_choice id="LocationType"
1247           widget_type="radiobuttons"
1248           buttons_dir="horizontal"
1249           label="Text location"
1250           tooltip="Relative location of the text"
1251           string_list="Left Automatic Right"
1252           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1253           default="1"
1254           />
1255
1256         <validator id="PartSet_DistanceSelection"/>
1257       </feature>
1258
1259       <!--  SketchConstraintLength  -->
1260       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png"
1261                helpfile="lengthFeature.html">
1262         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
1263         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
1264           <validator id="GeomValidators_ShapeType" parameters="line"/>
1265           <validator id="SketchPlugin_SketchFeatureValidator"/>
1266         </shape_selector>
1267         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
1268         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
1269           <validator id="GeomValidators_Positive"/>
1270         </doublevalue_editor>
1271         <module_choice id="LocationType"
1272           widget_type="radiobuttons"
1273           buttons_dir="horizontal"
1274           label="Text location"
1275           tooltip="Relative location of the text"
1276           string_list="Left Automatic Right"
1277           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1278           default="1"
1279           />
1280         <validator id="PartSet_LengthSelection"/>
1281       </feature>
1282
1283       <!--  SketchConstraintAngle  -->
1284       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png"
1285                helpfile="angleFeature.html">
1286         <sketch_feature_point_selector
1287             id="ConstraintEntityA"
1288             selection_attributes="ConstraintEntityA SelectedPointA"
1289             label="Line 1"
1290             tooltip="Select a line"
1291             shape_types="edge"
1292             use_external="true">
1293           <validator id="GeomValidators_ShapeType" parameters="line"/>
1294           <validator id="PartSet_DifferentObjects"/>
1295           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1296         </sketch_feature_point_selector>
1297         <sketch_feature_point_selector
1298             id="ConstraintEntityB"
1299             selection_attributes="ConstraintEntityB SelectedPointB"
1300             label="Line 2"
1301             tooltip="Select a line"
1302             shape_types="edge"
1303             use_external="true">
1304           <validator id="GeomValidators_ShapeType" parameters="line"/>
1305           <validator id="PartSet_DifferentObjects"/>
1306           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1307         </sketch_feature_point_selector>
1308         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1309         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
1310         <validator id="PartSet_AngleSelection"/>
1311         <module_choice id="AngleType"
1312           widget_type="radiobuttons"
1313           buttons_dir="horizontal"
1314           label="Angle type"
1315           tooltip="Type of angle"
1316           string_list="Direct Supplementary Additional"
1317           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
1318           default="0"
1319           />
1320
1321         <module_choice id="LocationType"
1322           widget_type="radiobuttons"
1323           buttons_dir="horizontal"
1324           label="Text location"
1325           tooltip="Relative location of the text"
1326           string_list="Left Automatic Right"
1327           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1328           default="1"
1329           />
1330
1331       </feature>
1332
1333       <!--  SketchConstraintRadius  -->
1334       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png"
1335                helpfile="radiusFeature.html">
1336         <label title="Select a circle or an arc on which to calculate radius" tooltip="Select a circle or an arc on which to calculate radius"/>
1337         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
1338             shape_types="edge">
1339           <validator id="GeomValidators_ShapeType" parameters="circle"/>
1340         </shape_selector>
1341         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1342         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
1343           <validator id="GeomValidators_Positive"/>
1344         </doublevalue_editor>
1345
1346         <module_choice id="LocationType"
1347           widget_type="radiobuttons"
1348           buttons_dir="horizontal"
1349           label="Text location"
1350           tooltip="Relative location of the text"
1351           string_list="Left Automatic Right"
1352           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1353           default="1"
1354           />
1355
1356         <validator id="PartSet_RadiusSelection"/>
1357       </feature>
1358
1359     </group>
1360
1361     <group id="Geometrical constraints">
1362
1363       <!--  SketchConstraintHorizontal  -->
1364       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png"
1365                helpfile="horizontalFeature.html">
1366         <sketch_shape_selector id="ConstraintEntityA"
1367             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
1368           <validator id="GeomValidators_ShapeType" parameters="line"/>
1369           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
1370         </sketch_shape_selector>
1371         <validator id="PartSet_HVDirSelection"/>
1372       </feature>
1373
1374       <!--  SketchConstraintVertical  -->
1375       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png"
1376                helpfile="verticalFeature.html">
1377         <sketch_shape_selector id="ConstraintEntityA"
1378             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
1379           <validator id="GeomValidators_ShapeType" parameters="line"/>
1380           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
1381         </sketch_shape_selector>
1382         <validator id="PartSet_HVDirSelection"/>
1383       </feature>
1384
1385       <!--  SketchConstraintRigid  -->
1386       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png"
1387                helpfile="rigidFeature.html">
1388         <sketch_shape_selector id="ConstraintEntityA" label="Object"
1389                         tooltip="Select point, curve or its boundary point."
1390                         shape_types="edge vertex">
1391           <validator id="GeomValidators_ShapeType" parameters="vertex,edge"/>
1392           <validator id="SketchPlugin_NotFixed"/>
1393         </sketch_shape_selector>
1394         <validator id="PartSet_RigidSelection"/>
1395       </feature>
1396
1397       <!--  SketchConstraintParallel  -->
1398       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
1399                icon="icons/Sketch/parallel.png" helpfile="parallelFeature.html">
1400         <sketch_shape_selector id="ConstraintEntityA"
1401             label="First line" tooltip="Select a line" shape_types="edge">
1402           <validator id="GeomValidators_ShapeType" parameters="line"/>
1403           <validator id="PartSet_DifferentObjects"/>
1404           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1405         </sketch_shape_selector>
1406
1407         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
1408             shape_types="edge">
1409             <validator id="GeomValidators_ShapeType" parameters="line"/>
1410             <validator id="PartSet_DifferentObjects"/>
1411             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1412         </sketch_shape_selector>
1413         <validator id="PartSet_ParallelSelection"/>
1414       </feature>
1415
1416       <!--  SketchConstraintPerpendicular  -->
1417       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
1418                tooltip="Create constraint defining two orthogonal objects"
1419                icon="icons/Sketch/perpendicular.png"
1420                helpfile="perpendicularFeature.html">
1421         <sketch_shape_selector id="ConstraintEntityA"
1422             label="First object" tooltip="Select line or arc"
1423             shape_types="edge">
1424           <validator id="PartSet_DifferentObjects"/>
1425           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1426           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityB"/>
1427           <validator id="GeomValidators_ShapeType" parameters="edge"/>
1428         </sketch_shape_selector>
1429
1430         <sketch_shape_selector id="ConstraintEntityB"
1431             label="Second object" tooltip="Select line or arc"
1432             shape_types="edge">
1433           <validator id="PartSet_DifferentObjects"/>
1434           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1435           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityA"/>
1436           <validator id="GeomValidators_ShapeType" parameters="edge"/>
1437         </sketch_shape_selector>
1438         <validator id="PartSet_PerpendicularSelection"/>
1439       </feature>
1440
1441       <!--  SketchConstraintTangent  -->
1442       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two segments with common coincident point" icon="icons/Sketch/tangent.png"
1443                helpfile="tangentFeature.html">
1444         <sketch_shape_selector id="ConstraintEntityA"
1445             label="First object" tooltip="Select line or arc" shape_types="edge">
1446           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
1447           <validator id="PartSet_DifferentObjects"/>
1448         </sketch_shape_selector>
1449
1450         <sketch_shape_selector id="ConstraintEntityB"
1451             label="Second object" tooltip="Select line or arc" shape_types="edge">
1452           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
1453           <validator id="PartSet_DifferentObjects"/>
1454         </sketch_shape_selector>
1455         <validator id="PartSet_TangentSelection"/>
1456       </feature>
1457
1458       <!--  SketchConstraintCoincidence  -->
1459       <feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points or point on line or circle" icon="icons/Sketch/coincedence.png"
1460                helpfile="coincedenceFeature.html">
1461         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
1462           <validator id="PartSet_DifferentObjects"/>
1463           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1464         </sketch_shape_selector>
1465         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
1466           <validator id="PartSet_DifferentObjects"/>
1467           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1468           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
1469         </sketch_shape_selector>
1470         <validator id="PartSet_CoincidentSelection"/>
1471       </feature>
1472       <!--  SketchConstraintCoincidenceInternal  -->
1473       <feature id="SketchConstraintCoincidenceInternal" title="Internal Coincidence" tooltip="Internal coincidence" icon="icons/Sketch/coincedence.png"
1474                helpfile="coincedenceFeature.html" internal="1">
1475         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex">
1476           <validator id="PartSet_DifferentObjects"/>
1477           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1478         </sketch_shape_selector>
1479         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex">
1480           <validator id="PartSet_DifferentObjects"/>
1481           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1482           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
1483         </sketch_shape_selector>
1484         <validator id="PartSet_CoincidentSelection"/>
1485       </feature>
1486
1487       <!--  SketchConstraintMiddle  -->
1488       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line"
1489                icon="icons/Sketch/middlepoint.png"
1490                helpfile="middleFeature.html">
1491         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
1492           <validator id="PartSet_DifferentObjects"/>
1493           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1494           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
1495         </sketch_shape_selector>
1496         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
1497           <validator id="PartSet_DifferentObjects"/>
1498           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1499           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
1500         </sketch_shape_selector>
1501         <validator id="PartSet_MiddlePointSelection"/>
1502       </feature>
1503
1504       <!--  SketchConstraintEqual  -->
1505       <feature id="SketchConstraintEqual" title="Equal"
1506         tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radiuses of two arcs or two circles or arc and circle"
1507         icon="icons/Sketch/equal.png"
1508                helpfile="equalFeature.html">
1509         <sketch_shape_selector id="ConstraintEntityA"
1510             label="First object" tooltip="Select edge" shape_types="edge">
1511           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityB"/>
1512           <validator id="PartSet_DifferentObjects"/>
1513           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1514         </sketch_shape_selector>
1515
1516         <sketch_shape_selector id="ConstraintEntityB"
1517             label="Second object" tooltip="Select edge" shape_types="edge">
1518           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
1519           <validator id="PartSet_DifferentObjects"/>
1520           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1521         </sketch_shape_selector>
1522         <validator id="PartSet_EqualSelection"/>
1523       </feature>
1524
1525       <!--  SketchConstraintCollinear  -->
1526       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines"
1527                icon="icons/Sketch/collinear.png"
1528                helpfile="collinearFeature.html">
1529         <sketch_shape_selector id="ConstraintEntityA"
1530             label="First line" tooltip="Select a line" shape_types="edge">
1531           <validator id="GeomValidators_ShapeType" parameters="line"/>
1532           <validator id="PartSet_DifferentObjects"/>
1533         </sketch_shape_selector>
1534
1535         <sketch_shape_selector id="ConstraintEntityB"
1536             label="Second line" tooltip="Select a line" shape_types="edge">
1537           <validator id="GeomValidators_ShapeType" parameters="line"/>
1538           <validator id="PartSet_DifferentObjects"/>
1539         </sketch_shape_selector>
1540         <validator id="PartSet_CollinearSelection"/>
1541       </feature>
1542     </group>
1543   </workbench>
1544 </plugin>