Salome HOME
Revert change for MacroArc attribute names
[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                 SketchRectangle
11                 SketchProjection
12                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance
13                 SketchConstraintParallel SketchConstraintPerpendicular
14                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
15                 SketchConstraintEqual SketchConstraintTangent
16                 SketchFillet SketchConstraintSplit SketchTrim
17                 SketchConstraintCoincidence
18                 SketchConstraintMirror SketchConstraintAngle
19                 SketchMultiRotation SketchMultiTranslation
20                 SketchConstraintCollinear SketchConstraintMiddle"
21         when_nested="accept abort"
22         title="Sketch"
23         tooltip="Create sketch"
24         icon="icons/Sketch/sketch.png">
25         <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">
26           <validator id="GeomValidators_Face" parameters="plane"/>
27         </sketch-start-label>
28         <label id="SolverDOF"/>
29         <label id="SolverError" styleSheet="color : red; font : bold"/>
30         <validator id="SketchPlugin_SolverErrorValidator"/>
31       </feature>
32
33       <!-- SketchPoint -->
34       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png">
35         <sketch-2dpoint_selector id="PointCoordindates" 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         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
43                                  enable_value="enable_by_preferences"/>
44         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
45                                  enable_value="enable_by_preferences"/>
46         <labelvalue id="LineLength" accept_expressions="0" label="Length:" default="computed" icon="icons/Sketch/distance_value.png"
47                      tooltip="Line length" obligatory="0" enable_value="false"/>
48         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
49         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
50       </feature>
51     </group>
52     <group id="Circular geometry">
53       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
54       <feature id="SketchCircle"
55                title="Circle"
56                tooltip="Create circle"
57                icon="icons/Sketch/circle.png"
58                internal="1">
59         <sketch-2dpoint_selector id="circle_center"
60                                  title="Center"
61                                  tooltip="Center coordinates"
62                                  accept_expressions="0"
63                                  enable_value="enable_by_preferences"/>
64         <labelvalue id="circle_radius"
65                     icon="icons/Sketch/radius.png"
66                     label="Radius:"
67                     tooltip="Set radius"
68                     default="computed"
69                     accept_expressions="0"
70                     enable_value="enable_by_preferences">
71         </labelvalue>
72         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
73       </feature>
74       <!-- SketchMacroCircle -->
75       <feature id="SketchMacroCircle"
76                icon="icons/Sketch/circle.png"
77                title="Circle"
78                tooltip="Create circle">
79         <toolbox id="circle_type" modified_in_edit="false">
80           <box id="circle_type_by_center_and_passed_points"
81                icon="icons/Sketch/circle_pt_rad_32x32.png"
82                title="Center and passed points">
83             <sketch-2dpoint_selector id="center_point"
84                                      reference_attribute="center_point_ref"
85                                      title="Center point"
86                                      tooltip="Center point coordinates"
87                                      accept_expressions="0"
88                                      enable_value="enable_by_preferences"/>
89             <sketch-2dpoint_selector id="passed_point"
90                                      reference_attribute="passed_point_ref"
91                                      title="Passed point"
92                                      tooltip="Passed point coordinates"
93                                      accept_expressions="0"
94                                      enable_value="enable_by_preferences">
95               <validator id="SketchPlugin_CirclePassedPointValidator"/>
96             </sketch-2dpoint_selector>
97             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
98           </box>
99           <box id="circle_type_by_three_points"
100                icon="icons/Sketch/circle_3pt_32x32.png"
101                title="Three points">
102             <sketch-2dpoint_selector id="first_point"
103                                      reference_attribute="first_point_ref"
104                                      title="First point"
105                                      tooltip="First point"
106                                      accept_expressions="0"
107                                      enable_value="enable_by_preferences"/>
108             <sketch-2dpoint_selector id="second_point"
109                                      reference_attribute="second_point_ref"
110                                      title="Second point"
111                                      tooltip="Second point"
112                                      accept_expressions="0"
113                                      enable_value="enable_by_preferences">
114               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
115             </sketch-2dpoint_selector>
116             <sketch-2dpoint_selector id="third_point"
117                                      reference_attribute="third_point_ref"
118                                      title="Third point"
119                                      tooltip="Third point"
120                                      accept_expressions="0"
121                                      enable_value="enable_by_preferences">
122               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
123               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
124             </sketch-2dpoint_selector>
125             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
126           </box>
127         </toolbox>
128         <labelvalue id="circle_radius"
129                     icon="icons/Sketch/radius.png"
130                     label="Radius:"
131                     tooltip="Set radius"
132                     default="computed"
133                     accept_expressions="0"
134                     obligatory="0"
135                     enable_value="enable_by_preferences">
136           <validator id="GeomValidators_Positive"/>
137         </labelvalue>
138         <boolvalue id="Auxiliary"
139                    tooltip="Construction element"
140                    label="Auxiliary"
141                    default="false"
142                    obligatory="0"/>
143       </feature>
144
145       <!-- SketchArc -->
146       <feature id="SketchArc"
147                icon="icons/Sketch/arc.png"
148                title="Arc"
149                tooltip="Create arc"
150                internal="1">
151         <sketch-2dpoint_selector id="center_point"
152                                  title="Center"
153                                  tooltip="Center of a circle"
154                                  accept_expressions="0"
155                                  enable_value="enable_by_preferences"/>
156         <sketch-2dpoint_selector id="start_point"
157                                  title="Start point"
158                                  tooltip="Start point"
159                                  accept_expressions="0"
160                                  enable_value="enable_by_preferences"/>
161         <sketch-2dpoint_selector id="end_point"
162                                  title="End point"
163                                  tooltip="End point"
164                                  accept_expressions="0"
165                                  enable_value="enable_by_preferences"/>
166         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
167         <labelvalue id="radius"
168                     icon="icons/Sketch/radius.png"
169                     label="Radius:"
170                     tooltip="Set radius"
171                     accept_expressions="0"
172                     min="0"
173                     default="0"
174                     obligatory="0"
175                     enable_value="enable_by_preferences">
176         </labelvalue>
177         <labelvalue id="angle"
178                     icon="icons/Sketch/angle.png"
179                     label="Angle:"
180                     tooltip="Set angle"
181                     default="0"
182                     use_reset="false"
183                     obligatory="0"
184                     enable_value="enable_by_preferences"/>
185         <boolvalue id="Auxiliary"
186                    label="Auxiliary"
187                    tooltip="Construction element"
188                    default="false"
189                    obligatory="0"/>
190       </feature>
191
192       <!-- SketchMacroArc -->
193       <feature
194         id="SketchMacroArc"
195         title="Arc"
196         tooltip="Create arc"
197         icon="icons/Sketch/arc.png">
198         <toolbox id="arc_type">
199           <box id="by_center_and_points"
200                icon="icons/Sketch/arc_base_32x32.png"
201                title="Center and two points">
202             <sketch-2dpoint_selector id="center_point"
203                                      reference_attribute="center_point_ref"
204                                      title="Center point"
205                                      tooltip="Center of a circle"
206                                      accept_expressions="0"
207                                      enable_value="enable_by_preferences" />
208             <sketch-2dpoint_selector id="start_point_1"
209                                      reference_attribute="start_point_ref"
210                                      title="Start point"
211                                      tooltip="Start point"
212                                      accept_expressions="0"
213                                      enable_value="enable_by_preferences"/>
214             <sketch-2dpoint_selector id="end_point_1"
215                                      reference_attribute="end_point_ref"
216                                      title="End point"
217                                      tooltip="End point"
218                                      accept_expressions="0"
219                                      enable_value="enable_by_preferences"/>
220             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
221           </box>
222           <box id="by_three_points"
223                icon="icons/Sketch/arc_3pt_32x32.png"
224                title="Three points on arc">
225             <sketch-2dpoint_selector id="start_point_2"
226                                      reference_attribute="start_point_ref"
227                                      title="Start point"
228                                      tooltip="Start point"
229                                      accept_expressions="0"
230                                      enable_value="enable_by_preferences"/>
231             <sketch-2dpoint_selector id="end_point_2"
232                                      reference_attribute="end_point_ref"
233                                      title="End point"
234                                      tooltip="End point"
235                                      accept_expressions="0"
236                                      enable_value="enable_by_preferences">
237               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref"/>
238             </sketch-2dpoint_selector>
239             <sketch-2dpoint_selector id="passed_point"
240                                      reference_attribute="passed_point_ref"
241                                      title="Passed point"
242                                      tooltip="Passed point"
243                                      accept_expressions="0"
244                                      enable_value="enable_by_preferences">
245               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
246               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
247             </sketch-2dpoint_selector>
248             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
249           </box>
250           <box id="by_tangent_edge"
251                icon="icons/Sketch/arc_tang_32x32.png"
252                title="Tangent with edge">
253             <sketch_shape_selector id="tangent_point"
254                                    label="Tangent point"
255                                    tooltip="Select point on line"
256                                    shape_types="vertex">
257               <validator id="SketchPlugin_ArcTangentPoint"/>
258             </sketch_shape_selector>
259             <sketch-2dpoint_selector id="end_point_3"
260                                      reference_attribute="end_point_ref"
261                                      title="End point"
262                                      tooltip="End point"
263                                      accept_expressions="0"
264                                      enable_value="enable_by_preferences"/>
265           </box>
266         </toolbox>
267         <labelvalue id="radius"
268                     icon="icons/Sketch/radius.png"
269                     label="Radius:"
270                     tooltip="Set radius"
271                     accept_expressions="0"
272                     min="0"
273                     default="0"
274                     obligatory="0"
275                     enable_value="enable_by_preferences">
276         </labelvalue>
277         <labelvalue id="angle"
278                     icon="icons/Sketch/angle.png"
279                     label="Angle:"
280                     tooltip="Set angle"
281                     default="0"
282                     use_reset="false"
283                     obligatory="0"
284                     enable_value="enable_by_preferences"/>
285         <boolvalue id="Auxiliary"
286                    label="Auxiliary"
287                    tooltip="Construction element"
288                    default="false"
289                    obligatory="0"/>
290       </feature>
291
292       <!--  SketchFillet  -->
293       <feature id="SketchFillet"
294                title="Fillet"
295                tooltip="Create constraint defining fillet between two objects"
296                icon="icons/Sketch/fillet.png">
297         <sketch_shape_selector id="fillet_point"
298                                label="Point"
299                                tooltip="Select point for fillet (should be shared by two entities only)"
300                                shape_types="vertex">
301           <validator id="SketchPlugin_FilletVertexValidator"/>
302         </sketch_shape_selector>
303         <!--<validator id="PartSet_FilletSelection"/>-->
304       </feature>
305       <!--  SketchConstraintSplit  -->
306       <feature id="SketchConstraintSplit" title="Split"
307                tooltip="Cut selected segment arc or circle on existing coincident points"
308                icon="icons/Sketch/split.png">
309         <sketch_sub_shape_selector
310             id="ConstraintValue"
311             label="Split feature"
312             tooltip="Select feature for split"
313             shape_types="edge"
314             use_external="false"
315             use_graphic_intersection="false">
316           <validator id="SketchPlugin_SplitValidator"/>
317         </sketch_sub_shape_selector>
318         <validator id="PartSet_SplitSelection"/>
319       </feature>
320       <!--  SketchTrim  -->
321       <feature id="SketchTrim" title="Trim"
322                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
323                icon="icons/Sketch/trim.png">
324         <sketch_feature_point_selector
325             id="SelectedObject"
326             label="Split feature"
327             tooltip="Select feature for split"
328             shape_types="edge"
329             use_external="false"
330             use_graphic_intersection="true">
331           <validator id="SketchPlugin_TrimValidator"/>
332         </sketch_feature_point_selector>
333         <validator id="PartSet_SplitSelection"/>
334       </feature>
335     </group>
336
337     <group id="Projection">
338       <!-- Intersection Point -->
339       <!-- feature
340         id="SketchIntersectionPoint"
341         title="Intersection Point"
342         tooltip="Create intersection point"
343         icon="icons/Sketch/intersection_point.png">
344         <sketch_shape_selector
345               id="ExternalLine"
346               label="Edge"
347               tooltip="Select external line."
348               shape_types="edge"
349               use_external="false"
350               use_sketch_plane="false">
351           <validator id="GeomValidators_ShapeType" parameters="line"/>
352           <validator id="SketchPlugin_IntersectionValidator"/>
353         </sketch_shape_selector>
354       </feature -->
355
356       <!-- Projected feature -->
357       <feature
358         id="SketchProjection"
359         title="Projection"
360         tooltip="Project feature onto sketch plane"
361         icon="icons/Sketch/projection.png">
362         <sketch_shape_selector
363               id="ExternalFeature"
364               label="Edge"
365               tooltip="Select external edge."
366               shape_types="edge"
367               use_external="true"
368               can_create_external="false"
369               use_sketch_plane="false">
370           <validator id="SketchPlugin_ProjectionValidator"/>
371         </sketch_shape_selector>
372         <validator id="PartSet_ProjectionSelection"/>
373       </feature>
374     </group>
375
376     <group id="Replication">
377       <!--  SketchConstraintMirror  -->
378       <feature
379         id="SketchConstraintMirror"
380         title="Mirror" icon="icons/Sketch/mirror.png"
381         tooltip="Create constraint, mirroring group of objects">
382         <sketch_shape_selector id="ConstraintEntityA"
383             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
384           <validator id="GeomValidators_ShapeType" parameters="line"/>
385         </sketch_shape_selector>
386         <sketch_multi_selector id="ConstraintMirrorList"
387             label="Segments:"
388             tooltip="Select list of objects to be mirrored"
389             type_choice="Edges"
390             use_external="true"
391             greed ="true">
392           <validator id="SketchPlugin_MirrorAttr" />
393         </sketch_multi_selector>
394         <validator id="PartSet_MultyTranslationSelection" />
395       </feature>
396
397       <!--  SketchMultiTranslation  -->
398       <feature
399         id="SketchMultiTranslation"
400         title="Translation" icon="icons/Sketch/translate.png"
401         tooltip="Multiple translation">
402         <sketch_multi_selector id="MultiTranslationList"
403             label="Segments:"
404             tooltip="Select list of objects to be translated"
405             type_choice="Edges"
406             use_external="true"
407             greed ="true">
408           <validator id="SketchPlugin_CopyValidator" />
409         </sketch_multi_selector>
410         <toolbox id="ValueType">
411           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
412             <groupbox title="Direction">
413               <sketch_shape_selector
414                     id="MultiTranslationStartPoint"
415                     label="Start point"
416                     tooltip="Start point of translation"
417                     shape_types="vertex">
418                 <validator id="PartSet_DifferentObjects"/>
419                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
420               </sketch_shape_selector>
421               <sketch_shape_selector
422                     id="MultiTranslationEndPoint"
423                     label="End point"
424                     tooltip="Final point of translation"
425                     shape_types="vertex">
426                 <validator id="PartSet_DifferentObjects"/>
427                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
428               </sketch_shape_selector>
429             </groupbox>
430           </box>
431           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
432             <groupbox title="Direction">
433               <sketch_shape_selector
434                     id="MultiTranslationStartPoint"
435                     label="Start point"
436                     tooltip="Start point of translation"
437                     shape_types="vertex">
438                 <validator id="PartSet_DifferentObjects"/>
439                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
440               </sketch_shape_selector>
441               <sketch_shape_selector
442                     id="MultiTranslationEndPoint"
443                     label="End point"
444                     tooltip="Final point of translation"
445                     shape_types="vertex">
446                 <validator id="PartSet_DifferentObjects"/>
447                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
448               </sketch_shape_selector>
449             </groupbox>
450           </box>
451         </toolbox>
452         <integervalue id="MultiTranslationObjects"
453             label="Total number of objects"
454             tooltip="Total number of objects"
455             default="2" min="2" use_reset="false">
456           <validator id="GeomValidators_Positive"/>
457         </integervalue>
458         <validator id="PartSet_MultyTranslationSelection" />
459       </feature>
460
461       <!--  SketchMultiRotation  -->
462       <feature
463         id="SketchMultiRotation"
464         title="Rotation" icon="icons/Sketch/rotate.png"
465         tooltip="Multiple rotation">
466         <sketch_multi_selector id="MultiRotationList"
467             label="Segments:"
468             tooltip="Select list of objects to be rotated"
469             type_choice="Edges"
470             use_external="true"
471             greed ="true">
472           <validator id="SketchPlugin_CopyValidator" />
473         </sketch_multi_selector>
474         <sketch_shape_selector
475               id="MultiRotationCenter"
476               label="Center of rotation"
477               tooltip="Center of rotation"
478               shape_types="vertex">
479           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
480         </sketch_shape_selector>
481         <toolbox id="AngleType">
482           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
483             <doublevalue id="MultiRotationAngle"
484                          label="Angle"
485                          icon="icons/Sketch/angle.png"
486                          tooltip="Rotation angle"
487                          default="90" use_reset="false"/>
488           </box>
489           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
490             <doublevalue id="MultiRotationAngle"
491                          label="Angle"
492                          icon="icons/Sketch/angle.png"
493                          tooltip="Rotation angle"
494                          default="90" use_reset="false"/>
495           </box>
496         </toolbox>
497         <integervalue id="MultiRotationObjects"
498             label="Total number of objects"
499             tooltip="Total number of objects"
500             default="2" min="2" use_reset="false">
501           <validator id="GeomValidators_Positive"/>
502         </integervalue>
503         <validator id="PartSet_MultyTranslationSelection" />
504       </feature>
505     </group>
506
507     <group id="Dimensional constraints">
508     <!--  SketchConstraintDistance  -->
509       <feature
510         id="SketchConstraintDistance"
511         title="Distance"
512         tooltip="Set fixed distance from a point to an object"
513         icon="icons/Sketch/distance.png">
514         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
515         <sketch_shape_selector
516               id="ConstraintEntityA"
517               label="First object"
518               tooltip="Select point, line end point, line, center of circle or arc."
519               shape_types="edge vertex">
520           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
521           <validator id="PartSet_DifferentObjects"/>
522           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
523         </sketch_shape_selector>
524         <sketch_shape_selector
525           id="ConstraintEntityB"
526           label="Second object"
527           tooltip="Select point, line end point, line, center of circle or arc."
528           shape_types="edge vertex">
529           <validator id="PartSet_DifferentObjects"/>
530           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
531           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
532           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
533         </sketch_shape_selector>
534         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
535
536         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
537           <validator id="GeomValidators_Positive"/>
538         </doublevalue_editor>
539
540         <validator id="PartSet_DistanceSelection"/>
541       </feature>
542
543     <!--  SketchConstraintLength  -->
544       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
545         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
546         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
547           <validator id="GeomValidators_ShapeType" parameters="line"/>
548         </shape_selector>
549         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
550         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
551           <validator id="GeomValidators_Positive"/>
552         </doublevalue_editor>
553         <validator id="PartSet_LengthSelection"/>
554       </feature>
555
556       <!--  SketchConstraintAngle  -->
557       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
558         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
559           <validator id="GeomValidators_ShapeType" parameters="line"/>
560           <validator id="PartSet_DifferentObjects"/>
561           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
562         </sketch_shape_selector>
563         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
564           <validator id="GeomValidators_ShapeType" parameters="line"/>
565           <validator id="PartSet_DifferentObjects"/>
566           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
567         </sketch_shape_selector>
568         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
569         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
570         <validator id="PartSet_AngleSelection"/>
571         <module_choice id="AngleType"
572           widget_type="radiobuttons"
573           buttons_dir="horizontal"
574           label="Angle type"
575           tooltip="Type of angle"
576           string_list="Direct Complementary Additional"
577           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
578           default="0"
579           />
580       </feature>
581
582       <!--  SketchConstraintRadius  -->
583       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
584         <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"/>
585         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
586             shape_types="edge">
587           <validator id="GeomValidators_ShapeType" parameters="circle"/>
588         </shape_selector>
589         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
590         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
591           <validator id="GeomValidators_Positive"/>
592         </doublevalue_editor>
593         <validator id="PartSet_RadiusSelection"/>
594       </feature>
595
596     </group>
597
598     <group id="Geometrical constraints">
599
600       <!--  SketchConstraintHorizontal  -->
601       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
602         <sketch_shape_selector id="ConstraintEntityA"
603             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
604           <validator id="GeomValidators_ShapeType" parameters="line"/>
605         </sketch_shape_selector>
606         <validator id="PartSet_HVDirSelection"/>
607       </feature>
608
609       <!--  SketchConstraintVertical  -->
610       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
611         <sketch_shape_selector id="ConstraintEntityA"
612             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
613           <validator id="GeomValidators_ShapeType" parameters="line"/>
614         </sketch_shape_selector>
615         <validator id="PartSet_HVDirSelection"/>
616       </feature>
617
618       <!--  SketchConstraintRigid  -->
619       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
620         <sketch_shape_selector id="ConstraintEntityA" label="Object"
621                         tooltip="Select point, line end point, line, center of circle or arc."
622                         shape_types="edge vertex">
623           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
624           <validator id="SketchPlugin_NotFixed"/>
625         </sketch_shape_selector>
626         <validator id="PartSet_RigidSelection"/>
627       </feature>
628
629       <!--  SketchConstraintParallel  -->
630       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
631                icon="icons/Sketch/parallel.png">
632         <sketch_shape_selector id="ConstraintEntityA"
633             label="First line" tooltip="Select a line" shape_types="edge">
634           <validator id="GeomValidators_ShapeType" parameters="line"/>
635           <validator id="PartSet_DifferentObjects"/>
636           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
637         </sketch_shape_selector>
638
639         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
640             shape_types="edge">
641             <validator id="GeomValidators_ShapeType" parameters="line"/>
642             <validator id="PartSet_DifferentObjects"/>
643             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
644         </sketch_shape_selector>
645         <validator id="PartSet_ParallelSelection"/>
646       </feature>
647
648     <!--  SketchConstraintPerpendicular  -->
649       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
650         tooltip="Create constraint defining two perpendicular lines"
651         icon="icons/Sketch/perpendicular.png">
652         <sketch_shape_selector id="ConstraintEntityA"
653             label="First line" tooltip="Select a line"
654             shape_types="edge">
655           <validator id="PartSet_DifferentObjects"/>
656           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
657             <validator id="GeomValidators_ShapeType" parameters="line"/>
658         </sketch_shape_selector>
659
660         <sketch_shape_selector id="ConstraintEntityB"
661             label="Second line" tooltip="Select a line"
662             shape_types="edge">
663             <validator id="PartSet_DifferentObjects"/>
664           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
665             <validator id="GeomValidators_ShapeType" parameters="line"/>
666         </sketch_shape_selector>
667         <validator id="PartSet_PerpendicularSelection"/>
668       </feature>
669
670       <!--  SketchConstraintTangent  -->
671       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
672         <sketch_shape_selector id="ConstraintEntityA"
673             label="First object" tooltip="Select line or arc" shape_types="edge">
674           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
675           <validator id="PartSet_DifferentObjects"/>
676         </sketch_shape_selector>
677
678         <sketch_shape_selector id="ConstraintEntityB"
679             label="Second object" tooltip="Select line or arc" shape_types="edge">
680           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
681           <validator id="PartSet_DifferentObjects"/>
682         </sketch_shape_selector>
683         <validator id="PartSet_TangentSelection"/>
684       </feature>
685
686       <!--  SketchConstraintCoincidence  -->
687       <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">
688         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
689           <validator id="PartSet_DifferentObjects"/>
690           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
691         </sketch_shape_selector>
692         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
693           <validator id="PartSet_DifferentObjects"/>
694           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
695           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
696         </sketch_shape_selector>
697         <validator id="PartSet_CoincidentSelection"/>
698       </feature>
699
700       <!--  SketchConstraintMiddle  -->
701       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
702         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
703           <validator id="PartSet_DifferentObjects"/>
704           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
705           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
706         </sketch_shape_selector>
707         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
708           <validator id="PartSet_DifferentObjects"/>
709           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
710           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
711         </sketch_shape_selector>
712         <validator id="PartSet_MiddlePointSelection"/>
713       </feature>
714
715       <!--  SketchConstraintEqual  -->
716       <feature id="SketchConstraintEqual" title="Equal"
717         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"
718         icon="icons/Sketch/equal.png">
719         <sketch_shape_selector id="ConstraintEntityA"
720             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
721           <validator id="PartSet_DifferentObjects"/>
722           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
723         </sketch_shape_selector>
724
725         <sketch_shape_selector id="ConstraintEntityB"
726             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
727           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
728           <validator id="PartSet_DifferentObjects"/>
729           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
730         </sketch_shape_selector>
731         <validator id="PartSet_EqualSelection"/>
732       </feature>
733
734     <!--  SketchConstraintCollinear  -->
735       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
736         <sketch_shape_selector id="ConstraintEntityA"
737             label="First line" tooltip="Select a line" shape_types="edge">
738           <validator id="GeomValidators_ShapeType" parameters="line"/>
739           <validator id="PartSet_DifferentObjects"/>
740         </sketch_shape_selector>
741
742         <sketch_shape_selector id="ConstraintEntityB"
743             label="Second line" tooltip="Select a line" shape_types="edge">
744           <validator id="GeomValidators_ShapeType" parameters="line"/>
745           <validator id="PartSet_DifferentObjects"/>
746         </sketch_shape_selector>
747         <validator id="PartSet_CollinearSelection"/>
748       </feature>
749
750     </group>
751
752   </workbench>
753 </plugin>