Salome HOME
Issue #2024: Redesign of circle and arc of circle
[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"/>
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             <sketch-2dpoint_selector id="passed_point"
238                                      reference_attribute="passed_point_ref"
239                                      title="Passed point"
240                                      tooltip="Passed point"
241                                      accept_expressions="0"
242                                      enable_value="enable_by_preferences"/>
243             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
244           </box>
245           <box id="by_tangent_edge"
246                icon="icons/Sketch/arc_tang_32x32.png"
247                title="Tangent with edge">
248             <sketch_shape_selector id="tangent_point"
249                                    label="Tangent point"
250                                    tooltip="Select point on line"
251                                    shape_types="vertex">
252               <validator id="SketchPlugin_ArcTangentPoint"/>
253             </sketch_shape_selector>
254             <sketch-2dpoint_selector id="end_point_3"
255                                      reference_attribute="end_point_ref"
256                                      title="End point"
257                                      tooltip="End point"
258                                      accept_expressions="0"
259                                      enable_value="enable_by_preferences"/>
260           </box>
261         </toolbox>
262         <labelvalue id="radius"
263                     icon="icons/Sketch/radius.png"
264                     label="Radius:"
265                     tooltip="Set radius"
266                     accept_expressions="0"
267                     min="0"
268                     default="0"
269                     obligatory="0"
270                     enable_value="enable_by_preferences">
271         </labelvalue>
272         <labelvalue id="angle"
273                     icon="icons/Sketch/angle.png"
274                     label="Angle:"
275                     tooltip="Set angle"
276                     default="0"
277                     use_reset="false"
278                     obligatory="0"
279                     enable_value="enable_by_preferences"/>
280         <boolvalue id="Auxiliary"
281                    label="Auxiliary"
282                    tooltip="Construction element"
283                    default="false"
284                    obligatory="0"/>
285       </feature>
286
287       <!--  SketchFillet  -->
288       <feature id="SketchFillet"
289                title="Fillet"
290                tooltip="Create constraint defining fillet between two objects"
291                icon="icons/Sketch/fillet.png">
292         <sketch_shape_selector id="fillet_point"
293                                label="Point"
294                                tooltip="Select point for fillet (should be shared by two entities only)"
295                                shape_types="vertex">
296           <validator id="SketchPlugin_FilletVertexValidator"/>
297         </sketch_shape_selector>
298         <!--<validator id="PartSet_FilletSelection"/>-->
299       </feature>
300       <!--  SketchConstraintSplit  -->
301       <feature id="SketchConstraintSplit" title="Split"
302                tooltip="Cut selected segment arc or circle on existing coincident points"
303                icon="icons/Sketch/split.png">
304         <sketch_sub_shape_selector
305             id="ConstraintValue"
306             label="Split feature"
307             tooltip="Select feature for split"
308             shape_types="edge"
309             use_external="false"
310             use_graphic_intersection="false">
311           <validator id="SketchPlugin_SplitValidator"/>
312         </sketch_sub_shape_selector>
313         <validator id="PartSet_SplitSelection"/>
314       </feature>
315       <!--  SketchTrim  -->
316       <feature id="SketchTrim" title="Trim"
317                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
318                icon="icons/Sketch/trim.png">
319         <sketch_feature_point_selector
320             id="SelectedObject"
321             label="Split feature"
322             tooltip="Select feature for split"
323             shape_types="edge"
324             use_external="false"
325             use_graphic_intersection="true">
326           <validator id="SketchPlugin_TrimValidator"/>
327         </sketch_feature_point_selector>
328         <validator id="PartSet_SplitSelection"/>
329       </feature>
330     </group>
331
332     <group id="Projection">
333       <!-- Intersection Point -->
334       <!-- feature
335         id="SketchIntersectionPoint"
336         title="Intersection Point"
337         tooltip="Create intersection point"
338         icon="icons/Sketch/intersection_point.png">
339         <sketch_shape_selector
340               id="ExternalLine"
341               label="Edge"
342               tooltip="Select external line."
343               shape_types="edge"
344               use_external="false"
345               use_sketch_plane="false">
346           <validator id="GeomValidators_ShapeType" parameters="line"/>
347           <validator id="SketchPlugin_IntersectionValidator"/>
348         </sketch_shape_selector>
349       </feature -->
350
351       <!-- Projected feature -->
352       <feature
353         id="SketchProjection"
354         title="Projection"
355         tooltip="Project feature onto sketch plane"
356         icon="icons/Sketch/projection.png">
357         <sketch_shape_selector
358               id="ExternalFeature"
359               label="Edge"
360               tooltip="Select external edge."
361               shape_types="edge"
362               use_external="true"
363               can_create_external="false"
364               use_sketch_plane="false">
365           <validator id="SketchPlugin_ProjectionValidator"/>
366         </sketch_shape_selector>
367         <validator id="PartSet_ProjectionSelection"/>
368       </feature>
369     </group>
370
371     <group id="Replication">
372       <!--  SketchConstraintMirror  -->
373       <feature
374         id="SketchConstraintMirror"
375         title="Mirror" icon="icons/Sketch/mirror.png"
376         tooltip="Create constraint, mirroring group of objects">
377         <sketch_shape_selector id="ConstraintEntityA"
378             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
379           <validator id="GeomValidators_ShapeType" parameters="line"/>
380         </sketch_shape_selector>
381         <sketch_multi_selector id="ConstraintMirrorList"
382             label="Segments:"
383             tooltip="Select list of objects to be mirrored"
384             type_choice="Edges"
385             use_external="true"
386             greed ="true">
387           <validator id="SketchPlugin_MirrorAttr" />
388         </sketch_multi_selector>
389         <validator id="PartSet_MultyTranslationSelection" />
390       </feature>
391
392       <!--  SketchMultiTranslation  -->
393       <feature
394         id="SketchMultiTranslation"
395         title="Translation" icon="icons/Sketch/translate.png"
396         tooltip="Multiple translation">
397         <sketch_multi_selector id="MultiTranslationList"
398             label="Segments:"
399             tooltip="Select list of objects to be translated"
400             type_choice="Edges"
401             use_external="true"
402             greed ="true">
403           <validator id="SketchPlugin_CopyValidator" />
404         </sketch_multi_selector>
405         <toolbox id="ValueType">
406           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
407             <groupbox title="Direction">
408               <sketch_shape_selector
409                     id="MultiTranslationStartPoint"
410                     label="Start point"
411                     tooltip="Start point of translation"
412                     shape_types="vertex">
413                 <validator id="PartSet_DifferentObjects"/>
414                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
415               </sketch_shape_selector>
416               <sketch_shape_selector
417                     id="MultiTranslationEndPoint"
418                     label="End point"
419                     tooltip="Final point of translation"
420                     shape_types="vertex">
421                 <validator id="PartSet_DifferentObjects"/>
422                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
423               </sketch_shape_selector>
424             </groupbox>
425           </box>
426           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
427             <groupbox title="Direction">
428               <sketch_shape_selector
429                     id="MultiTranslationStartPoint"
430                     label="Start point"
431                     tooltip="Start point of translation"
432                     shape_types="vertex">
433                 <validator id="PartSet_DifferentObjects"/>
434                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
435               </sketch_shape_selector>
436               <sketch_shape_selector
437                     id="MultiTranslationEndPoint"
438                     label="End point"
439                     tooltip="Final point of translation"
440                     shape_types="vertex">
441                 <validator id="PartSet_DifferentObjects"/>
442                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
443               </sketch_shape_selector>
444             </groupbox>
445           </box>
446         </toolbox>
447         <integervalue id="MultiTranslationObjects"
448             label="Total number of objects"
449             tooltip="Total number of objects"
450             default="2" min="2" use_reset="false">
451           <validator id="GeomValidators_Positive"/>
452         </integervalue>
453         <validator id="PartSet_MultyTranslationSelection" />
454       </feature>
455
456       <!--  SketchMultiRotation  -->
457       <feature
458         id="SketchMultiRotation"
459         title="Rotation" icon="icons/Sketch/rotate.png"
460         tooltip="Multiple rotation">
461         <sketch_multi_selector id="MultiRotationList"
462             label="Segments:"
463             tooltip="Select list of objects to be rotated"
464             type_choice="Edges"
465             use_external="true"
466             greed ="true">
467           <validator id="SketchPlugin_CopyValidator" />
468         </sketch_multi_selector>
469         <sketch_shape_selector
470               id="MultiRotationCenter"
471               label="Center of rotation"
472               tooltip="Center of rotation"
473               shape_types="vertex">
474           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
475         </sketch_shape_selector>
476         <toolbox id="AngleType">
477           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
478             <doublevalue id="MultiRotationAngle"
479                          label="Angle"
480                          icon="icons/Sketch/angle.png"
481                          tooltip="Rotation angle"
482                          default="90" use_reset="false"/>
483           </box>
484           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
485             <doublevalue id="MultiRotationAngle"
486                          label="Angle"
487                          icon="icons/Sketch/angle.png"
488                          tooltip="Rotation angle"
489                          default="90" use_reset="false"/>
490           </box>
491         </toolbox>
492         <integervalue id="MultiRotationObjects"
493             label="Total number of objects"
494             tooltip="Total number of objects"
495             default="2" min="2" use_reset="false">
496           <validator id="GeomValidators_Positive"/>
497         </integervalue>
498         <validator id="PartSet_MultyTranslationSelection" />
499       </feature>
500     </group>
501
502     <group id="Dimensional constraints">
503     <!--  SketchConstraintDistance  -->
504       <feature
505         id="SketchConstraintDistance"
506         title="Distance"
507         tooltip="Set fixed distance from a point to an object"
508         icon="icons/Sketch/distance.png">
509         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
510         <sketch_shape_selector
511               id="ConstraintEntityA"
512               label="First object"
513               tooltip="Select point, line end point, line, center of circle or arc."
514               shape_types="edge vertex">
515           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
516           <validator id="PartSet_DifferentObjects"/>
517           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
518         </sketch_shape_selector>
519         <sketch_shape_selector
520           id="ConstraintEntityB"
521           label="Second object"
522           tooltip="Select point, line end point, line, center of circle or arc."
523           shape_types="edge vertex">
524           <validator id="PartSet_DifferentObjects"/>
525           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
526           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
527           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
528         </sketch_shape_selector>
529         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
530
531         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
532           <validator id="GeomValidators_Positive"/>
533         </doublevalue_editor>
534
535         <validator id="PartSet_DistanceSelection"/>
536       </feature>
537
538     <!--  SketchConstraintLength  -->
539       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
540         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
541         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
542           <validator id="GeomValidators_ShapeType" parameters="line"/>
543         </shape_selector>
544         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
545         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
546           <validator id="GeomValidators_Positive"/>
547         </doublevalue_editor>
548         <validator id="PartSet_LengthSelection"/>
549       </feature>
550
551       <!--  SketchConstraintAngle  -->
552       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
553         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
554           <validator id="GeomValidators_ShapeType" parameters="line"/>
555           <validator id="PartSet_DifferentObjects"/>
556           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
557         </sketch_shape_selector>
558         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" 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="ConstraintEntityA"/>
562         </sketch_shape_selector>
563         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
564         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
565         <validator id="PartSet_AngleSelection"/>
566         <module_choice id="AngleType"
567           widget_type="radiobuttons"
568           buttons_dir="horizontal"
569           label="Angle type"
570           tooltip="Type of angle"
571           string_list="Direct Complementary Additional"
572           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
573           default="0"
574           />
575       </feature>
576
577       <!--  SketchConstraintRadius  -->
578       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
579         <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"/>
580         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
581             shape_types="edge">
582           <validator id="GeomValidators_ShapeType" parameters="circle"/>
583         </shape_selector>
584         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
585         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
586           <validator id="GeomValidators_Positive"/>
587         </doublevalue_editor>
588         <validator id="PartSet_RadiusSelection"/>
589       </feature>
590
591     </group>
592
593     <group id="Geometrical constraints">
594
595       <!--  SketchConstraintHorizontal  -->
596       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
597         <sketch_shape_selector id="ConstraintEntityA"
598             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
599           <validator id="GeomValidators_ShapeType" parameters="line"/>
600         </sketch_shape_selector>
601         <validator id="PartSet_HVDirSelection"/>
602       </feature>
603
604       <!--  SketchConstraintVertical  -->
605       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
606         <sketch_shape_selector id="ConstraintEntityA"
607             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
608           <validator id="GeomValidators_ShapeType" parameters="line"/>
609         </sketch_shape_selector>
610         <validator id="PartSet_HVDirSelection"/>
611       </feature>
612
613       <!--  SketchConstraintRigid  -->
614       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
615         <sketch_shape_selector id="ConstraintEntityA" label="Object"
616                         tooltip="Select point, line end point, line, center of circle or arc."
617                         shape_types="edge vertex">
618           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
619           <validator id="SketchPlugin_NotFixed"/>
620         </sketch_shape_selector>
621         <validator id="PartSet_RigidSelection"/>
622       </feature>
623
624       <!--  SketchConstraintParallel  -->
625       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
626                icon="icons/Sketch/parallel.png">
627         <sketch_shape_selector id="ConstraintEntityA"
628             label="First line" tooltip="Select a line" shape_types="edge">
629           <validator id="GeomValidators_ShapeType" parameters="line"/>
630           <validator id="PartSet_DifferentObjects"/>
631           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
632         </sketch_shape_selector>
633
634         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
635             shape_types="edge">
636             <validator id="GeomValidators_ShapeType" parameters="line"/>
637             <validator id="PartSet_DifferentObjects"/>
638             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
639         </sketch_shape_selector>
640         <validator id="PartSet_ParallelSelection"/>
641       </feature>
642
643     <!--  SketchConstraintPerpendicular  -->
644       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
645         tooltip="Create constraint defining two perpendicular lines"
646         icon="icons/Sketch/perpendicular.png">
647         <sketch_shape_selector id="ConstraintEntityA"
648             label="First line" tooltip="Select a line"
649             shape_types="edge">
650           <validator id="PartSet_DifferentObjects"/>
651           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
652             <validator id="GeomValidators_ShapeType" parameters="line"/>
653         </sketch_shape_selector>
654
655         <sketch_shape_selector id="ConstraintEntityB"
656             label="Second line" tooltip="Select a line"
657             shape_types="edge">
658             <validator id="PartSet_DifferentObjects"/>
659           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
660             <validator id="GeomValidators_ShapeType" parameters="line"/>
661         </sketch_shape_selector>
662         <validator id="PartSet_PerpendicularSelection"/>
663       </feature>
664
665       <!--  SketchConstraintTangent  -->
666       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
667         <sketch_shape_selector id="ConstraintEntityA"
668             label="First object" tooltip="Select line or arc" shape_types="edge">
669           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
670           <validator id="PartSet_DifferentObjects"/>
671         </sketch_shape_selector>
672
673         <sketch_shape_selector id="ConstraintEntityB"
674             label="Second object" tooltip="Select line or arc" shape_types="edge">
675           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
676           <validator id="PartSet_DifferentObjects"/>
677         </sketch_shape_selector>
678         <validator id="PartSet_TangentSelection"/>
679       </feature>
680
681       <!--  SketchConstraintCoincidence  -->
682       <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">
683         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
684           <validator id="PartSet_DifferentObjects"/>
685           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
686         </sketch_shape_selector>
687         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
688           <validator id="PartSet_DifferentObjects"/>
689           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
690           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
691         </sketch_shape_selector>
692         <validator id="PartSet_CoincidentSelection"/>
693       </feature>
694
695       <!--  SketchConstraintMiddle  -->
696       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
697         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
698           <validator id="PartSet_DifferentObjects"/>
699           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
700           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
701         </sketch_shape_selector>
702         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
703           <validator id="PartSet_DifferentObjects"/>
704           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
705           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
706         </sketch_shape_selector>
707         <validator id="PartSet_MiddlePointSelection"/>
708       </feature>
709
710       <!--  SketchConstraintEqual  -->
711       <feature id="SketchConstraintEqual" title="Equal"
712         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"
713         icon="icons/Sketch/equal.png">
714         <sketch_shape_selector id="ConstraintEntityA"
715             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
716           <validator id="PartSet_DifferentObjects"/>
717           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
718         </sketch_shape_selector>
719
720         <sketch_shape_selector id="ConstraintEntityB"
721             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
722           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
723           <validator id="PartSet_DifferentObjects"/>
724           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
725         </sketch_shape_selector>
726         <validator id="PartSet_EqualSelection"/>
727       </feature>
728
729     <!--  SketchConstraintCollinear  -->
730       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
731         <sketch_shape_selector id="ConstraintEntityA"
732             label="First line" tooltip="Select a line" shape_types="edge">
733           <validator id="GeomValidators_ShapeType" parameters="line"/>
734           <validator id="PartSet_DifferentObjects"/>
735         </sketch_shape_selector>
736
737         <sketch_shape_selector id="ConstraintEntityB"
738             label="Second line" tooltip="Select a line" shape_types="edge">
739           <validator id="GeomValidators_ShapeType" parameters="line"/>
740           <validator id="PartSet_DifferentObjects"/>
741         </sketch_shape_selector>
742         <validator id="PartSet_CollinearSelection"/>
743       </feature>
744
745     </group>
746
747   </workbench>
748 </plugin>