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