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