Salome HOME
Rigid constraint should process selection of vertex, lines and circles. So, a new...
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
1 <!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 <plugin>
4   <workbench id="Sketch">
5     <group id="Basic">
6       <feature
7         id="Sketch"
8         nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchMultiRotation SketchMultiTranslation"
9         when_nested="accept abort"
10         title="Sketch"
11         tooltip="Create sketch"
12         icon=":icons/sketch.png">
13         <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">
14           <validator id="GeomValidators_Face" parameters="plane"/>
15         </sketch-start-label>
16       <!--icon=":pictures/x_point.png"-->
17       </feature>
18       <feature id="SketchPoint" title="Point" tooltip="Create point" icon=":icons/point.png">
19         <sketch-2dpoint_selector id="PointCoordindates" title="Point" tooltip="Point coordinates"/>
20         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
21       </feature>
22       <feature id="SketchLine" title="Line" tooltip="Create line" icon=":icons/line.png">
23         <sketch-2dpoint_selector id="StartPoint" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
24         <sketch-2dpoint_selector id="EndPoint" title="End point" tooltip="End point coordinates"/>
25         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
26       </feature>
27       <feature id="SketchCircle" title="Circle" tooltip="Create circle" icon=":icons/circle.png">
28         <sketch-2dpoint_selector id="CircleCenter" title="Center" tooltip="Center coordinates"/>
29         <point2ddistance id="CircleRadius" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set radius">
30           <validator id="GeomValidators_Positive"/>
31         </point2ddistance>
32         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
33       </feature>
34       <feature id="SketchArc" title="Arc" tooltip="Create arc" icon=":icons/arc.png">
35         <sketch-2dpoint_selector id="ArcCenter" title="Center" tooltip="Center of a circle"/>
36         <sketch-2dpoint_selector id="ArcStartPoint" title="Start point" tooltip="Start point"/>
37         <sketch-2dpoint_selector id="ArcEndPoint" title="End point" tooltip="End point"/>
38         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
39       </feature>
40     </group>
41       
42     <group id="Constraints">
43     <!--  SketchConstraintDistance  -->
44       <feature
45         id="SketchConstraintDistance"
46         title="Distance"
47         tooltip="Set fixed distance from a point to an object"
48         icon=":icons/distance.png">
49         <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
50         <sketch_shape_selector
51               id="ConstraintEntityA"
52               label="First object"
53               tooltip="Select point, line end point, line, center of circle or arc."
54               shape_types="edge vertex">
55           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
56           <validator id="PartSet_DifferentObjects"/>
57           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
58         </sketch_shape_selector>/>
59         <sketch_shape_selector 
60           id="ConstraintEntityB" 
61           label="Second object" 
62           tooltip="Select point, line end point, line, center of circle or arc." 
63           shape_types="edge vertex">
64           <validator id="PartSet_DifferentObjects"/>
65           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
66           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
67           <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
68         </sketch_shape_selector>
69         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
70         
71         <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
72           <validator id="GeomValidators_Positive"/>
73         </doublevalue_editor>
74         
75         <validator id="PartSet_DistanceSelection"/>
76       </feature>
77       
78     <!--  SketchConstraintLength  -->      
79       <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon=":icons/length.png">
80         <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
81         <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" 
82             shape_types="edge" >
83         <validator id="GeomValidators_ShapeType" parameters="line"/>
84     </shape_selector>
85         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
86         <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
87           <validator id="GeomValidators_Positive"/>
88         </doublevalue_editor>
89         <validator id="PartSet_LengthSelection"/>
90       </feature>
91       
92     <!--  SketchConstraintRadius  -->
93       <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon=":icons/radius_constr.png">
94         <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"/>
95         <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc" 
96             shape_types="edge">
97             <validator id="GeomValidators_ShapeType" parameters="circle"/>
98         </shape_selector>
99         <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt"  default="computed" internal="1" obligatory="0"/>
100         <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed"/>
101         <validator id="PartSet_RadiusSelection"/>
102       </feature>
103       
104     <!--  SketchConstraintParallel  -->
105       <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/parallel.png">
106         <sketch_shape_selector id="ConstraintEntityA" 
107             label="First line" tooltip="Select a line" shape_types="edge">
108           <validator id="GeomValidators_ShapeType" parameters="line"/>
109           <validator id="PartSet_DifferentObjects"/>
110           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
111         </sketch_shape_selector>
112         
113         <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line" 
114             shape_types="edge">
115             <validator id="GeomValidators_ShapeType" parameters="line"/>
116             <validator id="PartSet_DifferentObjects"/>
117             <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
118         </sketch_shape_selector>
119         <validator id="PartSet_ParallelSelection"/>
120       </feature>
121       
122     <!--  SketchConstraintPerpendicular  -->
123       <feature id="SketchConstraintPerpendicular" title="Perpendicular" 
124         tooltip="Create constraint defining two perpendicular lines" 
125         icon=":icons/perpendicular.png">
126         <sketch_shape_selector id="ConstraintEntityA" 
127             label="First line" tooltip="Select an line" 
128             shape_types="edge">
129           <validator id="PartSet_DifferentObjects"/>
130           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
131             <validator id="GeomValidators_ShapeType" parameters="line"/>
132         </sketch_shape_selector>
133         
134         <sketch_shape_selector id="ConstraintEntityB" 
135             label="Second line" tooltip="Select an line" 
136             shape_types="edge">
137             <validator id="PartSet_DifferentObjects"/>
138           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
139             <validator id="GeomValidators_ShapeType" parameters="line"/>
140         </sketch_shape_selector>
141         <validator id="PartSet_PerpendicularSelection"/>
142       </feature>
143
144       <!--  SketchConstraintCoincedence  -->
145       <feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points or point on line or circle" icon=":icons/coincedence.png">
146         <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
147           <validator id="PartSet_DifferentObjects"/>
148           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
149         </sketch_shape_selector>
150         <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
151           <validator id="PartSet_DifferentObjects"/>
152           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
153           <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
154         </sketch_shape_selector>
155         <validator id="PartSet_CoincidentSelection"/>
156       </feature>
157
158       <!--  SketchConstraintRigid  -->
159       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon=":icons/fixed.png">
160         <sketch_shape_selector id="ConstraintEntityA" label="Object"
161                         tooltip="Select point, line end point, line, center of circle or arc."
162                         shape_types="edge vertex">
163           <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
164           <validator id="SketchPlugin_NotFixed"/>
165         </sketch_shape_selector>
166         <validator id="PartSet_RigidSelection"/>
167       </feature>
168
169       <!--  SketchConstraintHorizontal  -->
170       <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon=":icons/horisontal.png">
171         <sketch_shape_selector id="ConstraintEntityA" 
172             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
173             <validator id="GeomValidators_ShapeType" parameters="line"/>
174         </sketch_shape_selector>
175         <validator id="PartSet_HVDirSelection"/>
176       </feature>
177       
178     <!--  SketchConstraintVertical  -->
179       <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon=":icons/vertical.png">
180         <sketch_shape_selector id="ConstraintEntityA" 
181             label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
182             <validator id="GeomValidators_ShapeType" parameters="line"/>
183         </sketch_shape_selector>
184         <validator id="PartSet_HVDirSelection"/>
185       </feature>
186       
187     <!--  SketchConstraintEqual  -->
188       <feature id="SketchConstraintEqual" title="Equal"
189         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"
190         icon=":icons/equal.png">
191         <sketch_shape_selector id="ConstraintEntityA" 
192             label="First object" tooltip="Select line, circle or arc" shape_types="edge">
193           <validator id="PartSet_DifferentObjects"/>
194           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
195         </sketch_shape_selector>
196         
197         <sketch_shape_selector id="ConstraintEntityB"
198             label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
199           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
200           <validator id="PartSet_DifferentObjects"/>
201           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
202         </sketch_shape_selector>
203       </feature>
204       
205     <!--  SketchConstraintTangent  -->
206       <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects" icon=":icons/tangent.png">
207         <sketch_shape_selector id="ConstraintEntityA" 
208             label="First object" tooltip="Select line or arc" shape_types="edge">
209           <validator id="PartSet_DifferentObjects"/>
210         </sketch_shape_selector>
211         
212         <sketch_shape_selector id="ConstraintEntityB"
213             label="Second object" tooltip="Select line or arc" shape_types="edge">
214         <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
215         <validator id="PartSet_DifferentObjects"/>
216         </sketch_shape_selector>
217         <validator id="PartSet_TangentSelection"/>
218       </feature>
219       
220          
221     </group>
222     
223     <group id="Edit">
224       <!--  SketchConstraintFillet  -->
225       <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
226         <sketch_shape_selector id="ConstraintEntityA" 
227             label="First object" tooltip="Select line or arc" shape_types="edge">
228           <validator id="PartSet_DifferentObjects"/>
229         </sketch_shape_selector>
230
231         <sketch_shape_selector id="ConstraintEntityB"
232             label="Second object" tooltip="Select line or arc" shape_types="edge">
233           <validator id="PartSet_DifferentObjects"/>
234         </sketch_shape_selector>
235
236         <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0">
237           <validator id="GeomValidators_Positive"/>
238         </doublevalue>
239         <validator id="PartSet_FilletSelection"/>
240       </feature>
241       
242       <!--  SketchConstraintMirror  -->
243       <feature
244         id="SketchConstraintMirror"
245         title="Mirror" icon=":icons/mirror.png"
246         tooltip="Create constraint, mirroring group of objects">
247         <sketch_shape_selector id="ConstraintEntityA"
248             label="Mirror line" tooltip="Select mirror line" shape_types="edge">
249             <validator id="GeomValidators_ShapeType" parameters="line"/>
250         </sketch_shape_selector>
251         <sketch_multi_selector id="ConstraintMirrorList"
252             label="List of objects"
253             tooltip="Select list of mirroring objects"
254             type_choice="Edges"
255             use_external="true">
256             <validator id="SketchPlugin_MirrorAttr" />
257         </sketch_multi_selector>
258       </feature>
259       <!--  SketchMultiTranslation  -->
260       <feature
261         id="SketchMultiTranslation"
262         title="Translation" icon=":icons/translate.png"
263         tooltip="Make a number of shifted copies of a group of objects">
264         <sketch_multi_selector id="MultiTranslationList"
265             label="List of objects"
266             tooltip="Select list of translating objects"
267             type_choice="Edges"
268             use_external="true">
269           <validator id="SketchPlugin_CopyValidator" />
270         </sketch_multi_selector>
271         <groupbox title="Direction">
272           <sketch-2dpoint_selector
273               id="MultiTranslationStartPoint"
274               title="Start point"
275               tooltip="Start point of translation"/>
276           <sketch-2dpoint_selector
277               id="MultiTranslationEndPoint"
278               title="End point"
279               tooltip="Final point of translation"/>
280         </groupbox>
281         <integervalue id="MultiTranslationCopies"
282             label="Number of copies"
283             tooltip="Number of copies" 
284             default="1" min="1">
285           <validator id="GeomValidators_Positive"/>
286         </integervalue>
287       </feature>
288       <!--  SketchMultiRotation  -->
289       <feature
290         id="SketchMultiRotation"
291         title="Rotation" icon=":icons/rotate.png"
292         tooltip="Make a number of rotated copies of a group of objects">
293         <sketch_multi_selector id="MultiRotationList"
294             label="List of objects"
295             tooltip="Select list of rotating objects"
296             type_choice="Edges"
297             use_external="true">
298           <validator id="SketchPlugin_CopyValidator" />
299         </sketch_multi_selector>
300         <sketch-2dpoint_selector
301             id="MultiRotationCenter"
302             title="Center of rotation"
303             tooltip="Center of rotation"/>
304         <doublevalue id="MultiRotationAngle"
305             label="Angle"
306             tooltip="Rotation angle"/>
307         <integervalue id="MultiRotationCopies"
308             label="Number of copies"
309             tooltip="Number of copies" 
310             default="1" min="1">
311           <validator id="GeomValidators_Positive"/>
312         </integervalue>
313       </feature>
314     </group>
315   </workbench>
316 </plugin>