Salome HOME
d60744f516648573ae952c3cbbe210e95ddfc7e5
[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="Geometry">
6       <feature
7         id="Sketch"
8         nested="SketchPoint SketchIntersectionPoint SketchLine SketchCircle SketchArc SketchRectangle SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchConstraintAngle SketchMultiRotation SketchMultiTranslation SketchConstraintCollinear SketchConstraintMiddle"
9         when_nested="accept abort"
10         title="Sketch"
11         tooltip="Create sketch"
12         icon="icons/Sketch/sketch.png">
13         <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">
14           <validator id="GeomValidators_Face" parameters="plane"/>
15         </sketch-start-label>
16         <error_label id="SolverError"/>
17         <validator id="SketchPlugin_SolverErrorValidator"/>
18       </feature>
19
20       <!-- SketchPoint -->
21       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png">
22         <sketch-2dpoint_selector id="PointCoordindates" accept_expressions="0" title="Point" tooltip="Point coordinates"/>
23         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
24       </feature>
25       
26       <!-- SketchLine -->
27       <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png">
28         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
29         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"/>
30         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
31         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
32       </feature>
33
34       <!-- SketchCircle -->
35       <feature 
36         id="SketchCircle"
37         title="Circle"
38         tooltip="Create circle"
39         icon="icons/Sketch/circle.png">
40         <toolbox id="CircleType">
41           <box id="CenterRadius" title="Center and radius" icon="icons/Sketch/circle_pt_rad_32x32.png">
42             <sketch-2dpoint_selector id="CircleCenter" accept_expressions="0" title="Center" tooltip="Center coordinates"/>
43             <point2ddistance id="CircleRadius" accept_expressions="0" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon="icons/Sketch/radius.png" tooltip="Set radius">
44               <validator id="GeomValidators_Positive"/>
45             </point2ddistance>
46           </box>
47           <box id="ThreePoints" title="Three points" icon="icons/Sketch/circle_3pt_32x32.png">
48             <sketch-2dpoint_selector id="FirstPoint" accept_expressions="0" title="First point" tooltip="First point"/>
49             <sketch-2dpoint_selector id="SecondPoint" accept_expressions="0" title="Second point" tooltip="Second point"/>
50             <sketch-2dpoint_selector id="ThirdPoint" accept_expressions="0" title="Third point" tooltip="Third point"/>
51           </box>
52         </toolbox>
53         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
54       </feature>
55
56       <!-- SketchArc -->
57       <feature
58         id="SketchArc"
59         title="Arc"
60         tooltip="Create arc"
61         icon="icons/Sketch/arc.png">
62         <toolbox id="ArcType">
63           <box id="CenterStartEnd" title="Center and two points" icon="icons/Sketch/arc_base_32x32.png">
64             <sketch-2dpoint_selector id="ArcCenter" accept_expressions="0" title="Center" tooltip="Center of a circle"/>
65             <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
66             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
67             <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
68           </box>
69           <box id="ThreePoints" title="Three points on arc" icon="icons/Sketch/arc_3pt_32x32.png">
70             <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
71             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
72             <sketch-2dpoint_selector id="ArcPassedPoint" accept_expressions="0" title="Passed point" tooltip="Passed point"/>
73             <validator id="GeomValidators_Different" parameters="ArcStartPoint,ArcEndPoint,ArcPassedPoint"/>
74           </box>
75           <box id="Tangent" title="Tangent with edge" icon="icons/Sketch/arc_tang_32x32.png">
76             <sketch_shape_selector id="ArcTangentPoint" label="Start point" tooltip="Select point on line" shape_types="vertex">
77               <validator id="SketchPlugin_ArcTangentPoint" parameters="" />
78             </sketch_shape_selector>
79             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
80           </box>
81         </toolbox>
82         <doublevalue id="ArcRadius" accept_expressions="0" label="Radius:" default="computed" icon="icons/Sketch/radius.png" tooltip="Set radius" obligatory="0">
83           <validator id="GeomValidators_Positive"/>
84         </doublevalue>
85         <doublevalue id="ArcAngle" label="Angle:" icon="icons/Sketch/angle.png" tooltip="Set angle" default="90" use_reset="false" obligatory="0"/>
86         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
87       </feature>
88
89       <!--  SketchConstraintFillet  -->
90       <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon="icons/Sketch/fillet.png">
91         <!--<sketch_shape_selector id="ConstraintEntityA"
92             label="Point" tooltip="Select point for fillet (should be shared by two entities only)" shape_types="vertex">
93           <validator id="SketchPlugin_FilletVertexValidator"/>
94         </sketch_shape_selector>-->
95         <sketch_multi_selector id="ConstraintEntityA"
96             label="Points:"
97             tooltip="Select points for fillets"
98             type_choice="Vertices"
99             greed ="true">
100           <validator id="SketchPlugin_FilletVertexValidator"/>
101         </sketch_multi_selector>
102         <doublevalue label="Radius" tooltip="Fillet arc radius" id="ConstraintValue" accept_expressions="0" min="0" use_reset="false">
103           <validator id="GeomValidators_Positive"/>
104         </doublevalue>
105         <validator id="PartSet_FilletSelection"/>
106       </feature>
107     </group>
108
109     <!--<group id="Projection"> -->
110       <!-- Intersection Point -->
111       <!-- feature
112         id="SketchIntersectionPoint"
113         title="Intersection Point"
114         tooltip="Create intersection point"
115         icon="icons/Sketch/intersection_point.png">
116         <sketch_shape_selector
117               id="ExternalLine"
118               label="Edge"
119               tooltip="Select external line."
120               shape_types="edge"
121               use_external="false"
122               use_sketch_plane="false">
123           <validator id="GeomValidators_ShapeType" parameters="line"/>
124           <validator id="SketchPlugin_IntersectionValidator"/>
125         </sketch_shape_selector>
126         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
127       </feature -->
128     <!--</group>-->
129
130     <group id="Replication">
131       <!--  SketchConstraintMirror  -->
132       <feature
133         id="SketchConstraintMirror"
134         title="Mirror" icon="icons/Sketch/mirror.png"
135         tooltip="Create constraint, mirroring group of objects">
136         <sketch_shape_selector id="ConstraintEntityA"
137             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
138           <validator id="GeomValidators_ShapeType" parameters="line"/>
139         </sketch_shape_selector>
140         <sketch_multi_selector id="ConstraintMirrorList"
141             label="Segments:"
142             tooltip="Select list of mirroring objects"
143             type_choice="Edges"
144             use_external="true"
145             greed ="true">
146           <validator id="SketchPlugin_MirrorAttr" />
147         </sketch_multi_selector>
148       </feature>
149
150       <!--  SketchMultiTranslation  -->
151       <feature
152         id="SketchMultiTranslation"
153         title="Translation" icon="icons/Sketch/translate.png"
154         tooltip="Multiple translation">
155         <sketch_multi_selector id="MultiTranslationList"
156             label="Segments:"
157             tooltip="Select list of translating objects"
158             type_choice="Edges"
159             use_external="true"
160             greed ="true">
161           <validator id="SketchPlugin_CopyValidator" />
162         </sketch_multi_selector>
163         <toolbox id="ValueType">
164           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
165             <groupbox title="Direction">
166               <sketch_shape_selector
167                     id="MultiTranslationStartPoint"
168                     label="Start point"
169                     tooltip="Start point of translation"
170                     shape_types="vertex">
171                 <validator id="PartSet_DifferentObjects"/>
172                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
173               </sketch_shape_selector>
174               <sketch_shape_selector
175                     id="MultiTranslationEndPoint"
176                     label="End point"
177                     tooltip="Final point of translation"
178                     shape_types="vertex">
179                 <validator id="PartSet_DifferentObjects"/>
180                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
181               </sketch_shape_selector>
182             </groupbox>
183           </box>
184           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
185             <groupbox title="Direction">
186               <sketch_shape_selector
187                     id="MultiTranslationStartPoint"
188                     label="Start point"
189                     tooltip="Start point of translation"
190                     shape_types="vertex">
191                 <validator id="PartSet_DifferentObjects"/>
192                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
193               </sketch_shape_selector>
194               <sketch_shape_selector
195                     id="MultiTranslationEndPoint"
196                     label="End point"
197                     tooltip="Final point of translation"
198                     shape_types="vertex">
199                 <validator id="PartSet_DifferentObjects"/>
200                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
201               </sketch_shape_selector>
202             </groupbox>
203           </box>
204         </toolbox>
205         <integervalue id="MultiTranslationObjects"
206             label="Total number of objects"
207             tooltip="Total number of objects"
208             default="2" min="2" use_reset="false">
209           <validator id="GeomValidators_Positive"/>
210         </integervalue>
211       </feature>
212
213       <!--  SketchMultiRotation  -->
214       <feature
215         id="SketchMultiRotation"
216         title="Rotation" icon="icons/Sketch/rotate.png"
217         tooltip="Multiple rotation">
218         <sketch_multi_selector id="MultiRotationList"
219             label="Segments:"
220             tooltip="Select list of rotating objects"
221             type_choice="Edges"
222             use_external="true"
223             greed ="true">
224           <validator id="SketchPlugin_CopyValidator" />
225         </sketch_multi_selector>
226         <sketch_shape_selector
227               id="MultiRotationCenter"
228               label="Center of rotation"
229               tooltip="Center of rotation"
230               shape_types="vertex">
231           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
232         </sketch_shape_selector>
233         <toolbox id="AngleType">
234           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
235             <doublevalue id="MultiRotationAngle"
236                          label="Angle"
237                          icon="icons/Sketch/angle.png"
238                          tooltip="Rotation angle"
239                          default="90" use_reset="false"/>
240           </box>
241           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
242             <doublevalue id="MultiRotationAngle"
243                          label="Angle"
244                          icon="icons/Sketch/angle.png"
245                          tooltip="Rotation angle"
246                          default="90" use_reset="false"/>
247           </box>
248         </toolbox>
249         <integervalue id="MultiRotationObjects"
250             label="Total number of objects"
251             tooltip="Total number of objects"
252             default="2" min="2" use_reset="false">
253           <validator id="GeomValidators_Positive"/>
254         </integervalue>
255       </feature>
256     </group>
257
258     <group id="Dimensional constraints">
259     <!--  SketchConstraintDistance  -->
260       <feature
261         id="SketchConstraintDistance"
262         title="Distance"
263         tooltip="Set fixed distance from a point to an object"
264         icon="icons/Sketch/distance.png">
265         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
266         <sketch_shape_selector
267               id="ConstraintEntityA"
268               label="First object"
269               tooltip="Select point, line end point, line, center of circle or arc."
270               shape_types="edge vertex">
271           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
272           <validator id="PartSet_DifferentObjects"/>
273           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
274         </sketch_shape_selector>
275         <sketch_shape_selector 
276           id="ConstraintEntityB" 
277           label="Second object" 
278           tooltip="Select point, line end point, line, center of circle or arc." 
279           shape_types="edge vertex">
280           <validator id="PartSet_DifferentObjects"/>
281           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
282           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
283           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
284         </sketch_shape_selector>
285         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
286         
287         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
288           <validator id="GeomValidators_Positive"/>
289         </doublevalue_editor>
290         
291         <validator id="PartSet_DistanceSelection"/>
292       </feature>
293       
294     <!--  SketchConstraintLength  -->      
295       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
296         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
297         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
298           <validator id="GeomValidators_ShapeType" parameters="line"/>
299         </shape_selector>
300         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
301         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
302           <validator id="GeomValidators_Positive"/>
303         </doublevalue_editor>
304         <validator id="PartSet_LengthSelection"/>
305       </feature>
306
307       <!--  SketchConstraintAngle  -->
308       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
309         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select an line" shape_types="edge" >
310           <validator id="GeomValidators_ShapeType" parameters="line"/>
311           <validator id="PartSet_DifferentObjects"/>
312           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
313         </sketch_shape_selector>
314         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select an line" shape_types="edge" >
315           <validator id="GeomValidators_ShapeType" parameters="line"/>
316           <validator id="PartSet_DifferentObjects"/>
317           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
318         </sketch_shape_selector>
319         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
320         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
321         <validator id="PartSet_AngleSelection"/>
322         <module_choice id="AngleType"
323           widget_type="radiobuttons"
324           buttons_dir="horizontal"
325           label="Angle type"
326           tooltip="Type of angle"
327           string_list="Direct Complementary Additional"
328           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
329           default="0"
330           />
331       </feature>
332
333       <!--  SketchConstraintRadius  -->
334       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
335         <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"/>
336         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
337             shape_types="edge">
338           <validator id="GeomValidators_ShapeType" parameters="circle"/>
339         </shape_selector>
340         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
341         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
342           <validator id="GeomValidators_Positive"/>
343         </doublevalue_editor>
344         <validator id="PartSet_RadiusSelection"/>
345       </feature>
346
347     </group>
348
349     <group id="Geometrical constraints">
350
351       <!--  SketchConstraintHorizontal  -->
352       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
353         <sketch_shape_selector id="ConstraintEntityA"
354             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
355           <validator id="GeomValidators_ShapeType" parameters="line"/>
356         </sketch_shape_selector>
357         <validator id="PartSet_HVDirSelection"/>
358       </feature>
359
360       <!--  SketchConstraintVertical  -->
361       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
362         <sketch_shape_selector id="ConstraintEntityA"
363             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
364           <validator id="GeomValidators_ShapeType" parameters="line"/>
365         </sketch_shape_selector>
366         <validator id="PartSet_HVDirSelection"/>
367       </feature>
368
369       <!--  SketchConstraintRigid  -->
370       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
371         <sketch_shape_selector id="ConstraintEntityA" label="Object"
372                         tooltip="Select point, line end point, line, center of circle or arc."
373                         shape_types="edge vertex">
374           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
375           <validator id="SketchPlugin_NotFixed"/>
376         </sketch_shape_selector>
377         <validator id="PartSet_RigidSelection"/>
378       </feature>
379
380       <!--  SketchConstraintParallel  -->
381       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
382                icon="icons/Sketch/parallel.png">
383         <sketch_shape_selector id="ConstraintEntityA" 
384             label="First line" tooltip="Select a line" shape_types="edge">
385           <validator id="GeomValidators_ShapeType" parameters="line"/>
386           <validator id="PartSet_DifferentObjects"/>
387           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
388         </sketch_shape_selector>
389         
390         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line" 
391             shape_types="edge">
392             <validator id="GeomValidators_ShapeType" parameters="line"/>
393             <validator id="PartSet_DifferentObjects"/>
394             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
395         </sketch_shape_selector>
396         <validator id="PartSet_ParallelSelection"/>
397       </feature>
398       
399     <!--  SketchConstraintPerpendicular  -->
400       <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
401         tooltip="Create constraint defining two perpendicular lines" 
402         icon="icons/Sketch/perpendicular.png">
403         <sketch_shape_selector id="ConstraintEntityA" 
404             label="First line" tooltip="Select an line" 
405             shape_types="edge">
406           <validator id="PartSet_DifferentObjects"/>
407           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
408             <validator id="GeomValidators_ShapeType" parameters="line"/>
409         </sketch_shape_selector>
410         
411         <sketch_shape_selector id="ConstraintEntityB" 
412             label="Second line" tooltip="Select an line" 
413             shape_types="edge">
414             <validator id="PartSet_DifferentObjects"/>
415           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
416             <validator id="GeomValidators_ShapeType" parameters="line"/>
417         </sketch_shape_selector>
418         <validator id="PartSet_PerpendicularSelection"/>
419       </feature>
420
421       <!--  SketchConstraintTangent  -->
422       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
423         <sketch_shape_selector id="ConstraintEntityA"
424             label="First object" tooltip="Select line or arc" shape_types="edge">
425           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
426           <validator id="PartSet_DifferentObjects"/>
427         </sketch_shape_selector>
428
429         <sketch_shape_selector id="ConstraintEntityB"
430             label="Second object" tooltip="Select line or arc" shape_types="edge">
431           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
432           <validator id="PartSet_DifferentObjects"/>
433         </sketch_shape_selector>
434         <validator id="PartSet_TangentSelection"/>
435       </feature>
436
437       <!--  SketchConstraintCoincidence  -->
438       <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">
439         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
440           <validator id="PartSet_DifferentObjects"/>
441           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
442         </sketch_shape_selector>
443         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
444           <validator id="PartSet_DifferentObjects"/>
445           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
446           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
447         </sketch_shape_selector>
448         <validator id="PartSet_CoincidentSelection"/>
449       </feature>
450
451       <!--  SketchConstraintMiddle  -->
452       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
453         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
454           <validator id="PartSet_DifferentObjects"/>
455           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
456           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
457         </sketch_shape_selector>
458         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
459           <validator id="PartSet_DifferentObjects"/>
460           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
461           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
462         </sketch_shape_selector>
463         <validator id="PartSet_MiddlePointSelection"/>
464       </feature>
465
466       <!--  SketchConstraintEqual  -->
467       <feature id="SketchConstraintEqual" title="Equal"
468         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"
469         icon="icons/Sketch/equal.png">
470         <sketch_shape_selector id="ConstraintEntityA" 
471             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
472           <validator id="PartSet_DifferentObjects"/>
473           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
474         </sketch_shape_selector>
475         
476         <sketch_shape_selector id="ConstraintEntityB"
477             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
478           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
479           <validator id="PartSet_DifferentObjects"/>
480           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
481         </sketch_shape_selector>
482         <validator id="PartSet_EqualSelection"/>
483       </feature>
484       
485     <!--  SketchConstraintCollinear  -->
486       <!--
487       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
488         <sketch_shape_selector id="ConstraintEntityA" 
489             label="First line" tooltip="Select a line" shape_types="edge">
490           <validator id="GeomValidators_ShapeType" parameters="line"/>
491           <validator id="PartSet_DifferentObjects"/>
492         </sketch_shape_selector>
493         
494         <sketch_shape_selector id="ConstraintEntityB"
495             label="Second line" tooltip="Select a line" shape_types="edge">
496           <validator id="GeomValidators_ShapeType" parameters="line"/>
497           <validator id="PartSet_DifferentObjects"/>
498         </sketch_shape_selector>
499         <validator id="PartSet_CollinearSelection"/>
500       </feature>
501       -->
502          
503     </group>
504     
505   </workbench>
506 </plugin>