Salome HOME
Issue #1652 Add a real widget displaying the length of the line in the panel: correct...
[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         <doublevalue 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         <doublevalue 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         </doublevalue>
106         <doublevalue 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                    enable_value="enable_by_preferences"/>
110       </feature>
111
112       <!--  SketchConstraintFillet  -->
113       <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon="icons/Sketch/fillet.png">
114         <!--<sketch_shape_selector id="ConstraintEntityA"
115             label="Point" tooltip="Select point for fillet (should be shared by two entities only)" shape_types="vertex">
116           <validator id="SketchPlugin_FilletVertexValidator"/>
117         </sketch_shape_selector>-->
118         <sketch_multi_selector id="ConstraintEntityA"
119             label="Points:"
120             tooltip="Select points for fillets"
121             type_choice="Vertices"
122             greed = "true"
123             clear_in_neutral_point="false">
124           <validator id="SketchPlugin_FilletVertexValidator"/>
125         </sketch_multi_selector>
126         <doublevalue label="Radius" tooltip="Fillet arc radius" id="ConstraintValue" accept_expressions="0" min="0" use_reset="false"
127                      enable_value="enable_by_preferences">
128           <validator id="GeomValidators_Positive"/>
129         </doublevalue>
130         <validator id="PartSet_FilletSelection"/>
131       </feature>
132       <!--  SketchConstraintSplit  -->
133       <feature id="SketchConstraintSplit" title="Split" tooltip="Create constraints defining split of linear segment, arc or circle" icon="icons/Sketch/split.png">
134         <sketch_sub_shape_selector
135             id="ConstraintValue"
136             label="Split feature"
137             tooltip="Select feature for split"
138             shape_types="edge"
139             use_external="false">
140           <validator id="SketchPlugin_SplitValidator"/>
141         </sketch_sub_shape_selector>
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="false"
176               use_sketch_plane="false">
177           <validator id="SketchPlugin_ProjectionValidator"/>
178         </sketch_shape_selector>
179       </feature>
180     </group>
181
182     <group id="Replication">
183       <!--  SketchConstraintMirror  -->
184       <feature
185         id="SketchConstraintMirror"
186         title="Mirror" icon="icons/Sketch/mirror.png"
187         tooltip="Create constraint, mirroring group of objects">
188         <sketch_shape_selector id="ConstraintEntityA"
189             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
190           <validator id="GeomValidators_ShapeType" parameters="line"/>
191         </sketch_shape_selector>
192         <sketch_multi_selector id="ConstraintMirrorList"
193             label="Segments:"
194             tooltip="Select list of mirroring objects"
195             type_choice="Edges"
196             use_external="true"
197             greed ="true">
198           <validator id="SketchPlugin_MirrorAttr" />
199         </sketch_multi_selector>
200       </feature>
201
202       <!--  SketchMultiTranslation  -->
203       <feature
204         id="SketchMultiTranslation"
205         title="Translation" icon="icons/Sketch/translate.png"
206         tooltip="Multiple translation">
207         <sketch_multi_selector id="MultiTranslationList"
208             label="Segments:"
209             tooltip="Select list of translating objects"
210             type_choice="Edges"
211             use_external="true"
212             greed ="true">
213           <validator id="SketchPlugin_CopyValidator" />
214         </sketch_multi_selector>
215         <toolbox id="ValueType">
216           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
217             <groupbox title="Direction">
218               <sketch_shape_selector
219                     id="MultiTranslationStartPoint"
220                     label="Start point"
221                     tooltip="Start point of translation"
222                     shape_types="vertex">
223                 <validator id="PartSet_DifferentObjects"/>
224                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
225               </sketch_shape_selector>
226               <sketch_shape_selector
227                     id="MultiTranslationEndPoint"
228                     label="End point"
229                     tooltip="Final point of translation"
230                     shape_types="vertex">
231                 <validator id="PartSet_DifferentObjects"/>
232                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
233               </sketch_shape_selector>
234             </groupbox>
235           </box>
236           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
237             <groupbox title="Direction">
238               <sketch_shape_selector
239                     id="MultiTranslationStartPoint"
240                     label="Start point"
241                     tooltip="Start point of translation"
242                     shape_types="vertex">
243                 <validator id="PartSet_DifferentObjects"/>
244                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
245               </sketch_shape_selector>
246               <sketch_shape_selector
247                     id="MultiTranslationEndPoint"
248                     label="End point"
249                     tooltip="Final point of translation"
250                     shape_types="vertex">
251                 <validator id="PartSet_DifferentObjects"/>
252                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
253               </sketch_shape_selector>
254             </groupbox>
255           </box>
256         </toolbox>
257         <integervalue id="MultiTranslationObjects"
258             label="Total number of objects"
259             tooltip="Total number of objects"
260             default="2" min="2" use_reset="false">
261           <validator id="GeomValidators_Positive"/>
262         </integervalue>
263       </feature>
264
265       <!--  SketchMultiRotation  -->
266       <feature
267         id="SketchMultiRotation"
268         title="Rotation" icon="icons/Sketch/rotate.png"
269         tooltip="Multiple rotation">
270         <sketch_multi_selector id="MultiRotationList"
271             label="Segments:"
272             tooltip="Select list of rotating objects"
273             type_choice="Edges"
274             use_external="true"
275             greed ="true">
276           <validator id="SketchPlugin_CopyValidator" />
277         </sketch_multi_selector>
278         <sketch_shape_selector
279               id="MultiRotationCenter"
280               label="Center of rotation"
281               tooltip="Center of rotation"
282               shape_types="vertex">
283           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
284         </sketch_shape_selector>
285         <toolbox id="AngleType">
286           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
287             <doublevalue id="MultiRotationAngle"
288                          label="Angle"
289                          icon="icons/Sketch/angle.png"
290                          tooltip="Rotation angle"
291                          default="90" use_reset="false"/>
292           </box>
293           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
294             <doublevalue id="MultiRotationAngle"
295                          label="Angle"
296                          icon="icons/Sketch/angle.png"
297                          tooltip="Rotation angle"
298                          default="90" use_reset="false"/>
299           </box>
300         </toolbox>
301         <integervalue id="MultiRotationObjects"
302             label="Total number of objects"
303             tooltip="Total number of objects"
304             default="2" min="2" use_reset="false">
305           <validator id="GeomValidators_Positive"/>
306         </integervalue>
307       </feature>
308     </group>
309
310     <group id="Dimensional constraints">
311     <!--  SketchConstraintDistance  -->
312       <feature
313         id="SketchConstraintDistance"
314         title="Distance"
315         tooltip="Set fixed distance from a point to an object"
316         icon="icons/Sketch/distance.png">
317         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
318         <sketch_shape_selector
319               id="ConstraintEntityA"
320               label="First object"
321               tooltip="Select point, line end point, line, center of circle or arc."
322               shape_types="edge vertex">
323           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
324           <validator id="PartSet_DifferentObjects"/>
325           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
326         </sketch_shape_selector>
327         <sketch_shape_selector 
328           id="ConstraintEntityB" 
329           label="Second object" 
330           tooltip="Select point, line end point, line, center of circle or arc." 
331           shape_types="edge vertex">
332           <validator id="PartSet_DifferentObjects"/>
333           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
334           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
335           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
336         </sketch_shape_selector>
337         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
338         
339         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
340           <validator id="GeomValidators_Positive"/>
341         </doublevalue_editor>
342         
343         <validator id="PartSet_DistanceSelection"/>
344       </feature>
345       
346     <!--  SketchConstraintLength  -->      
347       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
348         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
349         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
350           <validator id="GeomValidators_ShapeType" parameters="line"/>
351         </shape_selector>
352         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
353         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
354           <validator id="GeomValidators_Positive"/>
355         </doublevalue_editor>
356         <validator id="PartSet_LengthSelection"/>
357       </feature>
358
359       <!--  SketchConstraintAngle  -->
360       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
361         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select an line" shape_types="edge" >
362           <validator id="GeomValidators_ShapeType" parameters="line"/>
363           <validator id="PartSet_DifferentObjects"/>
364           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
365         </sketch_shape_selector>
366         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select an line" shape_types="edge" >
367           <validator id="GeomValidators_ShapeType" parameters="line"/>
368           <validator id="PartSet_DifferentObjects"/>
369           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
370         </sketch_shape_selector>
371         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
372         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
373         <validator id="PartSet_AngleSelection"/>
374         <module_choice id="AngleType"
375           widget_type="radiobuttons"
376           buttons_dir="horizontal"
377           label="Angle type"
378           tooltip="Type of angle"
379           string_list="Direct Complementary Additional"
380           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
381           default="0"
382           />
383       </feature>
384
385       <!--  SketchConstraintRadius  -->
386       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
387         <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"/>
388         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
389             shape_types="edge">
390           <validator id="GeomValidators_ShapeType" parameters="circle"/>
391         </shape_selector>
392         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
393         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
394           <validator id="GeomValidators_Positive"/>
395         </doublevalue_editor>
396         <validator id="PartSet_RadiusSelection"/>
397       </feature>
398
399     </group>
400
401     <group id="Geometrical constraints">
402
403       <!--  SketchConstraintHorizontal  -->
404       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
405         <sketch_shape_selector id="ConstraintEntityA"
406             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
407           <validator id="GeomValidators_ShapeType" parameters="line"/>
408         </sketch_shape_selector>
409         <validator id="PartSet_HVDirSelection"/>
410       </feature>
411
412       <!--  SketchConstraintVertical  -->
413       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
414         <sketch_shape_selector id="ConstraintEntityA"
415             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
416           <validator id="GeomValidators_ShapeType" parameters="line"/>
417         </sketch_shape_selector>
418         <validator id="PartSet_HVDirSelection"/>
419       </feature>
420
421       <!--  SketchConstraintRigid  -->
422       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
423         <sketch_shape_selector id="ConstraintEntityA" label="Object"
424                         tooltip="Select point, line end point, line, center of circle or arc."
425                         shape_types="edge vertex">
426           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
427           <validator id="SketchPlugin_NotFixed"/>
428         </sketch_shape_selector>
429         <validator id="PartSet_RigidSelection"/>
430       </feature>
431
432       <!--  SketchConstraintParallel  -->
433       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
434                icon="icons/Sketch/parallel.png">
435         <sketch_shape_selector id="ConstraintEntityA" 
436             label="First line" tooltip="Select a line" shape_types="edge">
437           <validator id="GeomValidators_ShapeType" parameters="line"/>
438           <validator id="PartSet_DifferentObjects"/>
439           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
440         </sketch_shape_selector>
441         
442         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line" 
443             shape_types="edge">
444             <validator id="GeomValidators_ShapeType" parameters="line"/>
445             <validator id="PartSet_DifferentObjects"/>
446             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
447         </sketch_shape_selector>
448         <validator id="PartSet_ParallelSelection"/>
449       </feature>
450       
451     <!--  SketchConstraintPerpendicular  -->
452       <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
453         tooltip="Create constraint defining two perpendicular lines" 
454         icon="icons/Sketch/perpendicular.png">
455         <sketch_shape_selector id="ConstraintEntityA" 
456             label="First line" tooltip="Select an line" 
457             shape_types="edge">
458           <validator id="PartSet_DifferentObjects"/>
459           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
460             <validator id="GeomValidators_ShapeType" parameters="line"/>
461         </sketch_shape_selector>
462         
463         <sketch_shape_selector id="ConstraintEntityB" 
464             label="Second line" tooltip="Select an line" 
465             shape_types="edge">
466             <validator id="PartSet_DifferentObjects"/>
467           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
468             <validator id="GeomValidators_ShapeType" parameters="line"/>
469         </sketch_shape_selector>
470         <validator id="PartSet_PerpendicularSelection"/>
471       </feature>
472
473       <!--  SketchConstraintTangent  -->
474       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
475         <sketch_shape_selector id="ConstraintEntityA"
476             label="First object" tooltip="Select line or arc" shape_types="edge">
477           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
478           <validator id="PartSet_DifferentObjects"/>
479         </sketch_shape_selector>
480
481         <sketch_shape_selector id="ConstraintEntityB"
482             label="Second object" tooltip="Select line or arc" shape_types="edge">
483           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
484           <validator id="PartSet_DifferentObjects"/>
485         </sketch_shape_selector>
486         <validator id="PartSet_TangentSelection"/>
487       </feature>
488
489       <!--  SketchConstraintCoincidence  -->
490       <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">
491         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
492           <validator id="PartSet_DifferentObjects"/>
493           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
494         </sketch_shape_selector>
495         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
496           <validator id="PartSet_DifferentObjects"/>
497           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
498           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
499         </sketch_shape_selector>
500         <validator id="PartSet_CoincidentSelection"/>
501       </feature>
502
503       <!--  SketchConstraintMiddle  -->
504       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
505         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
506           <validator id="PartSet_DifferentObjects"/>
507           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
508           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
509         </sketch_shape_selector>
510         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
511           <validator id="PartSet_DifferentObjects"/>
512           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
513           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
514         </sketch_shape_selector>
515         <validator id="PartSet_MiddlePointSelection"/>
516       </feature>
517
518       <!--  SketchConstraintEqual  -->
519       <feature id="SketchConstraintEqual" title="Equal"
520         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"
521         icon="icons/Sketch/equal.png">
522         <sketch_shape_selector id="ConstraintEntityA" 
523             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
524           <validator id="PartSet_DifferentObjects"/>
525           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
526         </sketch_shape_selector>
527         
528         <sketch_shape_selector id="ConstraintEntityB"
529             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
530           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
531           <validator id="PartSet_DifferentObjects"/>
532           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
533         </sketch_shape_selector>
534         <validator id="PartSet_EqualSelection"/>
535       </feature>
536       
537     <!--  SketchConstraintCollinear  -->
538       <!--
539       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
540         <sketch_shape_selector id="ConstraintEntityA" 
541             label="First line" tooltip="Select a line" shape_types="edge">
542           <validator id="GeomValidators_ShapeType" parameters="line"/>
543           <validator id="PartSet_DifferentObjects"/>
544         </sketch_shape_selector>
545         
546         <sketch_shape_selector id="ConstraintEntityB"
547             label="Second line" tooltip="Select a line" shape_types="edge">
548           <validator id="GeomValidators_ShapeType" parameters="line"/>
549           <validator id="PartSet_DifferentObjects"/>
550         </sketch_shape_selector>
551         <validator id="PartSet_CollinearSelection"/>
552       </feature>
553       -->
554          
555     </group>
556     
557   </workbench>
558 </plugin>