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