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