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