Salome HOME
Update copyrights
[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" 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         </toolbox>
276         <labelvalue id="radius"
277                     icon="icons/Sketch/radius.png"
278                     label="Radius:"
279                     tooltip="Set radius"
280                     accept_expressions="0"
281                     min="0"
282                     default="0"
283                     obligatory="0"
284                     enable_value="enable_by_preferences">
285         </labelvalue>
286         <labelvalue id="angle"
287                     icon="icons/Sketch/angle.png"
288                     label="Angle:"
289                     tooltip="Set angle"
290                     default="0"
291                     use_reset="false"
292                     obligatory="0"
293                     enable_value="enable_by_preferences"/>
294         <boolvalue id="Auxiliary"
295                    label="Auxiliary"
296                    tooltip="Construction element"
297                    default="false"
298                    obligatory="0"/>
299       </feature>
300
301       <!--  SketchFillet  -->
302       <feature id="SketchFillet"
303                title="Fillet"
304                tooltip="Create constraint defining fillet between two objects"
305                icon="icons/Sketch/fillet.png"
306                helpfile="filletFeature.html">
307         <sketch_shape_selector id="fillet_point"
308                                label="Point"
309                                tooltip="Select point for fillet (should be shared by two entities only)"
310                                shape_types="vertex">
311           <validator id="SketchPlugin_FilletVertexValidator"/>
312         </sketch_shape_selector>
313         <!--<validator id="PartSet_FilletSelection"/>-->
314       </feature>
315       <!--  SketchSplit  -->
316       <feature id="SketchSplit" title="Split"
317                tooltip="Cut selected segment arc or circle on existing coincident points"
318                icon="icons/Sketch/split.png"
319                helpfile="splitFeature.html">
320         <sketch_feature_point_selector
321             id="SelectedObject"
322             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
323             label="Segment"
324             tooltip="Select segment for split"
325             shape_types="edge"
326             use_external="false">
327           <validator id="SketchPlugin_SplitValidator"/>
328         </sketch_feature_point_selector>
329         <validator id="PartSet_SplitSelection"/>
330       </feature>
331       <!--  SketchTrim  -->
332       <feature id="SketchTrim" title="Trim"
333                tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
334                icon="icons/Sketch/trim.png"
335                helpfile="trimFeature.html">
336         <sketch_feature_point_selector
337             id="SelectedObject"
338             selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
339             label="Segment"
340             tooltip="Select segment for trim"
341             shape_types="edge"
342             use_external="false">
343           <validator id="SketchPlugin_TrimValidator"/>
344         </sketch_feature_point_selector>
345         <validator id="PartSet_SplitSelection"/>
346       </feature>
347     </group>
348
349 <excluded>
350     <group id="Elliptic geometry">
351       <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
352       <feature id="SketchEllipse"
353                title="Ellipse"
354                tooltip="Create ellipse"
355                icon="icons/Sketch/ellipse.png"
356                internal="1">
357         <sketch-2dpoint_selector id="ellipse_center"
358                                  title="Center"
359                                  tooltip="Center coordinates"
360                                  accept_expressions="0"
361                                  enable_value="enable_by_preferences"/>
362         <sketch-2dpoint_selector id="ellipse_focus"
363                                  title="Focus"
364                                  tooltip="Focus coordinates"
365                                  accept_expressions="0"
366                                  enable_value="enable_by_preferences"/>
367         <labelvalue id="ellipse_major_radius"
368                     icon="icons/Sketch/radius.png"
369                     label="Major radius:"
370                     tooltip="Set major radius"
371                     default="computed"
372                     accept_expressions="0"
373                     enable_value="enable_by_preferences">
374         </labelvalue>
375         <labelvalue id="ellipse_minor_radius"
376                     icon="icons/Sketch/radius.png"
377                     label="Minor radius:"
378                     tooltip="Set minor radius"
379                     default="computed"
380                     accept_expressions="0"
381                     enable_value="enable_by_preferences">
382         </labelvalue>
383         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
384       </feature>
385       <!-- SketchMacroEllipse -->
386       <feature id="SketchMacroEllipse"
387                icon="icons/Sketch/ellipse.png"
388                title="Ellipse"
389                tooltip="Create ellipse"
390                helpfile="ellipseFeature.html">
391         <sketch-2dpoint_selector id="center_point"
392                                  reference_attribute="center_point_ref"
393                                  title="Center point"
394                                  tooltip="Center point coordinates"
395                                  accept_expressions="0"
396                                  enable_value="enable_by_preferences"/>
397         <sketch-2dpoint_selector id="major_axis_point"
398                                  reference_attribute="major_axis_point_ref"
399                                  title="Major axis point"
400                                  tooltip="Major axis point coordinates"
401                                  accept_expressions="0"
402                                  enable_value="enable_by_preferences"/>
403         <sketch-2dpoint_selector id="passed_point"
404                                  reference_attribute="passed_point_ref"
405                                  title="Passed point"
406                                  tooltip="Passed point coordinates"
407                                  accept_expressions="0"
408                                  enable_value="enable_by_preferences">
409 <!--          <validator id="SketchPlugin_CirclePassedPointValidator"/> -->
410         </sketch-2dpoint_selector>
411 <!--        <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/> -->
412         <labelvalue id="ellipse_major_radius"
413                     icon="icons/Sketch/radius.png"
414                     label="Major radius:"
415                     tooltip="Set major radius"
416                     default="computed"
417                     accept_expressions="0"
418                     obligatory="0"
419                     enable_value="enable_by_preferences">
420           <validator id="GeomValidators_Positive"/>
421         </labelvalue>
422         <labelvalue id="ellipse_minor_radius"
423                     icon="icons/Sketch/radius.png"
424                     label="Minor radius:"
425                     tooltip="Set minor radius"
426                     default="computed"
427                     accept_expressions="0"
428                     obligatory="0"
429                     enable_value="enable_by_preferences">
430           <validator id="GeomValidators_Positive"/>
431         </labelvalue>
432         <boolvalue id="Auxiliary"
433                    tooltip="Construction element"
434                    label="Auxiliary"
435                    default="false"
436                    obligatory="0"/>
437       </feature>
438     </group>
439 </excluded>
440
441     <group id="Projection">
442       <!-- Projected feature -->
443       <feature
444         id="SketchProjection"
445         title="Projection"
446         tooltip="Project feature onto sketch plane"
447         icon="icons/Sketch/projection.png"
448         helpfile="projectionFeature.html">
449         <sketch_shape_selector
450               id="ExternalFeature"
451               label="Object"
452               tooltip="Select external edge or vertex."
453               shape_types="edge vertex"
454               use_external="true"
455               can_create_external="false"
456               use_sketch_plane="false">
457           <validator id="SketchPlugin_ProjectionValidator"/>
458         </sketch_shape_selector>
459         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"/>
460         <validator id="PartSet_ProjectionSelection"/>
461       </feature>
462
463       <!-- Intersection Point -->
464       <feature
465         id="SketchIntersectionPoint"
466         title="Intersection"
467         tooltip="Intersect edge with sketch plane"
468         icon="icons/Sketch/intersection.png"
469         helpfile="intersectionFeature.html">
470         <sketch_shape_selector
471               id="ExternalFeature"
472               label="Object"
473               tooltip="Select external edge."
474               shape_types="edge"
475               use_external="true"
476               can_create_external="false"
477               use_sketch_plane="false">
478           <validator id="SketchPlugin_IntersectionValidator"/>
479         </sketch_shape_selector>
480         <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"/>
481         <validator id="PartSet_IntersectionSelection"/>
482       </feature>
483     </group>
484
485     <group id="Replication">
486       <!--  SketchConstraintMirror  -->
487       <feature
488         id="SketchConstraintMirror"
489         title="Mirror copy" icon="icons/Sketch/mirror.png"
490         tooltip="Create constraint, mirroring group of objects"
491         helpfile="mirrorFeature.html">
492         <sketch_shape_selector id="ConstraintEntityA"
493             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
494           <validator id="GeomValidators_ShapeType" parameters="line"/>
495           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
496         </sketch_shape_selector>
497         <sketch_multi_selector id="ConstraintMirrorList"
498             label="Segments:"
499             tooltip="Select list of objects to be mirrored"
500             type_choice="Edges"
501             use_external="true"
502             greed ="true">
503           <validator id="SketchPlugin_MirrorAttr" />
504         </sketch_multi_selector>
505         <validator id="PartSet_MultyTranslationSelection" />
506       </feature>
507
508       <!--  SketchMultiTranslation  -->
509       <feature
510         id="SketchMultiTranslation"
511         title="Linear copy" icon="icons/Sketch/translate.png"
512         tooltip="Copy objects and move"
513         helpfile="translationFeature.html">
514         <sketch_multi_selector id="MultiTranslationList"
515             label="Segments:"
516             tooltip="Select list of objects to be translated"
517             type_choice="Edges"
518             use_external="true"
519             greed ="true">
520           <validator id="SketchPlugin_CopyValidator" />
521         </sketch_multi_selector>
522         <toolbox id="ValueType">
523           <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
524             <groupbox title="Direction">
525               <sketch_shape_selector
526                     id="MultiTranslationStartPoint"
527                     label="Start point"
528                     tooltip="Start point of translation"
529                     shape_types="vertex">
530                 <validator id="PartSet_DifferentObjects"/>
531                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
532                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
533               </sketch_shape_selector>
534               <sketch_shape_selector
535                     id="MultiTranslationEndPoint"
536                     label="End point"
537                     tooltip="Final point of translation"
538                     shape_types="vertex">
539                 <validator id="PartSet_DifferentObjects"/>
540                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
541                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
542               </sketch_shape_selector>
543             </groupbox>
544           </box>
545           <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
546             <groupbox title="Direction">
547               <sketch_shape_selector
548                     id="MultiTranslationStartPoint"
549                     label="Start point"
550                     tooltip="Start point of translation"
551                     shape_types="vertex">
552                 <validator id="PartSet_DifferentObjects"/>
553                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
554                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
555               </sketch_shape_selector>
556               <sketch_shape_selector
557                     id="MultiTranslationEndPoint"
558                     label="End point"
559                     tooltip="Final point of translation"
560                     shape_types="vertex">
561                 <validator id="PartSet_DifferentObjects"/>
562                 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
563                 <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
564               </sketch_shape_selector>
565             </groupbox>
566           </box>
567         </toolbox>
568         <integervalue id="MultiTranslationObjects"
569             label="Total number of objects"
570             tooltip="Total number of objects"
571             default="2" min="2" use_reset="false">
572           <validator id="GeomValidators_Positive" parameters="1"/>
573         </integervalue>
574         <validator id="PartSet_MultyTranslationSelection" />
575       </feature>
576
577       <!--  SketchMultiRotation  -->
578       <feature
579         id="SketchMultiRotation"
580         title="Angular copy" icon="icons/Sketch/rotate.png"
581         tooltip="Copy objects and rotate"
582         helpfile="rotationFeature.html">
583         <sketch_multi_selector id="MultiRotationList"
584             label="Segments:"
585             tooltip="Select list of objects to be rotated"
586             type_choice="Edges"
587             use_external="true"
588             greed ="true">
589           <validator id="SketchPlugin_CopyValidator" />
590         </sketch_multi_selector>
591         <sketch_shape_selector
592               id="MultiRotationCenter"
593               label="Center of rotation"
594               tooltip="Center of rotation"
595               shape_types="vertex">
596           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
597           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
598         </sketch_shape_selector>
599         <toolbox id="AngleType">
600           <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
601             <doublevalue id="MultiRotationAngle"
602                          label="Angle"
603                          icon="icons/Sketch/angle.png"
604                          tooltip="Rotation angle"
605                          default="360" min="0" max="360"
606                          use_reset="false">
607               <validator id="SketchPlugin_MultiRotationAngleValidator" />
608             </doublevalue>
609             <boolvalue id="MultiRotationReversed"
610                        label="Reversed"
611                        tooltip="Reverse angular copy"
612                        default="false"
613                        obligatory="0"/>
614           </box>
615           <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
616             <doublevalue id="MultiRotationAngle"
617                          label="Angle"
618                          icon="icons/Sketch/angle.png"
619                          tooltip="Rotation angle"
620                          default="90" min="0" max="360"
621                          use_reset="false">
622               <validator id="SketchPlugin_MultiRotationAngleValidator" />
623             </doublevalue>
624             <boolvalue id="MultiRotationReversed"
625                        label="Reversed"
626                        tooltip="Reverse angular copy"
627                        default="false"
628                        obligatory="0"/>
629           </box>
630         </toolbox>
631         <integervalue id="MultiRotationObjects"
632             label="Total number of objects"
633             tooltip="Total number of objects"
634             default="4" min="2" use_reset="false">
635           <validator id="GeomValidators_Positive" parameters="1"/>
636         </integervalue>
637         <validator id="PartSet_MultyTranslationSelection" />
638       </feature>
639     </group>
640
641     <group id="Dimensional constraints">
642     <!--  SketchConstraintDistance  -->
643       <feature
644         id="SketchConstraintDistance"
645         title="Distance"
646         tooltip="Set fixed distance from a point to an object"
647         icon="icons/Sketch/distance.png"
648         helpfile="distanceFeature.html">
649         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
650         <sketch_shape_selector
651               id="ConstraintEntityA"
652               label="First object"
653               tooltip="Select point, line end point, line, center of circle or arc."
654               shape_types="edge vertex">
655           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
656           <validator id="PartSet_DifferentObjects"/>
657           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
658           <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityB"/>
659         </sketch_shape_selector>
660         <sketch_shape_selector
661           id="ConstraintEntityB"
662           label="Second object"
663           tooltip="Select point, line end point, line, center of circle or arc."
664           shape_types="edge vertex">
665           <validator id="PartSet_DifferentObjects"/>
666           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
667           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
668           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
669           <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityA"/>
670         </sketch_shape_selector>
671         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
672
673         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
674           <validator id="GeomValidators_Positive"/>
675         </doublevalue_editor>
676
677         <module_choice id="LocationType"
678           widget_type="radiobuttons"
679           buttons_dir="horizontal"
680           label="Text location"
681           tooltip="Relative location of the text"
682           string_list="Left Automatic Right"
683           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
684           default="1"
685           />
686
687         <boolvalue id="SignedDistance" label="Keep orientation" default="true" tooltip="Keep distance orientation" obligatory="0"/>
688         <validator id="PartSet_DistanceSelection"/>
689       </feature>
690
691       <!--  SketchConstraintDistanceHorizontal  -->
692       <feature
693         id="SketchConstraintDistanceHorizontal"
694         title="Horizontal Distance"
695         tooltip="Set horizontal distance between two points"
696         icon="icons/Sketch/distance_h.png"
697         helpfile="horizontalDistFeature.html">
698         <label title="Select points for distance definition."/>
699         <sketch_shape_selector
700               id="ConstraintEntityA"
701               label="First point"
702               tooltip="Select point."
703               shape_types="vertex">
704           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
705           <validator id="PartSet_DifferentObjects"/>
706           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
707         </sketch_shape_selector>
708         <sketch_shape_selector
709           id="ConstraintEntityB"
710           label="Second point"
711           tooltip="Select point."
712           shape_types="vertex">
713           <validator id="PartSet_DifferentObjects"/>
714           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
715           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
716         </sketch_shape_selector>
717         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
718
719         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
720           <validator id="GeomValidators_Positive"/>
721         </doublevalue_editor>
722
723         <module_choice id="LocationType"
724           widget_type="radiobuttons"
725           buttons_dir="horizontal"
726           label="Text location"
727           tooltip="Relative location of the text"
728           string_list="Left Automatic Right"
729           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
730           default="1"
731           />
732
733         <validator id="PartSet_DistanceSelection"/>
734       </feature>
735
736       <!--  SketchConstraintDistanceVertical  -->
737       <feature
738         id="SketchConstraintDistanceVertical"
739         title="Vertical Distance"
740         tooltip="Set vertical distance between two points"
741         icon="icons/Sketch/distance_v.png"
742         helpfile="verticalDistFeature.html">
743         <label title="Select points for distance definition."/>
744         <sketch_shape_selector
745               id="ConstraintEntityA"
746               label="First point"
747               tooltip="Select point."
748               shape_types="vertex">
749           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
750           <validator id="PartSet_DifferentObjects"/>
751           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
752         </sketch_shape_selector>
753         <sketch_shape_selector
754           id="ConstraintEntityB"
755           label="Second point"
756           tooltip="Select point."
757           shape_types="vertex">
758           <validator id="PartSet_DifferentObjects"/>
759           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
760           <validator id="GeomValidators_ShapeType" parameters="vertex"/>
761         </sketch_shape_selector>
762         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
763
764         <doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
765           <validator id="GeomValidators_Positive"/>
766         </doublevalue_editor>
767
768         <module_choice id="LocationType"
769           widget_type="radiobuttons"
770           buttons_dir="horizontal"
771           label="Text location"
772           tooltip="Relative location of the text"
773           string_list="Left Automatic Right"
774           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
775           default="1"
776           />
777
778         <validator id="PartSet_DistanceSelection"/>
779       </feature>
780
781       <!--  SketchConstraintLength  -->
782       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png"
783                helpfile="lengthFeature.html">
784         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
785         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
786           <validator id="GeomValidators_ShapeType" parameters="line"/>
787           <validator id="SketchPlugin_SketchFeatureValidator"/>
788         </shape_selector>
789         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
790         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
791           <validator id="GeomValidators_Positive"/>
792         </doublevalue_editor>
793         <module_choice id="LocationType"
794           widget_type="radiobuttons"
795           buttons_dir="horizontal"
796           label="Text location"
797           tooltip="Relative location of the text"
798           string_list="Left Automatic Right"
799           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
800           default="1"
801           />
802         <validator id="PartSet_LengthSelection"/>
803       </feature>
804
805       <!--  SketchConstraintAngle  -->
806       <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png"
807                helpfile="angleFeature.html">
808         <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
809           <validator id="GeomValidators_ShapeType" parameters="line"/>
810           <validator id="PartSet_DifferentObjects"/>
811           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
812         </sketch_shape_selector>
813         <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
814           <validator id="GeomValidators_ShapeType" parameters="line"/>
815           <validator id="PartSet_DifferentObjects"/>
816           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
817         </sketch_shape_selector>
818         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
819         <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
820         <validator id="PartSet_AngleSelection"/>
821         <module_choice id="AngleType"
822           widget_type="radiobuttons"
823           buttons_dir="horizontal"
824           label="Angle type"
825           tooltip="Type of angle"
826           string_list="Direct Complementary Additional"
827           icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
828           default="0"
829           />
830
831         <module_choice id="LocationType"
832           widget_type="radiobuttons"
833           buttons_dir="horizontal"
834           label="Text location"
835           tooltip="Relative location of the text"
836           string_list="Left Automatic Right"
837           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
838           default="1"
839           />
840
841       </feature>
842
843       <!--  SketchConstraintRadius  -->
844       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png"
845                helpfile="radiusFeature.html">
846         <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"/>
847         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
848             shape_types="edge">
849           <validator id="GeomValidators_ShapeType" parameters="circle"/>
850         </shape_selector>
851         <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
852         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
853           <validator id="GeomValidators_Positive"/>
854         </doublevalue_editor>
855
856         <module_choice id="LocationType"
857           widget_type="radiobuttons"
858           buttons_dir="horizontal"
859           label="Text location"
860           tooltip="Relative location of the text"
861           string_list="Left Automatic Right"
862           icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
863           default="1"
864           />
865
866         <validator id="PartSet_RadiusSelection"/>
867       </feature>
868
869     </group>
870
871     <group id="Geometrical constraints">
872
873       <!--  SketchConstraintHorizontal  -->
874       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png"
875                helpfile="horizontalFeature.html">
876         <sketch_shape_selector id="ConstraintEntityA"
877             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
878           <validator id="GeomValidators_ShapeType" parameters="line"/>
879           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
880         </sketch_shape_selector>
881         <validator id="PartSet_HVDirSelection"/>
882       </feature>
883
884       <!--  SketchConstraintVertical  -->
885       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png"
886                helpfile="verticalFeature.html">
887         <sketch_shape_selector id="ConstraintEntityA"
888             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
889           <validator id="GeomValidators_ShapeType" parameters="line"/>
890           <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
891         </sketch_shape_selector>
892         <validator id="PartSet_HVDirSelection"/>
893       </feature>
894
895       <!--  SketchConstraintRigid  -->
896       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png"
897                helpfile="rigidFeature.html">
898         <sketch_shape_selector id="ConstraintEntityA" label="Object"
899                         tooltip="Select point, line end point, line, center of circle or arc."
900                         shape_types="edge vertex">
901           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
902           <validator id="SketchPlugin_NotFixed"/>
903         </sketch_shape_selector>
904         <validator id="PartSet_RigidSelection"/>
905       </feature>
906
907       <!--  SketchConstraintParallel  -->
908       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
909                icon="icons/Sketch/parallel.png" helpfile="parallelFeature.html">
910         <sketch_shape_selector id="ConstraintEntityA"
911             label="First line" tooltip="Select a line" shape_types="edge">
912           <validator id="GeomValidators_ShapeType" parameters="line"/>
913           <validator id="PartSet_DifferentObjects"/>
914           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
915         </sketch_shape_selector>
916
917         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
918             shape_types="edge">
919             <validator id="GeomValidators_ShapeType" parameters="line"/>
920             <validator id="PartSet_DifferentObjects"/>
921             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
922         </sketch_shape_selector>
923         <validator id="PartSet_ParallelSelection"/>
924       </feature>
925
926     <!--  SketchConstraintPerpendicular  -->
927       <feature id="SketchConstraintPerpendicular" title="Perpendicular"
928                tooltip="Create constraint defining two perpendicular lines"
929                icon="icons/Sketch/perpendicular.png"
930                helpfile="perpendicularFeature.html">
931         <sketch_shape_selector id="ConstraintEntityA"
932             label="First line" tooltip="Select a line"
933             shape_types="edge">
934           <validator id="PartSet_DifferentObjects"/>
935           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
936             <validator id="GeomValidators_ShapeType" parameters="line"/>
937         </sketch_shape_selector>
938
939         <sketch_shape_selector id="ConstraintEntityB"
940             label="Second line" tooltip="Select a line"
941             shape_types="edge">
942             <validator id="PartSet_DifferentObjects"/>
943           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
944             <validator id="GeomValidators_ShapeType" parameters="line"/>
945         </sketch_shape_selector>
946         <validator id="PartSet_PerpendicularSelection"/>
947       </feature>
948
949       <!--  SketchConstraintTangent  -->
950       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png"
951                helpfile="tangentFeature.html">
952         <sketch_shape_selector id="ConstraintEntityA"
953             label="First object" tooltip="Select line or arc" shape_types="edge">
954           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
955           <validator id="PartSet_DifferentObjects"/>
956         </sketch_shape_selector>
957
958         <sketch_shape_selector id="ConstraintEntityB"
959             label="Second object" tooltip="Select line or arc" shape_types="edge">
960           <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
961           <validator id="PartSet_DifferentObjects"/>
962         </sketch_shape_selector>
963         <validator id="PartSet_TangentSelection"/>
964       </feature>
965
966       <!--  SketchConstraintCoincidence  -->
967       <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"
968                helpfile="coincedenceFeature.html">
969         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
970           <validator id="PartSet_DifferentObjects"/>
971           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
972         </sketch_shape_selector>
973         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
974           <validator id="PartSet_DifferentObjects"/>
975           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
976           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
977         </sketch_shape_selector>
978         <validator id="PartSet_CoincidentSelection"/>
979       </feature>
980
981       <!--  SketchConstraintMiddle  -->
982       <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line"
983                icon="icons/Sketch/middlepoint.png"
984                helpfile="middleFeature.html">
985         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
986           <validator id="PartSet_DifferentObjects"/>
987           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
988           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
989         </sketch_shape_selector>
990         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
991           <validator id="PartSet_DifferentObjects"/>
992           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
993           <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
994         </sketch_shape_selector>
995         <validator id="PartSet_MiddlePointSelection"/>
996       </feature>
997
998       <!--  SketchConstraintEqual  -->
999       <feature id="SketchConstraintEqual" title="Equal"
1000         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"
1001         icon="icons/Sketch/equal.png"
1002                helpfile="equalFeature.html">
1003         <sketch_shape_selector id="ConstraintEntityA"
1004             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
1005           <validator id="PartSet_DifferentObjects"/>
1006           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
1007         </sketch_shape_selector>
1008
1009         <sketch_shape_selector id="ConstraintEntityB"
1010             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
1011           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
1012           <validator id="PartSet_DifferentObjects"/>
1013           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
1014         </sketch_shape_selector>
1015         <validator id="PartSet_EqualSelection"/>
1016       </feature>
1017
1018     <!--  SketchConstraintCollinear  -->
1019       <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines"
1020                icon="icons/Sketch/collinear.png"
1021                helpfile="collinearFeature.html">
1022         <sketch_shape_selector id="ConstraintEntityA"
1023             label="First line" tooltip="Select a line" shape_types="edge">
1024           <validator id="GeomValidators_ShapeType" parameters="line"/>
1025           <validator id="PartSet_DifferentObjects"/>
1026         </sketch_shape_selector>
1027
1028         <sketch_shape_selector id="ConstraintEntityB"
1029             label="Second line" tooltip="Select a line" shape_types="edge">
1030           <validator id="GeomValidators_ShapeType" parameters="line"/>
1031           <validator id="PartSet_DifferentObjects"/>
1032         </sketch_shape_selector>
1033         <validator id="PartSet_CollinearSelection"/>
1034       </feature>
1035
1036     </group>
1037
1038   </workbench>
1039   <workbench id="Macros" document="Part">
1040     <group id="Samples">
1041
1042       <feature id="SketchDrawer" title="Sketch drawer" tooltip="Creates sketch using elements of selected shape belonging to selected plane"
1043             icon="icons/Sketch/drawer.png"
1044             helpfile="sketchDrawer.html">
1045         <shape_selector id="base_shape" label="Shape:" tooltip="Select a shape for extraction to sketch."
1046             shape_types="objects" concealment="false"/>
1047         <shape_selector id="plane" label="Plane:" tooltip="Select plane for sketch" shape_types="face">
1048           <validator id="GeomValidators_Face" parameters="plane"/>
1049         </shape_selector>
1050         <boolvalue id="add_dimensions" label="Create dimensions" default="true" tooltip="To add dimensions into created sketch" obligatory="0"/>
1051       </feature>
1052     </group>
1053   </workbench>
1054 </plugin>