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