Salome HOME
Update B-Spline GUI
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
1 <plugin>
2   <workbench id="Sketch">
3     <group id="Linear geometry">
4       <feature
5         id="Sketch"
6         nested="SketchPoint SketchIntersectionPoint SketchLine
7                 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
8                 SketchEllipse SketchMacroEllipse SketchEllipticArc SketchMacroEllipticArc
9                 SketchBSpline SketchMacroBSpline
10                 SketchRectangle
11                 SketchProjection
12                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
13                 SketchConstraintParallel SketchConstraintPerpendicular
14                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
15                 SketchConstraintEqual SketchConstraintTangent
16                 SketchFillet SketchSplit SketchTrim
17                 SketchConstraintCoincidence SketchConstraintCoincidenceInternal
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         helpfile="SketchPlugin.html">
26         <sketch-start-label id="External" geometrical_selection="true" title="Select a plane on which to create a sketch" tooltip="Select a plane on which to create a sketch">
27           <validator id="GeomValidators_Face" parameters="plane"/>
28         </sketch-start-label>
29         <undo_label id="SolverError" isHTML="true" />
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                 helpfile="pointFeature.html">
36         <sketch-2dpoint_selector id="PointCoordinates" accept_expressions="0" title="Point" tooltip="Point coordinates"
37                                  enable_value="enable_by_preferences"/>
38         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
39       </feature>
40
41       <!-- SketchLine -->
42       <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png"
43                helpfile="lineFeature.html">
44         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
45                                  enable_value="enable_by_preferences"/>
46         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
47                                  enable_value="enable_by_preferences"/>
48         <labelvalue id="LineLength" accept_expressions="0" label="Length" default="computed" icon="icons/Sketch/distance_value.png"
49                      tooltip="Line length" obligatory="0" enable_value="false"/>
50         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
51         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
52       </feature>
53     </group>
54     <group id="Conical geometry">
55       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
56       <feature id="SketchCircle"
57                title="Circle"
58                tooltip="Create circle"
59                icon="icons/Sketch/circle.png"
60                internal="1">
61         <sketch-2dpoint_selector id="circle_center"
62                                  title="Center"
63                                  tooltip="Center coordinates"
64                                  accept_expressions="0"
65                                  enable_value="enable_by_preferences"/>
66         <labelvalue id="circle_radius"
67                     icon="icons/Sketch/radius.png"
68                     label="Radius"
69                     tooltip="Set radius"
70                     default="computed"
71                     accept_expressions="0"
72                     enable_value="enable_by_preferences">
73         </labelvalue>
74         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
75       </feature>
76       <!-- SketchMacroCircle -->
77       <feature id="SketchMacroCircle"
78                icon="icons/Sketch/circle.png"
79                title="Circle"
80                tooltip="Create circle"
81                helpfile="circleFeature.html">
82         <toolbox id="circle_type" modified_in_edit="edit_circle_type">
83           <box id="circle_type_by_center_and_passed_points"
84                icon="icons/Sketch/circle_pt_rad_32x32.png"
85                title="Center and passed points">
86             <sketch-2dpoint_selector id="center_point"
87                                      reference_attribute="center_point_ref"
88                                      title="Center point"
89                                      tooltip="Center point coordinates"
90                                      accept_expressions="0"
91                                      enable_value="enable_by_preferences"/>
92             <sketch-2dpoint_selector id="passed_point"
93                                      reference_attribute="passed_point_ref"
94                                      title="Passed point"
95                                      tooltip="Passed point coordinates"
96                                      accept_expressions="0"
97                                      enable_value="enable_by_preferences">
98               <validator id="SketchPlugin_CirclePassedPointValidator"/>
99             </sketch-2dpoint_selector>
100             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
101           </box>
102           <box id="circle_type_by_three_points"
103                icon="icons/Sketch/circle_3pt_32x32.png"
104                title="Three points">
105             <sketch-2dpoint_selector id="first_point"
106                                      reference_attribute="first_point_ref"
107                                      title="First point"
108                                      tooltip="First point"
109                                      accept_expressions="0"
110                                      enable_value="enable_by_preferences"/>
111             <sketch-2dpoint_selector id="second_point"
112                                      reference_attribute="second_point_ref"
113                                      title="Second point"
114                                      tooltip="Second point"
115                                      accept_expressions="0"
116                                      enable_value="enable_by_preferences">
117               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
118             </sketch-2dpoint_selector>
119             <sketch-2dpoint_selector id="third_point"
120                                      reference_attribute="third_point_ref"
121                                      title="Third point"
122                                      tooltip="Third point"
123                                      accept_expressions="0"
124                                      enable_value="enable_by_preferences">
125               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
126               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
127             </sketch-2dpoint_selector>
128             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
129           </box>
130         </toolbox>
131         <labelvalue id="circle_radius"
132                     icon="icons/Sketch/radius.png"
133                     label="Radius"
134                     tooltip="Set radius"
135                     default="computed"
136                     accept_expressions="0"
137                     obligatory="0"
138                     enable_value="enable_by_preferences">
139         </labelvalue>
140         <boolvalue id="Auxiliary"
141                    tooltip="Construction element"
142                    label="Auxiliary"
143                    default="false"
144                    obligatory="0"
145                    change_visual_attributes="true"/>
146       </feature>
147
148       <!-- SketchArc -->
149       <feature id="SketchArc"
150                icon="icons/Sketch/arc.png"
151                title="Arc"
152                tooltip="Create arc"
153                internal="1">
154         <sketch-2dpoint_selector id="center_point"
155                                  title="Center"
156                                  tooltip="Center of a circle"
157                                  accept_expressions="0"
158                                  enable_value="enable_by_preferences"/>
159         <sketch-2dpoint_selector id="start_point"
160                                  title="Start point"
161                                  tooltip="Start point"
162                                  accept_expressions="0"
163                                  enable_value="enable_by_preferences"/>
164         <sketch-2dpoint_selector id="end_point"
165                                  title="End point"
166                                  tooltip="End point"
167                                  accept_expressions="0"
168                                  enable_value="enable_by_preferences"/>
169         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
170         <labelvalue id="radius"
171                     icon="icons/Sketch/radius.png"
172                     label="Radius"
173                     tooltip="Set radius"
174                     accept_expressions="0"
175                     min="0"
176                     default="0"
177                     obligatory="0"
178                     enable_value="enable_by_preferences">
179         </labelvalue>
180         <labelvalue id="angle"
181                     icon="icons/Sketch/angle.png"
182                     label="Angle"
183                     tooltip="Set angle"
184                     default="0"
185                     use_reset="false"
186                     obligatory="0"
187                     enable_value="enable_by_preferences"/>
188         <boolvalue id="Auxiliary"
189                    label="Auxiliary"
190                    tooltip="Construction element"
191                    default="false"
192                    obligatory="0"
193                    change_visual_attributes="true"/>
194       </feature>
195
196       <!-- SketchMacroArc -->
197       <feature
198         id="SketchMacroArc"
199         title="Arc"
200         tooltip="Create arc"
201         icon="icons/Sketch/arc.png"
202         helpfile="arcFeature.html">
203         <toolbox id="arc_type" modified_in_edit="edit_arc_type">
204           <box id="by_center_and_points"
205                icon="icons/Sketch/arc_base_32x32.png"
206                title="Center and two points">
207             <sketch-2dpoint_selector id="center_point"
208                                      reference_attribute="center_point_ref"
209                                      title="Center point"
210                                      tooltip="Center of a circle"
211                                      accept_expressions="0"
212                                      enable_value="enable_by_preferences" />
213             <sketch-2dpoint_selector id="start_point_1"
214                                      reference_attribute="start_point_ref"
215                                      title="Start point"
216                                      tooltip="Start point"
217                                      accept_expressions="0"
218                                      enable_value="enable_by_preferences"/>
219             <sketch-2dpoint_selector id="end_point_1"
220                                      reference_attribute="end_point_ref"
221                                      title="End point"
222                                      tooltip="End point"
223                                      accept_expressions="0"
224                                      enable_value="enable_by_preferences">
225               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
226               <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
227             </sketch-2dpoint_selector>
228             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
229           </box>
230           <box id="by_three_points"
231                icon="icons/Sketch/arc_3pt_32x32.png"
232                title="Three points on arc">
233             <sketch-2dpoint_selector id="start_point_2"
234                                      reference_attribute="start_point_ref"
235                                      title="Start point"
236                                      tooltip="Start point"
237                                      accept_expressions="0"
238                                      enable_value="enable_by_preferences"/>
239             <sketch-2dpoint_selector id="end_point_2"
240                                      reference_attribute="end_point_ref"
241                                      title="End point"
242                                      tooltip="End point"
243                                      accept_expressions="0"
244                                      enable_value="enable_by_preferences">
245               <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
246               <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
247             </sketch-2dpoint_selector>
248             <sketch-2dpoint_selector id="passed_point"
249                                      reference_attribute="passed_point_ref"
250                                      title="Passed point"
251                                      tooltip="Passed point"
252                                      accept_expressions="0"
253                                      enable_value="enable_by_preferences">
254               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
255               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
256             </sketch-2dpoint_selector>
257             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
258           </box>
259           <box id="by_tangent_edge"
260                icon="icons/Sketch/arc_tang_32x32.png"
261                title="Tangent with edge">
262             <sketch_shape_selector id="tangent_point"
263                                    label="Tangent point"
264                                    tooltip="Select point on line"
265                                    shape_types="vertex">
266               <validator id="SketchPlugin_ArcTangentPoint"/>
267             </sketch_shape_selector>
268             <sketch-2dpoint_selector id="end_point_3"
269                                      reference_attribute="end_point_ref"
270                                      title="End point"
271                                      tooltip="End point"
272                                      accept_expressions="0"
273                                      enable_value="enable_by_preferences">
274               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
275             </sketch-2dpoint_selector>
276           </box>
277           <box id="by_transversal_line"
278                icon="icons/Sketch/arc_perp_32x32.png"
279                title="Perpendicular to line">
280             <sketch_shape_selector id="transversal_point"
281                                    label="Point on the perpendicular line"
282                                    tooltip="Select point on line"
283                                    shape_types="vertex">
284               <validator id="SketchPlugin_ArcTransversalPoint"/>
285             </sketch_shape_selector>
286             <sketch-2dpoint_selector id="end_point_4"
287                                      reference_attribute="end_point_ref"
288                                      title="End point"
289                                      tooltip="End point"
290                                      accept_expressions="0"
291                                      enable_value="enable_by_preferences">
292               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
293             </sketch-2dpoint_selector>
294           </box>
295         </toolbox>
296         <labelvalue id="radius"
297                     icon="icons/Sketch/radius.png"
298                     label="Radius"
299                     tooltip="Set radius"
300                     accept_expressions="0"
301                     min="0"
302                     default="0"
303                     obligatory="0"
304                     enable_value="enable_by_preferences">
305         </labelvalue>
306         <labelvalue id="angle"
307                     icon="icons/Sketch/angle.png"
308                     label="Angle"
309                     tooltip="Set angle"
310                     default="0"
311                     use_reset="false"
312                     obligatory="0"
313                     enable_value="enable_by_preferences"/>
314         <boolvalue id="Auxiliary"
315                    label="Auxiliary"
316                    tooltip="Construction element"
317                    default="false"
318                    obligatory="0"
319                    change_visual_attributes="true"/>
320       </feature>
321
322       <!--  SketchFillet  -->
323       <feature id="SketchFillet"
324                title="Fillet"
325                tooltip="Create constraint defining fillet between two connected segments"
326                icon="icons/Sketch/fillet.png"
327                helpfile="filletFeature.html">
328         <sketch_shape_selector id="fillet_point"
329                                label="Point"
330                                tooltip="Select point for fillet (should be shared by two entities only)"
331                                shape_types="vertex">
332           <validator id="SketchPlugin_FilletVertexValidator"/>
333         </sketch_shape_selector>
334         <!--<validator id="PartSet_FilletSelection"/>-->
335       </feature>
336
337       <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
338       <feature id="SketchEllipse"
339                title="Ellipse"
340                tooltip="Create ellipse"
341                icon="icons/Sketch/ellipse.png"
342                internal="1">
343         <sketch-2dpoint_selector id="ellipse_center"
344                                  title="Center"
345                                  tooltip="Center coordinates"
346                                  accept_expressions="0"
347                                  enable_value="enable_by_preferences"/>
348         <sketch-2dpoint_selector id="ellipse_first_focus"
349                                  title="First focus"
350                                  tooltip="Focus coordinates"
351                                  accept_expressions="0"
352                                  enable_value="enable_by_preferences"/>
353         <sketch-2dpoint_selector id="ellipse_second_focus"
354                                  title="Second focus"
355                                  tooltip="Focus coordinates"
356                                  accept_expressions="0"
357                                  enable_value="enable_by_preferences"/>
358         <sketch-2dpoint_selector id="ellipse_major_axis_start_point"
359                                  title="Major axis start"
360                                  tooltip="Coordinates of point on negative direction of major axis"
361                                  accept_expressions="0"
362                                  enable_value="enable_by_preferences"/>
363         <sketch-2dpoint_selector id="ellipse_major_axis_end_point"
364                                  title="Major axis end"
365                                  tooltip="Coordinates of point on positive direction of major axis"
366                                  accept_expressions="0"
367                                  enable_value="enable_by_preferences"/>
368         <sketch-2dpoint_selector id="ellipse_minor_axis_start_point"
369                                  title="Minor axis start"
370                                  tooltip="Coordinates of point on negative direction of minor axis"
371                                  accept_expressions="0"
372                                  enable_value="enable_by_preferences"/>
373         <sketch-2dpoint_selector id="ellipse_minor_axis_end_point"
374                                  title="Minor axis end"
375                                  tooltip="Coordinates of point on positive direction of minor axis"
376                                  accept_expressions="0"
377                                  enable_value="enable_by_preferences"/>
378         <labelvalue id="ellipse_major_radius"
379                     icon="icons/Sketch/radius_major.png"
380                     label="Major radius"
381                     tooltip="Set major radius"
382                     default="computed"
383                     accept_expressions="0"
384                     enable_value="enable_by_preferences">
385         </labelvalue>
386         <labelvalue id="ellipse_minor_radius"
387                     icon="icons/Sketch/radius_minor.png"
388                     label="Minor radius"
389                     tooltip="Set minor radius"
390                     default="computed"
391                     accept_expressions="0"
392                     enable_value="enable_by_preferences">
393         </labelvalue>
394         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
395       </feature>
396       <!-- SketchMacroEllipse -->
397       <feature id="SketchMacroEllipse"
398                icon="icons/Sketch/ellipse.png"
399                title="Ellipse"
400                tooltip="Create ellipse"
401                helpfile="ellipseFeature.html">
402         <toolbox id="ellipse_type" modified_in_edit="edit_ellipse_type">
403           <box id="by_center_axis_point"
404                icon="icons/Sketch/ellipse_cent_rad_32x32.png"
405                title="Center, major semi-axis and passing point">
406             <sketch-2dpoint_selector id="first_point"
407                                      reference_attribute="first_point_ref"
408                                      title="Center point"
409                                      tooltip="Center point coordinates"
410                                      accept_expressions="0"
411                                      enable_value="enable_by_preferences"/>
412             <sketch-2dpoint_selector id="second_point"
413                                      reference_attribute="second_point_ref"
414                                      title="Major axis point"
415                                      tooltip="Major axis point coordinates"
416                                      accept_expressions="0"
417                                      enable_value="enable_by_preferences"/>
418             <sketch-2dpoint_selector id="passed_point"
419                                      reference_attribute="passed_point_ref"
420                                      title="Passed point"
421                                      tooltip="Passed point coordinates"
422                                      accept_expressions="0"
423                                      enable_value="enable_by_preferences"/>
424           </box>
425           <box id="by_major_axis_and_point"
426                icon="icons/Sketch/ellipse_axes_32x32.png"
427                title="Major axis and passing point">
428             <sketch-2dpoint_selector id="first_point_1"
429                                      reference_attribute="first_point_ref_1"
430                                      title="Major axis start point"
431                                      tooltip="Major axis start point coordinates"
432                                      accept_expressions="0"
433                                      enable_value="enable_by_preferences"/>
434             <sketch-2dpoint_selector id="second_point_1"
435                                      reference_attribute="second_point_ref_1"
436                                      title="Major axis end point"
437                                      tooltip="Major axis end point coordinates"
438                                      accept_expressions="0"
439                                      enable_value="enable_by_preferences"/>
440             <sketch-2dpoint_selector id="passed_point_1"
441                                      reference_attribute="passed_point_ref_1"
442                                      title="Passed point"
443                                      tooltip="Passed point coordinates"
444                                      accept_expressions="0"
445                                      enable_value="enable_by_preferences"/>
446           </box>
447         </toolbox>
448         <labelvalue id="major_radius"
449                     icon="icons/Sketch/radius_major.png"
450                     label="Major radius"
451                     tooltip="Set major radius"
452                     default="computed"
453                     accept_expressions="0"
454                     obligatory="0"
455                     enable_value="enable_by_preferences">
456         </labelvalue>
457         <labelvalue id="minor_radius"
458                     icon="icons/Sketch/radius_minor.png"
459                     label="Minor radius"
460                     tooltip="Set minor radius"
461                     default="computed"
462                     accept_expressions="0"
463                     obligatory="0"
464                     enable_value="enable_by_preferences">
465         </labelvalue>
466         <boolvalue id="Auxiliary"
467                    tooltip="Construction element"
468                    label="Auxiliary"
469                    default="false"
470                    obligatory="0"
471                    change_visual_attributes="true"/>
472       </feature>
473
474       <!-- SketchEllipticArc is a hidden feature. It is created inside SketchMacroEllipse. -->
475       <feature id="SketchEllipticArc"
476                title="Elliptic arc"
477                tooltip="Create elliptic arc"
478                icon="icons/Sketch/elliptic_arc.png"
479                internal="1">
480         <sketch-2dpoint_selector id="ellipse_center"
481                                  title="Center"
482                                  tooltip="Center coordinates"
483                                  accept_expressions="0"
484                                  enable_value="enable_by_preferences"/>
485         <sketch-2dpoint_selector id="ellipse_first_focus"
486                                  title="First focus"
487                                  tooltip="Focus coordinates"
488                                  accept_expressions="0"
489                                  enable_value="enable_by_preferences"/>
490         <sketch-2dpoint_selector id="ellipse_second_focus"
491                                  title="Second focus"
492                                  tooltip="Focus coordinates"
493                                  accept_expressions="0"
494                                  enable_value="enable_by_preferences"/>
495         <sketch-2dpoint_selector id="ellipse_major_axis_start_point"
496                                  title="Major axis start"
497                                  tooltip="Coordinates of point on negative direction of major axis"
498                                  accept_expressions="0"
499                                  enable_value="enable_by_preferences"/>
500         <sketch-2dpoint_selector id="ellipse_major_axis_end_point"
501                                  title="Major axis end"
502                                  tooltip="Coordinates of point on positive direction of major axis"
503                                  accept_expressions="0"
504                                  enable_value="enable_by_preferences"/>
505         <sketch-2dpoint_selector id="ellipse_minor_axis_start_point"
506                                  title="Minor axis start"
507                                  tooltip="Coordinates of point on negative direction of minor axis"
508                                  accept_expressions="0"
509                                  enable_value="enable_by_preferences"/>
510         <sketch-2dpoint_selector id="ellipse_minor_axis_end_point"
511                                  title="Minor axis end"
512                                  tooltip="Coordinates of point on positive direction of minor axis"
513                                  accept_expressions="0"
514                                  enable_value="enable_by_preferences"/>
515         <sketch-2dpoint_selector id="start_point"
516                                  title="Start point"
517                                  tooltip="Arc start point coordinates"
518                                  accept_expressions="0"
519                                  enable_value="enable_by_preferences"/>
520         <sketch-2dpoint_selector id="end_point"
521                                  title="End point"
522                                  tooltip="Arc end point coordinates"
523                                  accept_expressions="0"
524                                  enable_value="enable_by_preferences"/>
525         <labelvalue id="ellipse_major_radius"
526                     icon="icons/Sketch/radius_major.png"
527                     label="Major radius"
528                     tooltip="Set major radius"
529                     default="computed"
530                     accept_expressions="0"
531                     enable_value="enable_by_preferences">
532         </labelvalue>
533         <labelvalue id="ellipse_minor_radius"
534                     icon="icons/Sketch/radius_minor.png"
535                     label="Minor radius"
536                     tooltip="Set minor radius"
537                     default="computed"
538                     accept_expressions="0"
539                     enable_value="enable_by_preferences">
540         </labelvalue>
541         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
542       </feature>
543       <!-- SketchMacroEllipticArc -->
544       <feature id="SketchMacroEllipticArc"
545                icon="icons/Sketch/elliptic_arc.png"
546                title="Elliptic arc"
547                tooltip="Create elliptic arc"
548                helpfile="ellipseFeature.html">
549         <sketch-2dpoint_selector id="center"
550                                  reference_attribute="center_ref"
551                                  title="Center point"
552                                  tooltip="Center point coordinates"
553                                  accept_expressions="0"
554                                  enable_value="enable_by_preferences"/>
555         <sketch-2dpoint_selector id="major_axis_point"
556                                  reference_attribute="major_axis_point_ref"
557                                  title="Major axis point"
558                                  tooltip="Major axis point coordinates"
559                                  accept_expressions="0"
560                                  enable_value="enable_by_preferences"/>
561         <sketch-2dpoint_selector id="start_point"
562                                  reference_attribute="start_point_ref"
563                                  title="Start point"
564                                  tooltip="Arc start point coordinates"
565                                  accept_expressions="0"
566                                  enable_value="enable_by_preferences"/>
567         <sketch-2dpoint_selector id="end_point"
568                                  reference_attribute="end_point_ref"
569                                  title="End point"
570                                  tooltip="Arc end point coordinates"
571                                  accept_expressions="0"
572                                  enable_value="enable_by_preferences"/>
573         <labelvalue id="major_radius"
574                     icon="icons/Sketch/radius_major.png"
575                     label="Major radius"
576                     tooltip="Set major radius"
577                     default="computed"
578                     accept_expressions="0"
579                     obligatory="0"
580                     enable_value="enable_by_preferences">
581         </labelvalue>
582         <labelvalue id="minor_radius"
583                     icon="icons/Sketch/radius_minor.png"
584                     label="Minor radius"
585                     tooltip="Set minor radius"
586                     default="computed"
587                     accept_expressions="0"
588                     obligatory="0"
589                     enable_value="enable_by_preferences">
590         </labelvalue>
591         <boolvalue id="Auxiliary"
592                    tooltip="Construction element"
593                    label="Auxiliary"
594                    default="false"
595                    obligatory="0"
596                    change_visual_attributes="true"/>
597       </feature>
598     </group>
599
600     <group id="Parametric curves">
601       <!-- SketchBSpline is a hidden feature. It is created inside SketchMacroBSpline. -->
602       <feature id="SketchBSpline"
603                title="B-spline"
604                tooltip="Create B-spline curve"
605                icon="icons/Sketch/bspline.png"
606                helpfile="bsplineFeature.html"
607                internal="1">
608         <bspline-panel id="poles"
609                        weights="weights"
610                        title="Poles and weights"
611                        tooltip="B-spline poles and weights"
612                        enable_value="enable_by_preferences">
613           <validator id="SketchPlugin_BSplineValidator"/>
614         </bspline-panel>
615         <boolvalue id="Auxiliary"
616                    label="Auxiliary"
617                    default="false"
618                    tooltip="Construction element"
619                    obligatory="0"
620                    change_visual_attributes="true"/>
621       </feature>
622
623       <!-- SketchMacroBSpline -->
624       <feature id="SketchMacroBSpline"
625                title="B-spline"
626                tooltip="Create B-spline curve"
627                icon="icons/Sketch/bspline.png"
628                helpfile="bsplineFeature.html">
629         <sketch-bspline_selector id="poles"
630                                  weights="weights"
631                                  reference_attribute="poles_ref"
632                                  title="Poles and weights"
633                                  tooltip="B-spline poles and weights"
634                                  enable_value="enable_by_preferences">
635           <validator id="SketchPlugin_BSplineValidator"/>
636         </sketch-bspline_selector>
637         <boolvalue id="need_control_poly"
638                    label="Create control polygon"
639                    default="true"
640                    tooltip="Specify if the control polygon should be created"/>
641         <boolvalue id="Auxiliary"
642                    label="Auxiliary"
643                    default="false"
644                    tooltip="Construction element"
645                    obligatory="0"
646                    change_visual_attributes="true"/>
647       </feature>
648     </group>
649
650     <group id="Segmentation">
651       <!--  SketchSplit  -->
652       <feature id="SketchSplit" title="Split"
653                tooltip="Cut selected segment arc or circle on existing coincident points"
654                icon="icons/Sketch/split.png"
655                helpfile="splitFeature.html">
656         <sketch_feature_point_selector
657             id="SelectedObject"
658             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
659             label="Segment"
660             tooltip="Select segment for split"
661             shape_types="edge"
662             use_external="false">
663           <validator id="SketchPlugin_SplitValidator"/>
664         </sketch_feature_point_selector>
665         <validator id="PartSet_SplitSelection"/>
666       </feature>
667       <!--  SketchTrim  -->
668       <feature id="SketchTrim" title="Trim"
669                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
670                icon="icons/Sketch/trim.png"
671                helpfile="trimFeature.html">
672         <sketch_feature_point_selector
673             id="SelectedObject"
674             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
675             label="Segment"
676             tooltip="Select segment for trim"
677             shape_types="edge"
678             use_external="false">
679           <validator id="SketchPlugin_TrimValidator"/>
680         </sketch_feature_point_selector>
681         <validator id="PartSet_SplitSelection"/>
682       </feature>
683     </group>
684
685     <group id="Projection">
686       <!-- Projected feature -->
687       <feature
688         id="SketchProjection"
689         title="Projection"
690         tooltip="Project feature onto sketch plane"
691         icon="icons/Sketch/projection.png"
692         helpfile="projectionFeature.html">
693         <sketch_shape_selector
694               id="ExternalFeature"
695               label="Object"
696               tooltip="Select external edge or vertex."
697               shape_types="edge vertex"
698               use_external="true"
699               can_create_external="false"
700               use_sketch_plane="false">
701           <validator id="SketchPlugin_ProjectionValidator"/>
702         </sketch_shape_selector>
703         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"
704                    change_visual_attributes="true"/>
705         <validator id="PartSet_ProjectionSelection"/>
706       </feature>
707
708       <!-- Intersection Point -->
709       <feature
710         id="SketchIntersectionPoint"
711         title="Intersection"
712         tooltip="Intersect edge with sketch plane"
713         icon="icons/Sketch/intersection.png"
714         helpfile="intersectionFeature.html">
715         <sketch_shape_selector
716               id="ExternalFeature"
717               label="Object"
718               tooltip="Select external edge."
719               shape_types="edge"
720               use_external="true"
721               can_create_external="false"
722               use_sketch_plane="false">
723           <validator id="SketchPlugin_IntersectionValidator"/>
724         </sketch_shape_selector>
725         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"
726                    change_visual_attributes="true"/>
727         <validator id="PartSet_IntersectionSelection"/>
728       </feature>
729     </group>
730
731     <group id="Replication">
732       <!--  SketchConstraintMirror  -->
733       <feature
734         id="SketchConstraintMirror"
735         title="Mirror copy" icon="icons/Sketch/mirror.png"
736         tooltip="Create constraint, mirroring group of objects"
737         helpfile="mirrorFeature.html">
738         <sketch_shape_selector id="ConstraintEntityA"
739             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
740           <validator id="GeomValidators_ShapeType" parameters="line"/>
741           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
742         </sketch_shape_selector>
743         <sketch_multi_selector id="ConstraintMirrorList"
744             label="Segments"
745             tooltip="Select list of objects to be mirrored"
746             shape_types="Edges"
747             use_external="true"
748             greed ="true">
749           <validator id="SketchPlugin_MirrorAttr" />
750         </sketch_multi_selector>
751         <validator id="PartSet_MultyTranslationSelection" />
752       </feature>
753
754       <!--  SketchMultiTranslation  -->
755       <feature
756         id="SketchMultiTranslation"
757         title="Linear copy" icon="icons/Sketch/translate.png"
758         tooltip="Copy objects and move"
759         helpfile="translationFeature.html">
760         <sketch_multi_selector id="MultiTranslationList"
761             label="Segments"
762             tooltip="Select list of objects to be translated"
763             shape_types="Edges"
764             use_external="true"
765             greed ="true">
766           <validator id="SketchPlugin_CopyValidator" />
767         </sketch_multi_selector>
768         <toolbox id="ValueType">
769           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
770             <groupbox title="Direction">
771               <sketch_shape_selector
772                     id="MultiTranslationStartPoint"
773                     label="Start point"
774                     tooltip="Start point of translation"
775                     shape_types="vertex">
776                 <validator id="PartSet_DifferentObjects"/>
777                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
778                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
779               </sketch_shape_selector>
780               <sketch_shape_selector
781                     id="MultiTranslationEndPoint"
782                     label="End point"
783                     tooltip="Final point of translation"
784                     shape_types="vertex">
785                 <validator id="PartSet_DifferentObjects"/>
786                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
787                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
788               </sketch_shape_selector>
789             </groupbox>
790           </box>
791           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
792             <groupbox title="Direction">
793               <sketch_shape_selector
794                     id="MultiTranslationStartPoint"
795                     label="Start point"
796                     tooltip="Start point of translation"
797                     shape_types="vertex">
798                 <validator id="PartSet_DifferentObjects"/>
799                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
800                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
801               </sketch_shape_selector>
802               <sketch_shape_selector
803                     id="MultiTranslationEndPoint"
804                     label="End point"
805                     tooltip="Final point of translation"
806                     shape_types="vertex">
807                 <validator id="PartSet_DifferentObjects"/>
808                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
809                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
810               </sketch_shape_selector>
811             </groupbox>
812           </box>
813         </toolbox>
814         <integervalue id="MultiTranslationObjects"
815             label="Total number of objects"
816             tooltip="Total number of objects"
817             default="2" min="2" use_reset="false">
818           <validator id="GeomValidators_Positive" parameters="1"/>
819         </integervalue>
820         <validator id="PartSet_MultyTranslationSelection" />
821       </feature>
822
823       <!--  SketchMultiRotation  -->
824       <feature
825         id="SketchMultiRotation"
826         title="Angular copy" icon="icons/Sketch/rotate.png"
827         tooltip="Copy objects and rotate"
828         helpfile="rotationFeature.html">
829         <sketch_multi_selector id="MultiRotationList"
830             label="Segments"
831             tooltip="Select list of objects to be rotated"
832             shape_types="Edges"
833             use_external="true"
834             greed ="true">
835           <validator id="SketchPlugin_CopyValidator" />
836         </sketch_multi_selector>
837         <sketch_shape_selector
838               id="MultiRotationCenter"
839               label="Center of rotation"
840               tooltip="Center of rotation"
841               shape_types="vertex">
842           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
843           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
844         </sketch_shape_selector>
845         <toolbox id="AngleType">
846           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
847             <doublevalue id="MultiRotationAngle"
848                          label="Angle"
849                          icon="icons/Sketch/angle.png"
850                          tooltip="Rotation angle"
851                          default="360" min="0" max="360"
852                          use_reset="false">
853               <validator id="SketchPlugin_MultiRotationAngleValidator" />
854             </doublevalue>
855             <boolvalue id="MultiRotationReversed"
856                        label="Reversed"
857                        tooltip="Reverse angular copy"
858                        default="false"
859                        obligatory="0"/>
860           </box>
861           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
862             <doublevalue id="MultiRotationAngle"
863                          label="Angle"
864                          icon="icons/Sketch/angle.png"
865                          tooltip="Rotation angle"
866                          default="90" min="0" max="360"
867                          use_reset="false">
868               <validator id="SketchPlugin_MultiRotationAngleValidator" />
869             </doublevalue>
870             <boolvalue id="MultiRotationReversed"
871                        label="Reversed"
872                        tooltip="Reverse angular copy"
873                        default="false"
874                        obligatory="0"/>
875           </box>
876         </toolbox>
877         <integervalue id="MultiRotationObjects"
878             label="Total number of objects"
879             tooltip="Total number of objects"
880             default="4" min="2" use_reset="false">
881           <validator id="GeomValidators_Positive" parameters="1"/>
882         </integervalue>
883         <validator id="PartSet_MultyTranslationSelection" />
884       </feature>
885     </group>
886
887     <group id="Dimensional constraints">
888       <!--  SketchConstraintDistance  -->
889       <feature
890         id="SketchConstraintDistance"
891         title="Distance"
892         tooltip="Set fixed distance from a point to an object"
893         icon="icons/Sketch/distance.png"
894         helpfile="distanceFeature.html">
895         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
896         <sketch_shape_selector
897               id="ConstraintEntityA"
898               label="First object"
899               tooltip="Select point, line end point, line, center of circle or arc."
900               shape_types="edge vertex">
901           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
902           <validator id="PartSet_DifferentObjects"/>
903           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
904         </sketch_shape_selector>
905         <sketch_shape_selector
906           id="ConstraintEntityB"
907           label="Second object"
908           tooltip="Select point, line end point, line, center of circle or arc."
909           shape_types="edge vertex">
910           <validator id="PartSet_DifferentObjects"/>
911           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
912           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
913           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
914         </sketch_shape_selector>
915         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
916
917         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
918           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
919         </doublevalue_editor>
920
921         <module_choice id="LocationType"
922           widget_type="radiobuttons"
923           buttons_dir="horizontal"
924           label="Text location"
925           tooltip="Relative location of the text"
926           string_list="Left Automatic Right"
927           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
928           default="1"
929           />
930
931         <boolvalue id="SignedDistance" label="Keep orientation" default="true" tooltip="Keep distance orientation" obligatory="0"/>
932         <validator id="PartSet_DistanceSelection"/>
933       </feature>
934
935       <!--  SketchConstraintDistanceHorizontal  -->
936       <feature
937         id="SketchConstraintDistanceHorizontal"
938         title="Horizontal Distance"
939         tooltip="Set horizontal distance between two points"
940         icon="icons/Sketch/distance_h.png"
941         helpfile="horizontalDistFeature.html">
942         <label title="Select points for distance definition."/>
943         <sketch_shape_selector
944               id="ConstraintEntityA"
945               label="First point"
946               tooltip="Select point."
947               shape_types="vertex">
948           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
949           <validator id="PartSet_DifferentObjects"/>
950           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
951         </sketch_shape_selector>
952         <sketch_shape_selector
953           id="ConstraintEntityB"
954           label="Second point"
955           tooltip="Select point."
956           shape_types="vertex">
957           <validator id="PartSet_DifferentObjects"/>
958           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
959           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
960         </sketch_shape_selector>
961         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
962
963         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
964           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
965         </doublevalue_editor>
966
967         <module_choice id="LocationType"
968           widget_type="radiobuttons"
969           buttons_dir="horizontal"
970           label="Text location"
971           tooltip="Relative location of the text"
972           string_list="Left Automatic Right"
973           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
974           default="1"
975           />
976
977         <validator id="PartSet_DistanceSelection"/>
978       </feature>
979
980       <!--  SketchConstraintDistanceVertical  -->
981       <feature
982         id="SketchConstraintDistanceVertical"
983         title="Vertical Distance"
984         tooltip="Set vertical distance between two points"
985         icon="icons/Sketch/distance_v.png"
986         helpfile="verticalDistFeature.html">
987         <label title="Select points for distance definition."/>
988         <sketch_shape_selector
989               id="ConstraintEntityA"
990               label="First point"
991               tooltip="Select point."
992               shape_types="vertex">
993           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
994           <validator id="PartSet_DifferentObjects"/>
995           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
996         </sketch_shape_selector>
997         <sketch_shape_selector
998           id="ConstraintEntityB"
999           label="Second point"
1000           tooltip="Select point."
1001           shape_types="vertex">
1002           <validator id="PartSet_DifferentObjects"/>
1003           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1004           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
1005         </sketch_shape_selector>
1006         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1007
1008         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
1009           <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
1010         </doublevalue_editor>
1011
1012         <module_choice id="LocationType"
1013           widget_type="radiobuttons"
1014           buttons_dir="horizontal"
1015           label="Text location"
1016           tooltip="Relative location of the text"
1017           string_list="Left Automatic Right"
1018           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1019           default="1"
1020           />
1021
1022         <validator id="PartSet_DistanceSelection"/>
1023       </feature>
1024
1025       <!--  SketchConstraintLength  -->
1026       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png"
1027                helpfile="lengthFeature.html">
1028         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
1029         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
1030           <validator id="GeomValidators_ShapeType" parameters="line"/>
1031           <validator id="SketchPlugin_SketchFeatureValidator"/>
1032         </shape_selector>
1033         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
1034         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
1035           <validator id="GeomValidators_Positive"/>
1036         </doublevalue_editor>
1037         <module_choice id="LocationType"
1038           widget_type="radiobuttons"
1039           buttons_dir="horizontal"
1040           label="Text location"
1041           tooltip="Relative location of the text"
1042           string_list="Left Automatic Right"
1043           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1044           default="1"
1045           />
1046         <validator id="PartSet_LengthSelection"/>
1047       </feature>
1048
1049       <!--  SketchConstraintAngle  -->
1050       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png"
1051                helpfile="angleFeature.html">
1052         <sketch_feature_point_selector
1053             id="ConstraintEntityA"
1054             selection_attributes="ConstraintEntityA SelectedPointA"
1055             label="Line 1"
1056             tooltip="Select a line"
1057             shape_types="edge"
1058             use_external="true">
1059           <validator id="GeomValidators_ShapeType" parameters="line"/>
1060           <validator id="PartSet_DifferentObjects"/>
1061           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1062         </sketch_feature_point_selector>
1063         <sketch_feature_point_selector
1064             id="ConstraintEntityB"
1065             selection_attributes="ConstraintEntityB SelectedPointB"
1066             label="Line 2"
1067             tooltip="Select a line"
1068             shape_types="edge"
1069             use_external="true">
1070           <validator id="GeomValidators_ShapeType" parameters="line"/>
1071           <validator id="PartSet_DifferentObjects"/>
1072           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1073         </sketch_feature_point_selector>
1074         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1075         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
1076         <validator id="PartSet_AngleSelection"/>
1077         <module_choice id="AngleType"
1078           widget_type="radiobuttons"
1079           buttons_dir="horizontal"
1080           label="Angle type"
1081           tooltip="Type of angle"
1082           string_list="Direct Complementary Additional"
1083           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
1084           default="0"
1085           />
1086
1087         <module_choice id="LocationType"
1088           widget_type="radiobuttons"
1089           buttons_dir="horizontal"
1090           label="Text location"
1091           tooltip="Relative location of the text"
1092           string_list="Left Automatic Right"
1093           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1094           default="1"
1095           />
1096
1097       </feature>
1098
1099       <!--  SketchConstraintRadius  -->
1100       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png"
1101                helpfile="radiusFeature.html">
1102         <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"/>
1103         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
1104             shape_types="edge">
1105           <validator id="GeomValidators_ShapeType" parameters="circle"/>
1106         </shape_selector>
1107         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
1108         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
1109           <validator id="GeomValidators_Positive"/>
1110         </doublevalue_editor>
1111
1112         <module_choice id="LocationType"
1113           widget_type="radiobuttons"
1114           buttons_dir="horizontal"
1115           label="Text location"
1116           tooltip="Relative location of the text"
1117           string_list="Left Automatic Right"
1118           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
1119           default="1"
1120           />
1121
1122         <validator id="PartSet_RadiusSelection"/>
1123       </feature>
1124
1125     </group>
1126
1127     <group id="Geometrical constraints">
1128
1129       <!--  SketchConstraintHorizontal  -->
1130       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png"
1131                helpfile="horizontalFeature.html">
1132         <sketch_shape_selector id="ConstraintEntityA"
1133             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
1134           <validator id="GeomValidators_ShapeType" parameters="line"/>
1135           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
1136         </sketch_shape_selector>
1137         <validator id="PartSet_HVDirSelection"/>
1138       </feature>
1139
1140       <!--  SketchConstraintVertical  -->
1141       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png"
1142                helpfile="verticalFeature.html">
1143         <sketch_shape_selector id="ConstraintEntityA"
1144             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
1145           <validator id="GeomValidators_ShapeType" parameters="line"/>
1146           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
1147         </sketch_shape_selector>
1148         <validator id="PartSet_HVDirSelection"/>
1149       </feature>
1150
1151       <!--  SketchConstraintRigid  -->
1152       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png"
1153                helpfile="rigidFeature.html">
1154         <sketch_shape_selector id="ConstraintEntityA" label="Object"
1155                         tooltip="Select point, curve or its boundary point."
1156                         shape_types="edge vertex">
1157           <validator id="GeomValidators_ShapeType" parameters="vertex,edge"/>
1158           <validator id="SketchPlugin_NotFixed"/>
1159         </sketch_shape_selector>
1160         <validator id="PartSet_RigidSelection"/>
1161       </feature>
1162
1163       <!--  SketchConstraintParallel  -->
1164       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
1165                icon="icons/Sketch/parallel.png" helpfile="parallelFeature.html">
1166         <sketch_shape_selector id="ConstraintEntityA"
1167             label="First line" tooltip="Select a line" shape_types="edge">
1168           <validator id="GeomValidators_ShapeType" parameters="line"/>
1169           <validator id="PartSet_DifferentObjects"/>
1170           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1171         </sketch_shape_selector>
1172
1173         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
1174             shape_types="edge">
1175             <validator id="GeomValidators_ShapeType" parameters="line"/>
1176             <validator id="PartSet_DifferentObjects"/>
1177             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1178         </sketch_shape_selector>
1179         <validator id="PartSet_ParallelSelection"/>
1180       </feature>
1181
1182       <!--  SketchConstraintPerpendicular  -->
1183       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
1184                tooltip="Create constraint defining two orthogonal objects"
1185                icon="icons/Sketch/perpendicular.png"
1186                helpfile="perpendicularFeature.html">
1187         <sketch_shape_selector id="ConstraintEntityA"
1188             label="First object" tooltip="Select line or arc"
1189             shape_types="edge">
1190           <validator id="PartSet_DifferentObjects"/>
1191           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1192           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityB"/>
1193           <validator id="GeomValidators_ShapeType" parameters="edge"/>
1194         </sketch_shape_selector>
1195
1196         <sketch_shape_selector id="ConstraintEntityB"
1197             label="Second object" tooltip="Select line or arc"
1198             shape_types="edge">
1199           <validator id="PartSet_DifferentObjects"/>
1200           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1201           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityA"/>
1202           <validator id="GeomValidators_ShapeType" parameters="edge"/>
1203         </sketch_shape_selector>
1204         <validator id="PartSet_PerpendicularSelection"/>
1205       </feature>
1206
1207       <!--  SketchConstraintTangent  -->
1208       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two segments with common coincident point" icon="icons/Sketch/tangent.png"
1209                helpfile="tangentFeature.html">
1210         <sketch_shape_selector id="ConstraintEntityA"
1211             label="First object" tooltip="Select line or arc" shape_types="edge">
1212           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
1213           <validator id="PartSet_DifferentObjects"/>
1214         </sketch_shape_selector>
1215
1216         <sketch_shape_selector id="ConstraintEntityB"
1217             label="Second object" tooltip="Select line or arc" shape_types="edge">
1218           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
1219           <validator id="PartSet_DifferentObjects"/>
1220         </sketch_shape_selector>
1221         <validator id="PartSet_TangentSelection"/>
1222       </feature>
1223
1224       <!--  SketchConstraintCoincidence  -->
1225       <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"
1226                helpfile="coincedenceFeature.html">
1227         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
1228           <validator id="PartSet_DifferentObjects"/>
1229           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1230         </sketch_shape_selector>
1231         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
1232           <validator id="PartSet_DifferentObjects"/>
1233           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1234           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
1235         </sketch_shape_selector>
1236         <validator id="PartSet_CoincidentSelection"/>
1237       </feature>
1238       <!--  SketchConstraintCoincidenceInternal  -->
1239       <feature id="SketchConstraintCoincidenceInternal" title="Internal Coincidence" tooltip="Internal coincidence" icon="icons/Sketch/coincedence.png"
1240                helpfile="coincedenceFeature.html" internal="1">
1241         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex">
1242           <validator id="PartSet_DifferentObjects"/>
1243           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1244         </sketch_shape_selector>
1245         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex">
1246           <validator id="PartSet_DifferentObjects"/>
1247           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1248           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
1249         </sketch_shape_selector>
1250         <validator id="PartSet_CoincidentSelection"/>
1251       </feature>
1252
1253       <!--  SketchConstraintMiddle  -->
1254       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line"
1255                icon="icons/Sketch/middlepoint.png"
1256                helpfile="middleFeature.html">
1257         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
1258           <validator id="PartSet_DifferentObjects"/>
1259           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1260           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
1261         </sketch_shape_selector>
1262         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
1263           <validator id="PartSet_DifferentObjects"/>
1264           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1265           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
1266         </sketch_shape_selector>
1267         <validator id="PartSet_MiddlePointSelection"/>
1268       </feature>
1269
1270       <!--  SketchConstraintEqual  -->
1271       <feature id="SketchConstraintEqual" title="Equal"
1272         tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radiuses of two arcs or two circles or arc and circle"
1273         icon="icons/Sketch/equal.png"
1274                helpfile="equalFeature.html">
1275         <sketch_shape_selector id="ConstraintEntityA"
1276             label="First object" tooltip="Select edge" shape_types="edge">
1277           <validator id="PartSet_DifferentObjects"/>
1278           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1279         </sketch_shape_selector>
1280
1281         <sketch_shape_selector id="ConstraintEntityB"
1282             label="Second object" tooltip="Select edge" shape_types="edge">
1283           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
1284           <validator id="PartSet_DifferentObjects"/>
1285           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1286         </sketch_shape_selector>
1287         <validator id="PartSet_EqualSelection"/>
1288       </feature>
1289
1290       <!--  SketchConstraintCollinear  -->
1291       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines"
1292                icon="icons/Sketch/collinear.png"
1293                helpfile="collinearFeature.html">
1294         <sketch_shape_selector id="ConstraintEntityA"
1295             label="First line" tooltip="Select a line" shape_types="edge">
1296           <validator id="GeomValidators_ShapeType" parameters="line"/>
1297           <validator id="PartSet_DifferentObjects"/>
1298         </sketch_shape_selector>
1299
1300         <sketch_shape_selector id="ConstraintEntityB"
1301             label="Second line" tooltip="Select a line" shape_types="edge">
1302           <validator id="GeomValidators_ShapeType" parameters="line"/>
1303           <validator id="PartSet_DifferentObjects"/>
1304         </sketch_shape_selector>
1305         <validator id="PartSet_CollinearSelection"/>
1306       </feature>
1307     </group>
1308   </workbench>
1309 </plugin>