Salome HOME
725bc554b3879467143adf478da9815ea5691d27
[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.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       <!--icon=":pictures/x_point.png"-->
19       </feature>
20
21       <!-- SketchPoint -->
22       <feature id="SketchPoint" title="Point" tooltip="Create point" icon=":icons/point.png">
23         <sketch-2dpoint_selector id="PointCoordindates" accept_expressions="0" title="Point" tooltip="Point coordinates"/>
24         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
25       </feature>
26       
27       <!-- SketchLine -->
28       <feature id="SketchLine" title="Line" tooltip="Create line" icon=":icons/line.png">
29         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
30         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"/>
31         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
32         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
33       </feature>
34
35       <!-- SketchCircle -->
36       <feature 
37         id="SketchCircle"
38         title="Circle"
39         tooltip="Create circle"
40         icon=":icons/circle.png">
41         <toolbox id="CircleType">
42           <box id="CenterRadius" title="Center and radius" icon=":icons/circle_pt_rad_32x32.png">
43             <sketch-2dpoint_selector id="CircleCenter" accept_expressions="0" title="Center" tooltip="Center coordinates"/>
44             <point2ddistance id="CircleRadius" accept_expressions="0" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set radius">
45               <validator id="GeomValidators_Positive"/>
46             </point2ddistance>
47           </box>
48           <box id="ThreePoints" title="Three points" icon=":icons/circle_3pt_32x32.png">
49             <sketch-2dpoint_selector id="FirstPoint" accept_expressions="0" title="First point" tooltip="First point"/>
50             <sketch-2dpoint_selector id="SecondPoint" accept_expressions="0" title="Second point" tooltip="Second point"/>
51             <sketch-2dpoint_selector id="ThirdPoint" accept_expressions="0" title="Third point" tooltip="Third point"/>
52           </box>
53         </toolbox>
54         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
55       </feature>
56
57       <!-- SketchArc -->
58       <feature
59         id="SketchArc"
60         title="Arc"
61         tooltip="Create arc"
62         icon=":icons/arc.png">
63         <toolbox id="ArcType">
64           <box id="CenterStartEnd" title="Center and two points" icon=":icons/arc_base_32x32.png">
65             <sketch-2dpoint_selector id="ArcCenter" accept_expressions="0" title="Center" tooltip="Center of a circle"/>
66             <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
67             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
68             <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
69           </box>
70           <box id="ThreePoints" title="Three points on arc" icon=":icons/arc_3pt_32x32.png">
71             <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
72             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
73             <sketch-2dpoint_selector id="ArcPassedPoint" accept_expressions="0" title="Passed point" tooltip="Passed point"/>
74             <validator id="GeomValidators_Different" parameters="ArcStartPoint,ArcEndPoint,ArcPassedPoint"/>
75           </box>
76           <box id="Tangent" title="Tangent with edge" icon=":icons/arc_tang_32x32.png">
77             <sketch_shape_selector id="ArcTangentPoint" label="Start point" tooltip="Select point on line" shape_types="vertex">
78               <validator id="SketchPlugin_ArcTangentPoint" parameters="" />
79             </sketch_shape_selector>
80             <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
81           </box>
82         </toolbox>
83         <doublevalue id="ArcRadius" accept_expressions="0" label="Radius:" default="computed" icon=":icons/radius.png" tooltip="Set radius" obligatory="0">
84           <validator id="GeomValidators_Positive"/>
85         </doublevalue>
86         <doublevalue id="ArcAngle" label="Angle:" icon=":icons/angle.png" tooltip="Set angle" default="90" use_reset="false" obligatory="0"/>
87         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
88       </feature>
89
90       <!--  SketchConstraintFillet  -->
91       <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
92         <!--<sketch_shape_selector id="ConstraintEntityA"
93             label="Point" tooltip="Select point for fillet (should be shared by two entities only)" shape_types="vertex">
94           <validator id="SketchPlugin_FilletVertexValidator"/>
95         </sketch_shape_selector>-->
96         <sketch_multi_selector id="ConstraintEntityA"
97             label="Points:"
98             tooltip="Select points for fillets"
99             type_choice="Vertices"
100             greed ="true">
101           <validator id="SketchPlugin_FilletVertexValidator"/>
102         </sketch_multi_selector>
103         <doublevalue label="Radius" tooltip="Fillet arc radius" id="ConstraintValue" accept_expressions="0" min="0" use_reset="false">
104           <validator id="GeomValidators_Positive"/>
105         </doublevalue>
106         <validator id="PartSet_FilletSelection"/>
107       </feature>
108     </group>
109
110     <!--<group id="Projection"> -->
111       <!-- Intersection Point -->
112       <!-- feature
113         id="SketchIntersectionPoint"
114         title="Intersection Point"
115         tooltip="Create intersection point"
116         icon=":icons/intersection_point.png">
117         <sketch_shape_selector
118               id="ExternalLine"
119               label="Edge"
120               tooltip="Select external line."
121               shape_types="edge"
122               use_external="false"
123               use_sketch_plane="false">
124           <validator id="GeomValidators_ShapeType" parameters="line"/>
125           <validator id="SketchPlugin_IntersectionValidator"/>
126         </sketch_shape_selector>
127         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
128       </feature -->
129     <!--</group>-->
130
131     <group id="Replication">
132       <!--  SketchConstraintMirror  -->
133       <feature
134         id="SketchConstraintMirror"
135         title="Mirror" icon=":icons/mirror.png"
136         tooltip="Create constraint, mirroring group of objects">
137         <sketch_shape_selector id="ConstraintEntityA"
138             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
139           <validator id="GeomValidators_ShapeType" parameters="line"/>
140         </sketch_shape_selector>
141         <sketch_multi_selector id="ConstraintMirrorList"
142             label="Segments:"
143             tooltip="Select list of mirroring objects"
144             type_choice="Edges"
145             use_external="true"
146             greed ="true">
147           <validator id="SketchPlugin_MirrorAttr" />
148         </sketch_multi_selector>
149       </feature>
150
151       <!--  SketchMultiTranslation  -->
152       <feature
153         id="SketchMultiTranslation"
154         title="Translation" icon=":icons/translate.png"
155         tooltip="Multiple translation">
156         <sketch_multi_selector id="MultiTranslationList"
157             label="Segments:"
158             tooltip="Select list of translating objects"
159             type_choice="Edges"
160             use_external="true"
161             greed ="true">
162           <validator id="SketchPlugin_CopyValidator" />
163         </sketch_multi_selector>
164         <toolbox id="ValueType">
165           <box id="SingleValue" title="Single value" icon=":icons/translate_32x32.png">
166             <groupbox title="Direction">
167               <sketch_shape_selector
168                     id="MultiTranslationStartPoint"
169                     label="Start point"
170                     tooltip="Start point of translation"
171                     shape_types="vertex">
172                 <validator id="PartSet_DifferentObjects"/>
173                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
174               </sketch_shape_selector>
175               <sketch_shape_selector
176                     id="MultiTranslationEndPoint"
177                     label="End point"
178                     tooltip="Final point of translation"
179                     shape_types="vertex">
180                 <validator id="PartSet_DifferentObjects"/>
181                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
182               </sketch_shape_selector>
183             </groupbox>
184           </box>
185           <box id="FullValue" title="Full value" icon=":icons/translate_full_32x32.png">
186             <groupbox title="Direction">
187               <sketch_shape_selector
188                     id="MultiTranslationStartPoint"
189                     label="Start point"
190                     tooltip="Start point of translation"
191                     shape_types="vertex">
192                 <validator id="PartSet_DifferentObjects"/>
193                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
194               </sketch_shape_selector>
195               <sketch_shape_selector
196                     id="MultiTranslationEndPoint"
197                     label="End point"
198                     tooltip="Final point of translation"
199                     shape_types="vertex">
200                 <validator id="PartSet_DifferentObjects"/>
201                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
202               </sketch_shape_selector>
203             </groupbox>
204           </box>
205         </toolbox>
206         <integervalue id="MultiTranslationObjects"
207             label="Total number of objects"
208             tooltip="Total number of objects"
209             default="2" min="2" use_reset="false">
210           <validator id="GeomValidators_Positive"/>
211         </integervalue>
212       </feature>
213
214       <!--  SketchMultiRotation  -->
215       <feature
216         id="SketchMultiRotation"
217         title="Rotation" icon=":icons/rotate.png"
218         tooltip="Multiple rotation">
219         <sketch_multi_selector id="MultiRotationList"
220             label="Segments:"
221             tooltip="Select list of rotating objects"
222             type_choice="Edges"
223             use_external="true"
224             greed ="true">
225           <validator id="SketchPlugin_CopyValidator" />
226         </sketch_multi_selector>
227         <sketch_shape_selector
228               id="MultiRotationCenter"
229               label="Center of rotation"
230               tooltip="Center of rotation"
231               shape_types="vertex">
232           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
233         </sketch_shape_selector>
234         <toolbox id="AngleType">
235           <box id="SingleAngle" title="Single angle" icon=":icons/angle_up_32x32.png">
236             <doublevalue id="MultiRotationAngle"
237                          label="Angle"
238                          icon=":icons/angle.png"
239                          tooltip="Rotation angle"
240                          default="90" use_reset="false"/>
241           </box>
242           <box id="FullAngle" title="Full angle" icon=":icons/angle_up_full_32x32.png">
243             <doublevalue id="MultiRotationAngle"
244                          label="Angle"
245                          icon=":icons/angle.png"
246                          tooltip="Rotation angle"
247                          default="90" use_reset="false"/>
248           </box>
249         </toolbox>
250         <integervalue id="MultiRotationObjects"
251             label="Total number of objects"
252             tooltip="Total number of objects"
253             default="2" min="2" use_reset="false">
254           <validator id="GeomValidators_Positive"/>
255         </integervalue>
256       </feature>
257     </group>
258
259     <group id="Dimensional constraints">
260     <!--  SketchConstraintDistance  -->
261       <feature
262         id="SketchConstraintDistance"
263         title="Distance"
264         tooltip="Set fixed distance from a point to an object"
265         icon=":icons/distance.png">
266         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
267         <sketch_shape_selector
268               id="ConstraintEntityA"
269               label="First object"
270               tooltip="Select point, line end point, line, center of circle or arc."
271               shape_types="edge vertex">
272           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
273           <validator id="PartSet_DifferentObjects"/>
274           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
275         </sketch_shape_selector>
276         <sketch_shape_selector 
277           id="ConstraintEntityB" 
278           label="Second object" 
279           tooltip="Select point, line end point, line, center of circle or arc." 
280           shape_types="edge vertex">
281           <validator id="PartSet_DifferentObjects"/>
282           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
283           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
284           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
285         </sketch_shape_selector>
286         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
287         
288         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
289           <validator id="GeomValidators_Positive"/>
290         </doublevalue_editor>
291         
292         <validator id="PartSet_DistanceSelection"/>
293       </feature>
294       
295     <!--  SketchConstraintLength  -->      
296       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon=":icons/length.png">
297         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
298         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
299           <validator id="GeomValidators_ShapeType" parameters="line"/>
300         </shape_selector>
301         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
302         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
303           <validator id="GeomValidators_Positive"/>
304         </doublevalue_editor>
305         <validator id="PartSet_LengthSelection"/>
306       </feature>
307
308       <!--  SketchConstraintAngle  -->
309       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon=":icons/angle_constr.png">
310         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select an line" shape_types="edge" >
311           <validator id="GeomValidators_ShapeType" parameters="line"/>
312           <validator id="PartSet_DifferentObjects"/>
313           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
314         </sketch_shape_selector>
315         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select an line" shape_types="edge" >
316           <validator id="GeomValidators_ShapeType" parameters="line"/>
317           <validator id="PartSet_DifferentObjects"/>
318           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
319         </sketch_shape_selector>
320         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
321         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
322         <validator id="PartSet_AngleSelection"/>
323         <module_choice id="AngleType"
324           widget_type="radiobuttons"
325           buttons_dir="horizontal"
326           label="Angle type"
327           tooltip="Type of angle"
328           string_list="Direct Complementary Additional"
329           icons_list=":icons/angle_direct.png :icons/angle_complementary.png :icons/angle_backward.png"
330           default="0"
331           />
332       </feature>
333
334       <!--  SketchConstraintRadius  -->
335       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon=":icons/radius_constr.png">
336         <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"/>
337         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
338             shape_types="edge">
339           <validator id="GeomValidators_ShapeType" parameters="circle"/>
340         </shape_selector>
341         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
342         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
343           <validator id="GeomValidators_Positive"/>
344         </doublevalue_editor>
345         <validator id="PartSet_RadiusSelection"/>
346       </feature>
347
348     </group>
349
350     <group id="Geometrical constraints">
351
352       <!--  SketchConstraintHorizontal  -->
353       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon=":icons/horisontal.png">
354         <sketch_shape_selector id="ConstraintEntityA"
355             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
356           <validator id="GeomValidators_ShapeType" parameters="line"/>
357         </sketch_shape_selector>
358         <validator id="PartSet_HVDirSelection"/>
359       </feature>
360
361       <!--  SketchConstraintVertical  -->
362       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon=":icons/vertical.png">
363         <sketch_shape_selector id="ConstraintEntityA"
364             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
365           <validator id="GeomValidators_ShapeType" parameters="line"/>
366         </sketch_shape_selector>
367         <validator id="PartSet_HVDirSelection"/>
368       </feature>
369
370       <!--  SketchConstraintRigid  -->
371       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon=":icons/fixed.png">
372         <sketch_shape_selector id="ConstraintEntityA" label="Object"
373                         tooltip="Select point, line end point, line, center of circle or arc."
374                         shape_types="edge vertex">
375           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
376           <validator id="SketchPlugin_NotFixed"/>
377         </sketch_shape_selector>
378         <validator id="PartSet_RigidSelection"/>
379       </feature>
380
381       <!--  SketchConstraintParallel  -->
382       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/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/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/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/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/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/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/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>