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