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