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