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