Salome HOME
Task 2.11. Ability to impose a midpoint on an arc (refers issue #3002)
[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                 SketchRectangle
9                 SketchProjection
10                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
11                 SketchConstraintParallel SketchConstraintPerpendicular
12                 SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
13                 SketchConstraintEqual SketchConstraintTangent
14                 SketchFillet SketchSplit SketchTrim
15                 SketchConstraintCoincidence
16                 SketchConstraintMirror SketchConstraintAngle
17                 SketchMultiRotation SketchMultiTranslation
18                 SketchConstraintCollinear SketchConstraintMiddle"
19         when_nested="accept abort"
20         title="Sketch"
21         tooltip="Create sketch"
22         icon="icons/Sketch/sketch.png"
23         helpfile="SketchPlugin.html">
24         <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">
25           <validator id="GeomValidators_Face" parameters="plane"/>
26         </sketch-start-label>
27         <label id="SolverDOF"/>
28         <label id="SolverError" styleSheet="color : red; font : bold"/>
29         <validator id="SketchPlugin_SolverErrorValidator"/>
30       </feature>
31
32       <!-- SketchPoint -->
33       <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png"
34                 helpfile="pointFeature.html">
35         <sketch-2dpoint_selector id="PointCoordinates" accept_expressions="0" title="Point" tooltip="Point coordinates"
36                                  enable_value="enable_by_preferences"/>
37         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
38       </feature>
39
40       <!-- SketchLine -->
41       <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png"
42                helpfile="lineFeature.html">
43         <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
44                                  enable_value="enable_by_preferences"/>
45         <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
46                                  enable_value="enable_by_preferences"/>
47         <labelvalue id="LineLength" accept_expressions="0" label="Length:" default="computed" icon="icons/Sketch/distance_value.png"
48                      tooltip="Line length" obligatory="0" enable_value="false"/>
49         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
50         <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
51       </feature>
52     </group>
53     <group id="Circular geometry">
54       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
55       <feature id="SketchCircle"
56                title="Circle"
57                tooltip="Create circle"
58                icon="icons/Sketch/circle.png"
59                internal="1">
60         <sketch-2dpoint_selector id="circle_center"
61                                  title="Center"
62                                  tooltip="Center coordinates"
63                                  accept_expressions="0"
64                                  enable_value="enable_by_preferences"/>
65         <labelvalue id="circle_radius"
66                     icon="icons/Sketch/radius.png"
67                     label="Radius:"
68                     tooltip="Set radius"
69                     default="computed"
70                     accept_expressions="0"
71                     enable_value="enable_by_preferences">
72         </labelvalue>
73         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
74       </feature>
75       <!-- SketchMacroCircle -->
76       <feature id="SketchMacroCircle"
77                icon="icons/Sketch/circle.png"
78                title="Circle"
79                tooltip="Create circle"
80                helpfile="circleFeature.html">
81         <toolbox id="circle_type" modified_in_edit="edit_circle_type">
82           <box id="circle_type_by_center_and_passed_points"
83                icon="icons/Sketch/circle_pt_rad_32x32.png"
84                title="Center and passed points">
85             <sketch-2dpoint_selector id="center_point"
86                                      reference_attribute="center_point_ref"
87                                      title="Center point"
88                                      tooltip="Center point coordinates"
89                                      accept_expressions="0"
90                                      enable_value="enable_by_preferences"/>
91             <sketch-2dpoint_selector id="passed_point"
92                                      reference_attribute="passed_point_ref"
93                                      title="Passed point"
94                                      tooltip="Passed point coordinates"
95                                      accept_expressions="0"
96                                      enable_value="enable_by_preferences">
97               <validator id="SketchPlugin_CirclePassedPointValidator"/>
98             </sketch-2dpoint_selector>
99             <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
100           </box>
101           <box id="circle_type_by_three_points"
102                icon="icons/Sketch/circle_3pt_32x32.png"
103                title="Three points">
104             <sketch-2dpoint_selector id="first_point"
105                                      reference_attribute="first_point_ref"
106                                      title="First point"
107                                      tooltip="First point"
108                                      accept_expressions="0"
109                                      enable_value="enable_by_preferences"/>
110             <sketch-2dpoint_selector id="second_point"
111                                      reference_attribute="second_point_ref"
112                                      title="Second point"
113                                      tooltip="Second point"
114                                      accept_expressions="0"
115                                      enable_value="enable_by_preferences">
116               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
117             </sketch-2dpoint_selector>
118             <sketch-2dpoint_selector id="third_point"
119                                      reference_attribute="third_point_ref"
120                                      title="Third point"
121                                      tooltip="Third point"
122                                      accept_expressions="0"
123                                      enable_value="enable_by_preferences">
124               <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
125               <validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
126             </sketch-2dpoint_selector>
127             <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
128           </box>
129         </toolbox>
130         <labelvalue id="circle_radius"
131                     icon="icons/Sketch/radius.png"
132                     label="Radius:"
133                     tooltip="Set radius"
134                     default="computed"
135                     accept_expressions="0"
136                     obligatory="0"
137                     enable_value="enable_by_preferences">
138           <validator id="GeomValidators_Positive"/>
139         </labelvalue>
140         <boolvalue id="Auxiliary"
141                    tooltip="Construction element"
142                    label="Auxiliary"
143                    default="false"
144                    obligatory="0"/>
145       </feature>
146
147       <!-- SketchArc -->
148       <feature id="SketchArc"
149                icon="icons/Sketch/arc.png"
150                title="Arc"
151                tooltip="Create arc"
152                internal="1">
153         <sketch-2dpoint_selector id="center_point"
154                                  title="Center"
155                                  tooltip="Center of a circle"
156                                  accept_expressions="0"
157                                  enable_value="enable_by_preferences"/>
158         <sketch-2dpoint_selector id="start_point"
159                                  title="Start point"
160                                  tooltip="Start point"
161                                  accept_expressions="0"
162                                  enable_value="enable_by_preferences"/>
163         <sketch-2dpoint_selector id="end_point"
164                                  title="End point"
165                                  tooltip="End point"
166                                  accept_expressions="0"
167                                  enable_value="enable_by_preferences"/>
168         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
169         <labelvalue id="radius"
170                     icon="icons/Sketch/radius.png"
171                     label="Radius:"
172                     tooltip="Set radius"
173                     accept_expressions="0"
174                     min="0"
175                     default="0"
176                     obligatory="0"
177                     enable_value="enable_by_preferences">
178         </labelvalue>
179         <labelvalue id="angle"
180                     icon="icons/Sketch/angle.png"
181                     label="Angle:"
182                     tooltip="Set angle"
183                     default="0"
184                     use_reset="false"
185                     obligatory="0"
186                     enable_value="enable_by_preferences"/>
187         <boolvalue id="Auxiliary"
188                    label="Auxiliary"
189                    tooltip="Construction element"
190                    default="false"
191                    obligatory="0"/>
192       </feature>
193
194       <!-- SketchMacroArc -->
195       <feature
196         id="SketchMacroArc"
197         title="Arc"
198         tooltip="Create arc"
199         icon="icons/Sketch/arc.png"
200         helpfile="arcFeature.html">
201         <toolbox id="arc_type" modified_in_edit="edit_arc_type">
202           <box id="by_center_and_points"
203                icon="icons/Sketch/arc_base_32x32.png"
204                title="Center and two points">
205             <sketch-2dpoint_selector id="center_point"
206                                      reference_attribute="center_point_ref"
207                                      title="Center point"
208                                      tooltip="Center of a circle"
209                                      accept_expressions="0"
210                                      enable_value="enable_by_preferences" />
211             <sketch-2dpoint_selector id="start_point_1"
212                                      reference_attribute="start_point_ref"
213                                      title="Start point"
214                                      tooltip="Start point"
215                                      accept_expressions="0"
216                                      enable_value="enable_by_preferences"/>
217             <sketch-2dpoint_selector id="end_point_1"
218                                      reference_attribute="end_point_ref"
219                                      title="End point"
220                                      tooltip="End point"
221                                      accept_expressions="0"
222                                      enable_value="enable_by_preferences">
223               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
224               <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
225             </sketch-2dpoint_selector>
226             <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
227           </box>
228           <box id="by_three_points"
229                icon="icons/Sketch/arc_3pt_32x32.png"
230                title="Three points on arc">
231             <sketch-2dpoint_selector id="start_point_2"
232                                      reference_attribute="start_point_ref"
233                                      title="Start point"
234                                      tooltip="Start point"
235                                      accept_expressions="0"
236                                      enable_value="enable_by_preferences"/>
237             <sketch-2dpoint_selector id="end_point_2"
238                                      reference_attribute="end_point_ref"
239                                      title="End point"
240                                      tooltip="End point"
241                                      accept_expressions="0"
242                                      enable_value="enable_by_preferences">
243               <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
244               <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
245             </sketch-2dpoint_selector>
246             <sketch-2dpoint_selector id="passed_point"
247                                      reference_attribute="passed_point_ref"
248                                      title="Passed point"
249                                      tooltip="Passed point"
250                                      accept_expressions="0"
251                                      enable_value="enable_by_preferences">
252               <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
253               <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
254             </sketch-2dpoint_selector>
255             <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
256           </box>
257           <box id="by_tangent_edge"
258                icon="icons/Sketch/arc_tang_32x32.png"
259                title="Tangent with edge">
260             <sketch_shape_selector id="tangent_point"
261                                    label="Tangent point"
262                                    tooltip="Select point on line"
263                                    shape_types="vertex">
264               <validator id="SketchPlugin_ArcTangentPoint"/>
265             </sketch_shape_selector>
266             <sketch-2dpoint_selector id="end_point_3"
267                                      reference_attribute="end_point_ref"
268                                      title="End point"
269                                      tooltip="End point"
270                                      accept_expressions="0"
271                                      enable_value="enable_by_preferences">
272               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
273             </sketch-2dpoint_selector>
274           </box>
275           <box id="by_transversal_line"
276                icon="icons/Sketch/arc_perp_32x32.png"
277                title="Perpendicular to line">
278             <sketch_shape_selector id="tangent_point"
279                                    label="Transversal point"
280                                    tooltip="Select point on line"
281                                    shape_types="vertex">
282               <validator id="SketchPlugin_ArcTransversalPoint"/>
283             </sketch_shape_selector>
284             <sketch-2dpoint_selector id="end_point_3"
285                                      reference_attribute="end_point_ref"
286                                      title="End point"
287                                      tooltip="End point"
288                                      accept_expressions="0"
289                                      enable_value="enable_by_preferences">
290               <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
291             </sketch-2dpoint_selector>
292           </box>
293         </toolbox>
294         <labelvalue id="radius"
295                     icon="icons/Sketch/radius.png"
296                     label="Radius:"
297                     tooltip="Set radius"
298                     accept_expressions="0"
299                     min="0"
300                     default="0"
301                     obligatory="0"
302                     enable_value="enable_by_preferences">
303         </labelvalue>
304         <labelvalue id="angle"
305                     icon="icons/Sketch/angle.png"
306                     label="Angle:"
307                     tooltip="Set angle"
308                     default="0"
309                     use_reset="false"
310                     obligatory="0"
311                     enable_value="enable_by_preferences"/>
312         <boolvalue id="Auxiliary"
313                    label="Auxiliary"
314                    tooltip="Construction element"
315                    default="false"
316                    obligatory="0"/>
317       </feature>
318
319       <!--  SketchFillet  -->
320       <feature id="SketchFillet"
321                title="Fillet"
322                tooltip="Create constraint defining fillet between two objects"
323                icon="icons/Sketch/fillet.png"
324                helpfile="filletFeature.html">
325         <sketch_shape_selector id="fillet_point"
326                                label="Point"
327                                tooltip="Select point for fillet (should be shared by two entities only)"
328                                shape_types="vertex">
329           <validator id="SketchPlugin_FilletVertexValidator"/>
330         </sketch_shape_selector>
331         <!--<validator id="PartSet_FilletSelection"/>-->
332       </feature>
333       <!--  SketchSplit  -->
334       <feature id="SketchSplit" title="Split"
335                tooltip="Cut selected segment arc or circle on existing coincident points"
336                icon="icons/Sketch/split.png"
337                helpfile="splitFeature.html">
338         <sketch_feature_point_selector
339             id="SelectedObject"
340             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
341             label="Segment"
342             tooltip="Select segment for split"
343             shape_types="edge"
344             use_external="false">
345           <validator id="SketchPlugin_SplitValidator"/>
346         </sketch_feature_point_selector>
347         <validator id="PartSet_SplitSelection"/>
348       </feature>
349       <!--  SketchTrim  -->
350       <feature id="SketchTrim" title="Trim"
351                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
352                icon="icons/Sketch/trim.png"
353                helpfile="trimFeature.html">
354         <sketch_feature_point_selector
355             id="SelectedObject"
356             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
357             label="Segment"
358             tooltip="Select segment for trim"
359             shape_types="edge"
360             use_external="false">
361           <validator id="SketchPlugin_TrimValidator"/>
362         </sketch_feature_point_selector>
363         <validator id="PartSet_SplitSelection"/>
364       </feature>
365     </group>
366
367 <excluded>
368     <group id="Elliptic geometry">
369       <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
370       <feature id="SketchEllipse"
371                title="Ellipse"
372                tooltip="Create ellipse"
373                icon="icons/Sketch/ellipse.png"
374                internal="1">
375         <sketch-2dpoint_selector id="ellipse_center"
376                                  title="Center"
377                                  tooltip="Center coordinates"
378                                  accept_expressions="0"
379                                  enable_value="enable_by_preferences"/>
380         <sketch-2dpoint_selector id="ellipse_focus"
381                                  title="Focus"
382                                  tooltip="Focus coordinates"
383                                  accept_expressions="0"
384                                  enable_value="enable_by_preferences"/>
385         <labelvalue id="ellipse_major_radius"
386                     icon="icons/Sketch/radius.png"
387                     label="Major radius:"
388                     tooltip="Set major radius"
389                     default="computed"
390                     accept_expressions="0"
391                     enable_value="enable_by_preferences">
392         </labelvalue>
393         <labelvalue id="ellipse_minor_radius"
394                     icon="icons/Sketch/radius.png"
395                     label="Minor radius:"
396                     tooltip="Set minor radius"
397                     default="computed"
398                     accept_expressions="0"
399                     enable_value="enable_by_preferences">
400         </labelvalue>
401         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
402       </feature>
403       <!-- SketchMacroEllipse -->
404       <feature id="SketchMacroEllipse"
405                icon="icons/Sketch/ellipse.png"
406                title="Ellipse"
407                tooltip="Create ellipse"
408                helpfile="ellipseFeature.html">
409         <sketch-2dpoint_selector id="center_point"
410                                  reference_attribute="center_point_ref"
411                                  title="Center point"
412                                  tooltip="Center point coordinates"
413                                  accept_expressions="0"
414                                  enable_value="enable_by_preferences"/>
415         <sketch-2dpoint_selector id="major_axis_point"
416                                  reference_attribute="major_axis_point_ref"
417                                  title="Major axis point"
418                                  tooltip="Major axis point coordinates"
419                                  accept_expressions="0"
420                                  enable_value="enable_by_preferences"/>
421         <sketch-2dpoint_selector id="passed_point"
422                                  reference_attribute="passed_point_ref"
423                                  title="Passed point"
424                                  tooltip="Passed point coordinates"
425                                  accept_expressions="0"
426                                  enable_value="enable_by_preferences">
427 <!--          <validator id="SketchPlugin_CirclePassedPointValidator"/> -->
428         </sketch-2dpoint_selector>
429 <!--        <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/> -->
430         <labelvalue id="ellipse_major_radius"
431                     icon="icons/Sketch/radius.png"
432                     label="Major radius:"
433                     tooltip="Set major radius"
434                     default="computed"
435                     accept_expressions="0"
436                     obligatory="0"
437                     enable_value="enable_by_preferences">
438           <validator id="GeomValidators_Positive"/>
439         </labelvalue>
440         <labelvalue id="ellipse_minor_radius"
441                     icon="icons/Sketch/radius.png"
442                     label="Minor radius:"
443                     tooltip="Set minor radius"
444                     default="computed"
445                     accept_expressions="0"
446                     obligatory="0"
447                     enable_value="enable_by_preferences">
448           <validator id="GeomValidators_Positive"/>
449         </labelvalue>
450         <boolvalue id="Auxiliary"
451                    tooltip="Construction element"
452                    label="Auxiliary"
453                    default="false"
454                    obligatory="0"/>
455       </feature>
456     </group>
457 </excluded>
458
459     <group id="Projection">
460       <!-- Projected feature -->
461       <feature
462         id="SketchProjection"
463         title="Projection"
464         tooltip="Project feature onto sketch plane"
465         icon="icons/Sketch/projection.png"
466         helpfile="projectionFeature.html">
467         <sketch_shape_selector
468               id="ExternalFeature"
469               label="Object"
470               tooltip="Select external edge or vertex."
471               shape_types="edge vertex"
472               use_external="true"
473               can_create_external="false"
474               use_sketch_plane="false">
475           <validator id="SketchPlugin_ProjectionValidator"/>
476         </sketch_shape_selector>
477         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"/>
478         <validator id="PartSet_ProjectionSelection"/>
479       </feature>
480
481       <!-- Intersection Point -->
482       <feature
483         id="SketchIntersectionPoint"
484         title="Intersection"
485         tooltip="Intersect edge with sketch plane"
486         icon="icons/Sketch/intersection.png"
487         helpfile="intersectionFeature.html">
488         <sketch_shape_selector
489               id="ExternalFeature"
490               label="Object"
491               tooltip="Select external edge."
492               shape_types="edge"
493               use_external="true"
494               can_create_external="false"
495               use_sketch_plane="false">
496           <validator id="SketchPlugin_IntersectionValidator"/>
497         </sketch_shape_selector>
498         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"/>
499         <validator id="PartSet_IntersectionSelection"/>
500       </feature>
501     </group>
502
503     <group id="Replication">
504       <!--  SketchConstraintMirror  -->
505       <feature
506         id="SketchConstraintMirror"
507         title="Mirror copy" icon="icons/Sketch/mirror.png"
508         tooltip="Create constraint, mirroring group of objects"
509         helpfile="mirrorFeature.html">
510         <sketch_shape_selector id="ConstraintEntityA"
511             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
512           <validator id="GeomValidators_ShapeType" parameters="line"/>
513           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
514         </sketch_shape_selector>
515         <sketch_multi_selector id="ConstraintMirrorList"
516             label="Segments:"
517             tooltip="Select list of objects to be mirrored"
518             type_choice="Edges"
519             use_external="true"
520             greed ="true">
521           <validator id="SketchPlugin_MirrorAttr" />
522         </sketch_multi_selector>
523         <validator id="PartSet_MultyTranslationSelection" />
524       </feature>
525
526       <!--  SketchMultiTranslation  -->
527       <feature
528         id="SketchMultiTranslation"
529         title="Linear copy" icon="icons/Sketch/translate.png"
530         tooltip="Copy objects and move"
531         helpfile="translationFeature.html">
532         <sketch_multi_selector id="MultiTranslationList"
533             label="Segments:"
534             tooltip="Select list of objects to be translated"
535             type_choice="Edges"
536             use_external="true"
537             greed ="true">
538           <validator id="SketchPlugin_CopyValidator" />
539         </sketch_multi_selector>
540         <toolbox id="ValueType">
541           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
542             <groupbox title="Direction">
543               <sketch_shape_selector
544                     id="MultiTranslationStartPoint"
545                     label="Start point"
546                     tooltip="Start point of translation"
547                     shape_types="vertex">
548                 <validator id="PartSet_DifferentObjects"/>
549                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
550                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
551               </sketch_shape_selector>
552               <sketch_shape_selector
553                     id="MultiTranslationEndPoint"
554                     label="End point"
555                     tooltip="Final point of translation"
556                     shape_types="vertex">
557                 <validator id="PartSet_DifferentObjects"/>
558                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
559                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
560               </sketch_shape_selector>
561             </groupbox>
562           </box>
563           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
564             <groupbox title="Direction">
565               <sketch_shape_selector
566                     id="MultiTranslationStartPoint"
567                     label="Start point"
568                     tooltip="Start point of translation"
569                     shape_types="vertex">
570                 <validator id="PartSet_DifferentObjects"/>
571                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
572                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
573               </sketch_shape_selector>
574               <sketch_shape_selector
575                     id="MultiTranslationEndPoint"
576                     label="End point"
577                     tooltip="Final point of translation"
578                     shape_types="vertex">
579                 <validator id="PartSet_DifferentObjects"/>
580                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
581                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
582               </sketch_shape_selector>
583             </groupbox>
584           </box>
585         </toolbox>
586         <integervalue id="MultiTranslationObjects"
587             label="Total number of objects"
588             tooltip="Total number of objects"
589             default="2" min="2" use_reset="false">
590           <validator id="GeomValidators_Positive" parameters="1"/>
591         </integervalue>
592         <validator id="PartSet_MultyTranslationSelection" />
593       </feature>
594
595       <!--  SketchMultiRotation  -->
596       <feature
597         id="SketchMultiRotation"
598         title="Angular copy" icon="icons/Sketch/rotate.png"
599         tooltip="Copy objects and rotate"
600         helpfile="rotationFeature.html">
601         <sketch_multi_selector id="MultiRotationList"
602             label="Segments:"
603             tooltip="Select list of objects to be rotated"
604             type_choice="Edges"
605             use_external="true"
606             greed ="true">
607           <validator id="SketchPlugin_CopyValidator" />
608         </sketch_multi_selector>
609         <sketch_shape_selector
610               id="MultiRotationCenter"
611               label="Center of rotation"
612               tooltip="Center of rotation"
613               shape_types="vertex">
614           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
615           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
616         </sketch_shape_selector>
617         <toolbox id="AngleType">
618           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
619             <doublevalue id="MultiRotationAngle"
620                          label="Angle"
621                          icon="icons/Sketch/angle.png"
622                          tooltip="Rotation angle"
623                          default="360" min="0" max="360"
624                          use_reset="false">
625               <validator id="SketchPlugin_MultiRotationAngleValidator" />
626             </doublevalue>
627             <boolvalue id="MultiRotationReversed"
628                        label="Reversed"
629                        tooltip="Reverse angular copy"
630                        default="false"
631                        obligatory="0"/>
632           </box>
633           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
634             <doublevalue id="MultiRotationAngle"
635                          label="Angle"
636                          icon="icons/Sketch/angle.png"
637                          tooltip="Rotation angle"
638                          default="90" min="0" max="360"
639                          use_reset="false">
640               <validator id="SketchPlugin_MultiRotationAngleValidator" />
641             </doublevalue>
642             <boolvalue id="MultiRotationReversed"
643                        label="Reversed"
644                        tooltip="Reverse angular copy"
645                        default="false"
646                        obligatory="0"/>
647           </box>
648         </toolbox>
649         <integervalue id="MultiRotationObjects"
650             label="Total number of objects"
651             tooltip="Total number of objects"
652             default="4" min="2" use_reset="false">
653           <validator id="GeomValidators_Positive" parameters="1"/>
654         </integervalue>
655         <validator id="PartSet_MultyTranslationSelection" />
656       </feature>
657     </group>
658
659     <group id="Dimensional constraints">
660       <!--  SketchConstraintDistance  -->
661       <feature
662         id="SketchConstraintDistance"
663         title="Distance"
664         tooltip="Set fixed distance from a point to an object"
665         icon="icons/Sketch/distance.png"
666         helpfile="distanceFeature.html">
667         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
668         <sketch_shape_selector
669               id="ConstraintEntityA"
670               label="First object"
671               tooltip="Select point, line end point, line, center of circle or arc."
672               shape_types="edge vertex">
673           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
674           <validator id="PartSet_DifferentObjects"/>
675           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
676           <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityB"/>
677         </sketch_shape_selector>
678         <sketch_shape_selector
679           id="ConstraintEntityB"
680           label="Second object"
681           tooltip="Select point, line end point, line, center of circle or arc."
682           shape_types="edge vertex">
683           <validator id="PartSet_DifferentObjects"/>
684           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
685           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
686           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
687           <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityA"/>
688         </sketch_shape_selector>
689         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
690
691         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
692           <validator id="GeomValidators_Positive"/>
693         </doublevalue_editor>
694
695         <module_choice id="LocationType"
696           widget_type="radiobuttons"
697           buttons_dir="horizontal"
698           label="Text location"
699           tooltip="Relative location of the text"
700           string_list="Left Automatic Right"
701           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
702           default="1"
703           />
704
705         <boolvalue id="SignedDistance" label="Keep orientation" default="true" tooltip="Keep distance orientation" obligatory="0"/>
706         <validator id="PartSet_DistanceSelection"/>
707       </feature>
708
709       <!--  SketchConstraintDistanceHorizontal  -->
710       <feature
711         id="SketchConstraintDistanceHorizontal"
712         title="Horizontal Distance"
713         tooltip="Set horizontal distance between two points"
714         icon="icons/Sketch/distance_h.png"
715         helpfile="horizontalDistFeature.html">
716         <label title="Select points for distance definition."/>
717         <sketch_shape_selector
718               id="ConstraintEntityA"
719               label="First point"
720               tooltip="Select point."
721               shape_types="vertex">
722           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
723           <validator id="PartSet_DifferentObjects"/>
724           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
725         </sketch_shape_selector>
726         <sketch_shape_selector
727           id="ConstraintEntityB"
728           label="Second point"
729           tooltip="Select point."
730           shape_types="vertex">
731           <validator id="PartSet_DifferentObjects"/>
732           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
733           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
734         </sketch_shape_selector>
735         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
736
737         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
738           <validator id="GeomValidators_Positive"/>
739         </doublevalue_editor>
740
741         <module_choice id="LocationType"
742           widget_type="radiobuttons"
743           buttons_dir="horizontal"
744           label="Text location"
745           tooltip="Relative location of the text"
746           string_list="Left Automatic Right"
747           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
748           default="1"
749           />
750
751         <validator id="PartSet_DistanceSelection"/>
752       </feature>
753
754       <!--  SketchConstraintDistanceVertical  -->
755       <feature
756         id="SketchConstraintDistanceVertical"
757         title="Vertical Distance"
758         tooltip="Set vertical distance between two points"
759         icon="icons/Sketch/distance_v.png"
760         helpfile="verticalDistFeature.html">
761         <label title="Select points for distance definition."/>
762         <sketch_shape_selector
763               id="ConstraintEntityA"
764               label="First point"
765               tooltip="Select point."
766               shape_types="vertex">
767           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
768           <validator id="PartSet_DifferentObjects"/>
769           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
770         </sketch_shape_selector>
771         <sketch_shape_selector
772           id="ConstraintEntityB"
773           label="Second point"
774           tooltip="Select point."
775           shape_types="vertex">
776           <validator id="PartSet_DifferentObjects"/>
777           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
778           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
779         </sketch_shape_selector>
780         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
781
782         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
783           <validator id="GeomValidators_Positive"/>
784         </doublevalue_editor>
785
786         <module_choice id="LocationType"
787           widget_type="radiobuttons"
788           buttons_dir="horizontal"
789           label="Text location"
790           tooltip="Relative location of the text"
791           string_list="Left Automatic Right"
792           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
793           default="1"
794           />
795
796         <validator id="PartSet_DistanceSelection"/>
797       </feature>
798
799       <!--  SketchConstraintLength  -->
800       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png"
801                helpfile="lengthFeature.html">
802         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
803         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
804           <validator id="GeomValidators_ShapeType" parameters="line"/>
805           <validator id="SketchPlugin_SketchFeatureValidator"/>
806         </shape_selector>
807         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
808         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
809           <validator id="GeomValidators_Positive"/>
810         </doublevalue_editor>
811         <module_choice id="LocationType"
812           widget_type="radiobuttons"
813           buttons_dir="horizontal"
814           label="Text location"
815           tooltip="Relative location of the text"
816           string_list="Left Automatic Right"
817           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
818           default="1"
819           />
820         <validator id="PartSet_LengthSelection"/>
821       </feature>
822
823       <!--  SketchConstraintAngle  -->
824       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png"
825                helpfile="angleFeature.html">
826         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
827           <validator id="GeomValidators_ShapeType" parameters="line"/>
828           <validator id="PartSet_DifferentObjects"/>
829           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
830         </sketch_shape_selector>
831         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
832           <validator id="GeomValidators_ShapeType" parameters="line"/>
833           <validator id="PartSet_DifferentObjects"/>
834           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
835         </sketch_shape_selector>
836         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
837         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
838         <validator id="PartSet_AngleSelection"/>
839         <module_choice id="AngleType"
840           widget_type="radiobuttons"
841           buttons_dir="horizontal"
842           label="Angle type"
843           tooltip="Type of angle"
844           string_list="Direct Complementary Additional"
845           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
846           default="0"
847           />
848
849         <module_choice id="LocationType"
850           widget_type="radiobuttons"
851           buttons_dir="horizontal"
852           label="Text location"
853           tooltip="Relative location of the text"
854           string_list="Left Automatic Right"
855           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
856           default="1"
857           />
858
859       </feature>
860
861       <!--  SketchConstraintRadius  -->
862       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png"
863                helpfile="radiusFeature.html">
864         <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"/>
865         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
866             shape_types="edge">
867           <validator id="GeomValidators_ShapeType" parameters="circle"/>
868         </shape_selector>
869         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
870         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
871           <validator id="GeomValidators_Positive"/>
872         </doublevalue_editor>
873
874         <module_choice id="LocationType"
875           widget_type="radiobuttons"
876           buttons_dir="horizontal"
877           label="Text location"
878           tooltip="Relative location of the text"
879           string_list="Left Automatic Right"
880           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
881           default="1"
882           />
883
884         <validator id="PartSet_RadiusSelection"/>
885       </feature>
886
887     </group>
888
889     <group id="Geometrical constraints">
890
891       <!--  SketchConstraintHorizontal  -->
892       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png"
893                helpfile="horizontalFeature.html">
894         <sketch_shape_selector id="ConstraintEntityA"
895             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
896           <validator id="GeomValidators_ShapeType" parameters="line"/>
897           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
898         </sketch_shape_selector>
899         <validator id="PartSet_HVDirSelection"/>
900       </feature>
901
902       <!--  SketchConstraintVertical  -->
903       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png"
904                helpfile="verticalFeature.html">
905         <sketch_shape_selector id="ConstraintEntityA"
906             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
907           <validator id="GeomValidators_ShapeType" parameters="line"/>
908           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
909         </sketch_shape_selector>
910         <validator id="PartSet_HVDirSelection"/>
911       </feature>
912
913       <!--  SketchConstraintRigid  -->
914       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png"
915                helpfile="rigidFeature.html">
916         <sketch_shape_selector id="ConstraintEntityA" label="Object"
917                         tooltip="Select point, line end point, line, center of circle or arc."
918                         shape_types="edge vertex">
919           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
920           <validator id="SketchPlugin_NotFixed"/>
921         </sketch_shape_selector>
922         <validator id="PartSet_RigidSelection"/>
923       </feature>
924
925       <!--  SketchConstraintParallel  -->
926       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
927                icon="icons/Sketch/parallel.png" helpfile="parallelFeature.html">
928         <sketch_shape_selector id="ConstraintEntityA"
929             label="First line" tooltip="Select a line" shape_types="edge">
930           <validator id="GeomValidators_ShapeType" parameters="line"/>
931           <validator id="PartSet_DifferentObjects"/>
932           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
933         </sketch_shape_selector>
934
935         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
936             shape_types="edge">
937             <validator id="GeomValidators_ShapeType" parameters="line"/>
938             <validator id="PartSet_DifferentObjects"/>
939             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
940         </sketch_shape_selector>
941         <validator id="PartSet_ParallelSelection"/>
942       </feature>
943
944       <!--  SketchConstraintPerpendicular  -->
945       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
946                tooltip="Create constraint defining two orthogonal objects"
947                icon="icons/Sketch/perpendicular.png"
948                helpfile="perpendicularFeature.html">
949         <sketch_shape_selector id="ConstraintEntityA"
950             label="First object" tooltip="Select line or arc"
951             shape_types="edge">
952           <validator id="PartSet_DifferentObjects"/>
953           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
954           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityB"/>
955           <validator id="GeomValidators_ShapeType" parameters="line,circle"/>
956         </sketch_shape_selector>
957
958         <sketch_shape_selector id="ConstraintEntityB"
959             label="Second object" tooltip="Select line or arc"
960             shape_types="edge">
961           <validator id="PartSet_DifferentObjects"/>
962           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
963           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityA"/>
964           <validator id="GeomValidators_ShapeType" parameters="line,circle"/>
965         </sketch_shape_selector>
966         <validator id="PartSet_PerpendicularSelection"/>
967       </feature>
968
969       <!--  SketchConstraintTangent  -->
970       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png"
971                helpfile="tangentFeature.html">
972         <sketch_shape_selector id="ConstraintEntityA"
973             label="First object" tooltip="Select line or arc" shape_types="edge">
974           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
975           <validator id="PartSet_DifferentObjects"/>
976         </sketch_shape_selector>
977
978         <sketch_shape_selector id="ConstraintEntityB"
979             label="Second object" tooltip="Select line or arc" shape_types="edge">
980           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
981           <validator id="PartSet_DifferentObjects"/>
982         </sketch_shape_selector>
983         <validator id="PartSet_TangentSelection"/>
984       </feature>
985
986       <!--  SketchConstraintCoincidence  -->
987       <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"
988                helpfile="coincedenceFeature.html">
989         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
990           <validator id="PartSet_DifferentObjects"/>
991           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
992         </sketch_shape_selector>
993         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
994           <validator id="PartSet_DifferentObjects"/>
995           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
996           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
997         </sketch_shape_selector>
998         <validator id="PartSet_CoincidentSelection"/>
999       </feature>
1000
1001       <!--  SketchConstraintMiddle  -->
1002       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line"
1003                icon="icons/Sketch/middlepoint.png"
1004                helpfile="middleFeature.html">
1005         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
1006           <validator id="PartSet_DifferentObjects"/>
1007           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1008           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
1009         </sketch_shape_selector>
1010         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
1011           <validator id="PartSet_DifferentObjects"/>
1012           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1013           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
1014         </sketch_shape_selector>
1015         <validator id="PartSet_MiddlePointSelection"/>
1016       </feature>
1017
1018       <!--  SketchConstraintEqual  -->
1019       <feature id="SketchConstraintEqual" title="Equal"
1020         tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radii of two arcs or two circles or arc and circle"
1021         icon="icons/Sketch/equal.png"
1022                helpfile="equalFeature.html">
1023         <sketch_shape_selector id="ConstraintEntityA"
1024             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
1025           <validator id="PartSet_DifferentObjects"/>
1026           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1027         </sketch_shape_selector>
1028
1029         <sketch_shape_selector id="ConstraintEntityB"
1030             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
1031           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
1032           <validator id="PartSet_DifferentObjects"/>
1033           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1034         </sketch_shape_selector>
1035         <validator id="PartSet_EqualSelection"/>
1036       </feature>
1037
1038       <!--  SketchConstraintCollinear  -->
1039       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines"
1040                icon="icons/Sketch/collinear.png"
1041                helpfile="collinearFeature.html">
1042         <sketch_shape_selector id="ConstraintEntityA"
1043             label="First line" tooltip="Select a line" shape_types="edge">
1044           <validator id="GeomValidators_ShapeType" parameters="line"/>
1045           <validator id="PartSet_DifferentObjects"/>
1046         </sketch_shape_selector>
1047
1048         <sketch_shape_selector id="ConstraintEntityB"
1049             label="Second line" tooltip="Select a line" shape_types="edge">
1050           <validator id="GeomValidators_ShapeType" parameters="line"/>
1051           <validator id="PartSet_DifferentObjects"/>
1052         </sketch_shape_selector>
1053         <validator id="PartSet_CollinearSelection"/>
1054       </feature>
1055     </group>
1056   </workbench>
1057 </plugin>