Salome HOME
Task 2.1. Creation of ellipses and arcs of ellipse.
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
1 <!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 <plugin>
4   <workbench id="Sketch">
5     <group id="Linear geometry">
6       <feature
7         id="Sketch"
8         nested="SketchPoint SketchIntersectionPoint SketchLine
9                 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
10                 SketchEllipse SketchMacroEllipse
11                 SketchRectangle
12                 SketchProjection
13                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance
14                 SketchConstraintParallel SketchConstraintPerpendicular
15                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
16                 SketchConstraintEqual SketchConstraintTangent
17                 SketchFillet SketchConstraintSplit SketchTrim
18                 SketchConstraintCoincidence
19                 SketchConstraintMirror SketchConstraintAngle
20                 SketchMultiRotation SketchMultiTranslation
21                 SketchConstraintCollinear SketchConstraintMiddle"
22         when_nested="accept abort"
23         title="Sketch"
24         tooltip="Create sketch"
25         icon="icons/Sketch/sketch.png">
26         <sketch-start-label id="External" title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch">
27           <validator id="GeomValidators_Face" parameters="plane"/>
28         </sketch-start-label>
29         <label id="SolverDOF"/>
30         <label id="SolverError" styleSheet="color : red; font : bold"/>
31         <validator id="SketchPlugin_SolverErrorValidator"/>
32       </feature>
33
34       <!-- SketchPoint -->
35       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png">
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         <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="Circular 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         <toolbox id="circle_type" modified_in_edit="edit_circle_type">
81           <box id="circle_type_by_center_and_passed_points"
82                icon="icons/Sketch/circle_pt_rad_32x32.png"
83                title="Center and passed points">
84             <sketch-2dpoint_selector id="center_point"
85                                      reference_attribute="center_point_ref"
86                                      title="Center point"
87                                      tooltip="Center point coordinates"
88                                      accept_expressions="0"
89                                      enable_value="enable_by_preferences"/>
90             <sketch-2dpoint_selector id="passed_point"
91                                      reference_attribute="passed_point_ref"
92                                      title="Passed point"
93                                      tooltip="Passed point coordinates"
94                                      accept_expressions="0"
95                                      enable_value="enable_by_preferences">
96               <validator id="SketchPlugin_CirclePassedPointValidator"/>
97             </sketch-2dpoint_selector>
98             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
99           </box>
100           <box id="circle_type_by_three_points"
101                icon="icons/Sketch/circle_3pt_32x32.png"
102                title="Three points">
103             <sketch-2dpoint_selector id="first_point"
104                                      reference_attribute="first_point_ref"
105                                      title="First point"
106                                      tooltip="First point"
107                                      accept_expressions="0"
108                                      enable_value="enable_by_preferences"/>
109             <sketch-2dpoint_selector id="second_point"
110                                      reference_attribute="second_point_ref"
111                                      title="Second point"
112                                      tooltip="Second point"
113                                      accept_expressions="0"
114                                      enable_value="enable_by_preferences">
115               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
116             </sketch-2dpoint_selector>
117             <sketch-2dpoint_selector id="third_point"
118                                      reference_attribute="third_point_ref"
119                                      title="Third point"
120                                      tooltip="Third point"
121                                      accept_expressions="0"
122                                      enable_value="enable_by_preferences">
123               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
124               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
125             </sketch-2dpoint_selector>
126             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
127           </box>
128         </toolbox>
129         <labelvalue id="circle_radius"
130                     icon="icons/Sketch/radius.png"
131                     label="Radius:"
132                     tooltip="Set radius"
133                     default="computed"
134                     accept_expressions="0"
135                     obligatory="0"
136                     enable_value="enable_by_preferences">
137           <validator id="GeomValidators_Positive"/>
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         <toolbox id="arc_type" modified_in_edit="edit_arc_type">
200           <box id="by_center_and_points"
201                icon="icons/Sketch/arc_base_32x32.png"
202                title="Center and two points">
203             <sketch-2dpoint_selector id="center_point"
204                                      reference_attribute="center_point_ref"
205                                      title="Center point"
206                                      tooltip="Center of a circle"
207                                      accept_expressions="0"
208                                      enable_value="enable_by_preferences" />
209             <sketch-2dpoint_selector id="start_point_1"
210                                      reference_attribute="start_point_ref"
211                                      title="Start point"
212                                      tooltip="Start point"
213                                      accept_expressions="0"
214                                      enable_value="enable_by_preferences"/>
215             <sketch-2dpoint_selector id="end_point_1"
216                                      reference_attribute="end_point_ref"
217                                      title="End point"
218                                      tooltip="End point"
219                                      accept_expressions="0"
220                                      enable_value="enable_by_preferences">
221               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
222               <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
223             </sketch-2dpoint_selector>
224             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
225           </box>
226           <box id="by_three_points"
227                icon="icons/Sketch/arc_3pt_32x32.png"
228                title="Three points on arc">
229             <sketch-2dpoint_selector id="start_point_2"
230                                      reference_attribute="start_point_ref"
231                                      title="Start point"
232                                      tooltip="Start point"
233                                      accept_expressions="0"
234                                      enable_value="enable_by_preferences"/>
235             <sketch-2dpoint_selector id="end_point_2"
236                                      reference_attribute="end_point_ref"
237                                      title="End point"
238                                      tooltip="End point"
239                                      accept_expressions="0"
240                                      enable_value="enable_by_preferences">
241               <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
242               <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
243             </sketch-2dpoint_selector>
244             <sketch-2dpoint_selector id="passed_point"
245                                      reference_attribute="passed_point_ref"
246                                      title="Passed point"
247                                      tooltip="Passed point"
248                                      accept_expressions="0"
249                                      enable_value="enable_by_preferences">
250               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
251               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
252             </sketch-2dpoint_selector>
253             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
254           </box>
255           <box id="by_tangent_edge"
256                icon="icons/Sketch/arc_tang_32x32.png"
257                title="Tangent with edge">
258             <sketch_shape_selector id="tangent_point"
259                                    label="Tangent point"
260                                    tooltip="Select point on line"
261                                    shape_types="vertex">
262               <validator id="SketchPlugin_ArcTangentPoint"/>
263             </sketch_shape_selector>
264             <sketch-2dpoint_selector id="end_point_3"
265                                      reference_attribute="end_point_ref"
266                                      title="End point"
267                                      tooltip="End point"
268                                      accept_expressions="0"
269                                      enable_value="enable_by_preferences">
270               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
271             </sketch-2dpoint_selector>
272           </box>
273         </toolbox>
274         <labelvalue id="radius"
275                     icon="icons/Sketch/radius.png"
276                     label="Radius:"
277                     tooltip="Set radius"
278                     accept_expressions="0"
279                     min="0"
280                     default="0"
281                     obligatory="0"
282                     enable_value="enable_by_preferences">
283         </labelvalue>
284         <labelvalue id="angle"
285                     icon="icons/Sketch/angle.png"
286                     label="Angle:"
287                     tooltip="Set angle"
288                     default="0"
289                     use_reset="false"
290                     obligatory="0"
291                     enable_value="enable_by_preferences"/>
292         <boolvalue id="Auxiliary"
293                    label="Auxiliary"
294                    tooltip="Construction element"
295                    default="false"
296                    obligatory="0"/>
297       </feature>
298
299       <!--  SketchFillet  -->
300       <feature id="SketchFillet"
301                title="Fillet"
302                tooltip="Create constraint defining fillet between two objects"
303                icon="icons/Sketch/fillet.png">
304         <sketch_shape_selector id="fillet_point"
305                                label="Point"
306                                tooltip="Select point for fillet (should be shared by two entities only)"
307                                shape_types="vertex">
308           <validator id="SketchPlugin_FilletVertexValidator"/>
309         </sketch_shape_selector>
310         <!--<validator id="PartSet_FilletSelection"/>-->
311       </feature>
312       <!--  SketchConstraintSplit  -->
313       <feature id="SketchConstraintSplit" title="Split"
314                tooltip="Cut selected segment arc or circle on existing coincident points"
315                icon="icons/Sketch/split.png">
316         <sketch_sub_shape_selector
317             id="ConstraintValue"
318             label="Segment"
319             tooltip="Select segment for split"
320             shape_types="edge"
321             use_external="false"
322             use_graphic_intersection="false">
323           <validator id="SketchPlugin_SplitValidator"/>
324         </sketch_sub_shape_selector>
325         <validator id="PartSet_SplitSelection"/>
326       </feature>
327       <!--  SketchTrim  -->
328       <feature id="SketchTrim" title="Trim"
329                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
330                icon="icons/Sketch/trim.png">
331         <sketch_feature_point_selector
332             id="SelectedObject"
333             label="Segment"
334             tooltip="Select segment for trim"
335             shape_types="edge"
336             use_external="false"
337             use_graphic_intersection="true">
338           <validator id="SketchPlugin_TrimValidator"/>
339         </sketch_feature_point_selector>
340         <validator id="PartSet_SplitSelection"/>
341       </feature>
342     </group>
343
344     <group id="Elliptic geometry">
345       <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
346       <feature id="SketchEllipse"
347                title="Ellipse"
348                tooltip="Create ellipse"
349                icon="icons/Sketch/ellipse.png"
350                internal="1">
351         <sketch-2dpoint_selector id="ellipse_center"
352                                  title="Center"
353                                  tooltip="Center coordinates"
354                                  accept_expressions="0"
355                                  enable_value="enable_by_preferences"/>
356         <sketch-2dpoint_selector id="ellipse_focus"
357                                  title="Focus"
358                                  tooltip="Focus coordinates"
359                                  accept_expressions="0"
360                                  enable_value="enable_by_preferences"/>
361         <labelvalue id="ellipse_major_radius"
362                     icon="icons/Sketch/radius.png"
363                     label="Major radius:"
364                     tooltip="Set major radius"
365                     default="computed"
366                     accept_expressions="0"
367                     enable_value="enable_by_preferences">
368         </labelvalue>
369         <labelvalue id="ellipse_minor_radius"
370                     icon="icons/Sketch/radius.png"
371                     label="Minor radius:"
372                     tooltip="Set minor radius"
373                     default="computed"
374                     accept_expressions="0"
375                     enable_value="enable_by_preferences">
376         </labelvalue>
377         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
378       </feature>
379       <!-- SketchMacroEllipse -->
380       <feature id="SketchMacroEllipse"
381                icon="icons/Sketch/ellipse.png"
382                title="Ellipse"
383                tooltip="Create ellipse">
384         <sketch-2dpoint_selector id="center_point"
385                                  reference_attribute="center_point_ref"
386                                  title="Center point"
387                                  tooltip="Center point coordinates"
388                                  accept_expressions="0"
389                                  enable_value="enable_by_preferences"/>
390         <sketch-2dpoint_selector id="major_axis_point"
391                                  reference_attribute="major_axis_point_ref"
392                                  title="Major axis point"
393                                  tooltip="Major axis point coordinates"
394                                  accept_expressions="0"
395                                  enable_value="enable_by_preferences"/>
396         <sketch-2dpoint_selector id="passed_point"
397                                  reference_attribute="passed_point_ref"
398                                  title="Passed point"
399                                  tooltip="Passed point coordinates"
400                                  accept_expressions="0"
401                                  enable_value="enable_by_preferences">
402 <!--          <validator id="SketchPlugin_CirclePassedPointValidator"/> -->
403         </sketch-2dpoint_selector>
404 <!--        <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/> -->
405         <labelvalue id="ellipse_major_radius"
406                     icon="icons/Sketch/radius.png"
407                     label="Major radius:"
408                     tooltip="Set major radius"
409                     default="computed"
410                     accept_expressions="0"
411                     obligatory="0"
412                     enable_value="enable_by_preferences">
413           <validator id="GeomValidators_Positive"/>
414         </labelvalue>
415         <labelvalue id="ellipse_minor_radius"
416                     icon="icons/Sketch/radius.png"
417                     label="Minor radius:"
418                     tooltip="Set minor radius"
419                     default="computed"
420                     accept_expressions="0"
421                     obligatory="0"
422                     enable_value="enable_by_preferences">
423           <validator id="GeomValidators_Positive"/>
424         </labelvalue>
425         <boolvalue id="Auxiliary"
426                    tooltip="Construction element"
427                    label="Auxiliary"
428                    default="false"
429                    obligatory="0"/>
430       </feature>
431     </group>
432
433     <group id="Projection">
434       <!-- Intersection Point -->
435       <!-- feature
436         id="SketchIntersectionPoint"
437         title="Intersection Point"
438         tooltip="Create intersection point"
439         icon="icons/Sketch/intersection_point.png">
440         <sketch_shape_selector
441               id="ExternalLine"
442               label="Edge"
443               tooltip="Select external line."
444               shape_types="edge"
445               use_external="false"
446               use_sketch_plane="false">
447           <validator id="GeomValidators_ShapeType" parameters="line"/>
448           <validator id="SketchPlugin_IntersectionValidator"/>
449         </sketch_shape_selector>
450       </feature -->
451
452       <!-- Projected feature -->
453       <feature
454         id="SketchProjection"
455         title="Projection"
456         tooltip="Project feature onto sketch plane"
457         icon="icons/Sketch/projection.png">
458         <sketch_shape_selector
459               id="ExternalFeature"
460               label="Edge"
461               tooltip="Select external edge."
462               shape_types="edge"
463               use_external="true"
464               can_create_external="false"
465               use_sketch_plane="false">
466           <validator id="SketchPlugin_ProjectionValidator"/>
467         </sketch_shape_selector>
468         <validator id="PartSet_ProjectionSelection"/>
469       </feature>
470     </group>
471
472     <group id="Replication">
473       <!--  SketchConstraintMirror  -->
474       <feature
475         id="SketchConstraintMirror"
476         title="Mirror" icon="icons/Sketch/mirror.png"
477         tooltip="Create constraint, mirroring group of objects">
478         <sketch_shape_selector id="ConstraintEntityA"
479             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
480           <validator id="GeomValidators_ShapeType" parameters="line"/>
481         </sketch_shape_selector>
482         <sketch_multi_selector id="ConstraintMirrorList"
483             label="Segments:"
484             tooltip="Select list of objects to be mirrored"
485             type_choice="Edges"
486             use_external="true"
487             greed ="true">
488           <validator id="SketchPlugin_MirrorAttr" />
489         </sketch_multi_selector>
490         <validator id="PartSet_MultyTranslationSelection" />
491       </feature>
492
493       <!--  SketchMultiTranslation  -->
494       <feature
495         id="SketchMultiTranslation"
496         title="Translation" icon="icons/Sketch/translate.png"
497         tooltip="Multiple translation">
498         <sketch_multi_selector id="MultiTranslationList"
499             label="Segments:"
500             tooltip="Select list of objects to be translated"
501             type_choice="Edges"
502             use_external="true"
503             greed ="true">
504           <validator id="SketchPlugin_CopyValidator" />
505         </sketch_multi_selector>
506         <toolbox id="ValueType">
507           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
508             <groupbox title="Direction">
509               <sketch_shape_selector
510                     id="MultiTranslationStartPoint"
511                     label="Start point"
512                     tooltip="Start point of translation"
513                     shape_types="vertex">
514                 <validator id="PartSet_DifferentObjects"/>
515                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
516               </sketch_shape_selector>
517               <sketch_shape_selector
518                     id="MultiTranslationEndPoint"
519                     label="End point"
520                     tooltip="Final point of translation"
521                     shape_types="vertex">
522                 <validator id="PartSet_DifferentObjects"/>
523                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
524               </sketch_shape_selector>
525             </groupbox>
526           </box>
527           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
528             <groupbox title="Direction">
529               <sketch_shape_selector
530                     id="MultiTranslationStartPoint"
531                     label="Start point"
532                     tooltip="Start point of translation"
533                     shape_types="vertex">
534                 <validator id="PartSet_DifferentObjects"/>
535                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
536               </sketch_shape_selector>
537               <sketch_shape_selector
538                     id="MultiTranslationEndPoint"
539                     label="End point"
540                     tooltip="Final point of translation"
541                     shape_types="vertex">
542                 <validator id="PartSet_DifferentObjects"/>
543                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
544               </sketch_shape_selector>
545             </groupbox>
546           </box>
547         </toolbox>
548         <integervalue id="MultiTranslationObjects"
549             label="Total number of objects"
550             tooltip="Total number of objects"
551             default="2" min="2" use_reset="false">
552           <validator id="GeomValidators_Positive"/>
553         </integervalue>
554         <validator id="PartSet_MultyTranslationSelection" />
555       </feature>
556
557       <!--  SketchMultiRotation  -->
558       <feature
559         id="SketchMultiRotation"
560         title="Rotation" icon="icons/Sketch/rotate.png"
561         tooltip="Multiple rotation">
562         <sketch_multi_selector id="MultiRotationList"
563             label="Segments:"
564             tooltip="Select list of objects to be rotated"
565             type_choice="Edges"
566             use_external="true"
567             greed ="true">
568           <validator id="SketchPlugin_CopyValidator" />
569         </sketch_multi_selector>
570         <sketch_shape_selector
571               id="MultiRotationCenter"
572               label="Center of rotation"
573               tooltip="Center of rotation"
574               shape_types="vertex">
575           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
576         </sketch_shape_selector>
577         <toolbox id="AngleType">
578           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
579             <doublevalue id="MultiRotationAngle"
580                          label="Angle"
581                          icon="icons/Sketch/angle.png"
582                          tooltip="Rotation angle"
583                          default="90" use_reset="false"/>
584           </box>
585           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
586             <doublevalue id="MultiRotationAngle"
587                          label="Angle"
588                          icon="icons/Sketch/angle.png"
589                          tooltip="Rotation angle"
590                          default="90" use_reset="false"/>
591           </box>
592         </toolbox>
593         <integervalue id="MultiRotationObjects"
594             label="Total number of objects"
595             tooltip="Total number of objects"
596             default="2" min="2" use_reset="false">
597           <validator id="GeomValidators_Positive"/>
598         </integervalue>
599         <validator id="PartSet_MultyTranslationSelection" />
600       </feature>
601     </group>
602
603     <group id="Dimensional constraints">
604     <!--  SketchConstraintDistance  -->
605       <feature
606         id="SketchConstraintDistance"
607         title="Distance"
608         tooltip="Set fixed distance from a point to an object"
609         icon="icons/Sketch/distance.png">
610         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
611         <sketch_shape_selector
612               id="ConstraintEntityA"
613               label="First object"
614               tooltip="Select point, line end point, line, center of circle or arc."
615               shape_types="edge vertex">
616           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
617           <validator id="PartSet_DifferentObjects"/>
618           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
619         </sketch_shape_selector>
620         <sketch_shape_selector
621           id="ConstraintEntityB"
622           label="Second object"
623           tooltip="Select point, line end point, line, center of circle or arc."
624           shape_types="edge vertex">
625           <validator id="PartSet_DifferentObjects"/>
626           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
627           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
628           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
629         </sketch_shape_selector>
630         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
631
632         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
633           <validator id="GeomValidators_Positive"/>
634         </doublevalue_editor>
635
636         <validator id="PartSet_DistanceSelection"/>
637       </feature>
638
639     <!--  SketchConstraintLength  -->
640       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
641         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
642         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
643           <validator id="GeomValidators_ShapeType" parameters="line"/>
644         </shape_selector>
645         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
646         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
647           <validator id="GeomValidators_Positive"/>
648         </doublevalue_editor>
649         <validator id="PartSet_LengthSelection"/>
650       </feature>
651
652       <!--  SketchConstraintAngle  -->
653       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
654         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
655           <validator id="GeomValidators_ShapeType" parameters="line"/>
656           <validator id="PartSet_DifferentObjects"/>
657           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
658         </sketch_shape_selector>
659         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
660           <validator id="GeomValidators_ShapeType" parameters="line"/>
661           <validator id="PartSet_DifferentObjects"/>
662           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
663         </sketch_shape_selector>
664         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
665         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
666         <validator id="PartSet_AngleSelection"/>
667         <module_choice id="AngleType"
668           widget_type="radiobuttons"
669           buttons_dir="horizontal"
670           label="Angle type"
671           tooltip="Type of angle"
672           string_list="Direct Complementary Additional"
673           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
674           default="0"
675           />
676       </feature>
677
678       <!--  SketchConstraintRadius  -->
679       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
680         <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"/>
681         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
682             shape_types="edge">
683           <validator id="GeomValidators_ShapeType" parameters="circle"/>
684         </shape_selector>
685         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
686         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
687           <validator id="GeomValidators_Positive"/>
688         </doublevalue_editor>
689         <validator id="PartSet_RadiusSelection"/>
690       </feature>
691
692     </group>
693
694     <group id="Geometrical constraints">
695
696       <!--  SketchConstraintHorizontal  -->
697       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
698         <sketch_shape_selector id="ConstraintEntityA"
699             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
700           <validator id="GeomValidators_ShapeType" parameters="line"/>
701           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal, SketchConstraintVertical"/>
702         </sketch_shape_selector>
703         <validator id="PartSet_HVDirSelection"/>
704       </feature>
705
706       <!--  SketchConstraintVertical  -->
707       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
708         <sketch_shape_selector id="ConstraintEntityA"
709             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
710           <validator id="GeomValidators_ShapeType" parameters="line"/>
711           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal, SketchConstraintVertical"/>
712         </sketch_shape_selector>
713         <validator id="PartSet_HVDirSelection"/>
714       </feature>
715
716       <!--  SketchConstraintRigid  -->
717       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
718         <sketch_shape_selector id="ConstraintEntityA" label="Object"
719                         tooltip="Select point, line end point, line, center of circle or arc."
720                         shape_types="edge vertex">
721           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
722           <validator id="SketchPlugin_NotFixed"/>
723         </sketch_shape_selector>
724         <validator id="PartSet_RigidSelection"/>
725       </feature>
726
727       <!--  SketchConstraintParallel  -->
728       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
729                icon="icons/Sketch/parallel.png">
730         <sketch_shape_selector id="ConstraintEntityA"
731             label="First line" tooltip="Select a line" shape_types="edge">
732           <validator id="GeomValidators_ShapeType" parameters="line"/>
733           <validator id="PartSet_DifferentObjects"/>
734           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
735         </sketch_shape_selector>
736
737         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
738             shape_types="edge">
739             <validator id="GeomValidators_ShapeType" parameters="line"/>
740             <validator id="PartSet_DifferentObjects"/>
741             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
742         </sketch_shape_selector>
743         <validator id="PartSet_ParallelSelection"/>
744       </feature>
745
746     <!--  SketchConstraintPerpendicular  -->
747       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
748         tooltip="Create constraint defining two perpendicular lines"
749         icon="icons/Sketch/perpendicular.png">
750         <sketch_shape_selector id="ConstraintEntityA"
751             label="First line" tooltip="Select a line"
752             shape_types="edge">
753           <validator id="PartSet_DifferentObjects"/>
754           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
755             <validator id="GeomValidators_ShapeType" parameters="line"/>
756         </sketch_shape_selector>
757
758         <sketch_shape_selector id="ConstraintEntityB"
759             label="Second line" tooltip="Select a line"
760             shape_types="edge">
761             <validator id="PartSet_DifferentObjects"/>
762           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
763             <validator id="GeomValidators_ShapeType" parameters="line"/>
764         </sketch_shape_selector>
765         <validator id="PartSet_PerpendicularSelection"/>
766       </feature>
767
768       <!--  SketchConstraintTangent  -->
769       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
770         <sketch_shape_selector id="ConstraintEntityA"
771             label="First object" tooltip="Select line or arc" shape_types="edge">
772           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
773           <validator id="PartSet_DifferentObjects"/>
774         </sketch_shape_selector>
775
776         <sketch_shape_selector id="ConstraintEntityB"
777             label="Second object" tooltip="Select line or arc" shape_types="edge">
778           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
779           <validator id="PartSet_DifferentObjects"/>
780         </sketch_shape_selector>
781         <validator id="PartSet_TangentSelection"/>
782       </feature>
783
784       <!--  SketchConstraintCoincidence  -->
785       <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">
786         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
787           <validator id="PartSet_DifferentObjects"/>
788           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
789         </sketch_shape_selector>
790         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
791           <validator id="PartSet_DifferentObjects"/>
792           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
793           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
794         </sketch_shape_selector>
795         <validator id="PartSet_CoincidentSelection"/>
796       </feature>
797
798       <!--  SketchConstraintMiddle  -->
799       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
800         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
801           <validator id="PartSet_DifferentObjects"/>
802           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
803           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
804         </sketch_shape_selector>
805         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
806           <validator id="PartSet_DifferentObjects"/>
807           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
808           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
809         </sketch_shape_selector>
810         <validator id="PartSet_MiddlePointSelection"/>
811       </feature>
812
813       <!--  SketchConstraintEqual  -->
814       <feature id="SketchConstraintEqual" title="Equal"
815         tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radii of two arcs or two circles or arc and circle"
816         icon="icons/Sketch/equal.png">
817         <sketch_shape_selector id="ConstraintEntityA"
818             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
819           <validator id="PartSet_DifferentObjects"/>
820           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
821         </sketch_shape_selector>
822
823         <sketch_shape_selector id="ConstraintEntityB"
824             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
825           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
826           <validator id="PartSet_DifferentObjects"/>
827           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
828         </sketch_shape_selector>
829         <validator id="PartSet_EqualSelection"/>
830       </feature>
831
832     <!--  SketchConstraintCollinear  -->
833       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
834         <sketch_shape_selector id="ConstraintEntityA"
835             label="First line" tooltip="Select a line" shape_types="edge">
836           <validator id="GeomValidators_ShapeType" parameters="line"/>
837           <validator id="PartSet_DifferentObjects"/>
838         </sketch_shape_selector>
839
840         <sketch_shape_selector id="ConstraintEntityB"
841             label="Second line" tooltip="Select a line" shape_types="edge">
842           <validator id="GeomValidators_ShapeType" parameters="line"/>
843           <validator id="PartSet_DifferentObjects"/>
844         </sketch_shape_selector>
845         <validator id="PartSet_CollinearSelection"/>
846       </feature>
847
848     </group>
849
850   </workbench>
851 </plugin>