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