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