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