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