2 Copyright (C) 2014-2017 CEA/DEN, EDF R&D
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.
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.
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
18 See http:##www.salome-platform.org/ or
19 email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
23 <workbench id="Sketch">
24 <group id="Linear geometry">
27 nested="SketchPoint SketchIntersectionPoint SketchLine
28 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
31 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance
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"
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"/>
47 <label id="SolverDOF"/>
48 <label id="SolverError" styleSheet="color : red; font : bold"/>
49 <validator id="SketchPlugin_SolverErrorValidator"/>
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"/>
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"/>
71 <group id="Circular geometry">
72 <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
73 <feature id="SketchCircle"
75 tooltip="Create circle"
76 icon="icons/Sketch/circle.png"
78 <sketch-2dpoint_selector id="circle_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"
88 accept_expressions="0"
89 enable_value="enable_by_preferences">
91 <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
93 <!-- SketchMacroCircle -->
94 <feature id="SketchMacroCircle"
95 icon="icons/Sketch/circle.png"
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"
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"
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"/>
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"
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"
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"
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"/>
147 <labelvalue id="circle_radius"
148 icon="icons/Sketch/radius.png"
152 accept_expressions="0"
154 enable_value="enable_by_preferences">
155 <validator id="GeomValidators_Positive"/>
157 <boolvalue id="Auxiliary"
158 tooltip="Construction element"
165 <feature id="SketchArc"
166 icon="icons/Sketch/arc.png"
170 <sketch-2dpoint_selector id="center_point"
172 tooltip="Center of a circle"
173 accept_expressions="0"
174 enable_value="enable_by_preferences"/>
175 <sketch-2dpoint_selector id="start_point"
177 tooltip="Start point"
178 accept_expressions="0"
179 enable_value="enable_by_preferences"/>
180 <sketch-2dpoint_selector id="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"
190 accept_expressions="0"
194 enable_value="enable_by_preferences">
196 <labelvalue id="angle"
197 icon="icons/Sketch/angle.png"
203 enable_value="enable_by_preferences"/>
204 <boolvalue id="Auxiliary"
206 tooltip="Construction element"
211 <!-- SketchMacroArc -->
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"
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"
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"
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"/>
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"
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"
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"
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"/>
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"
286 accept_expressions="0"
287 enable_value="enable_by_preferences">
288 <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
289 </sketch-2dpoint_selector>
292 <labelvalue id="radius"
293 icon="icons/Sketch/radius.png"
296 accept_expressions="0"
300 enable_value="enable_by_preferences">
302 <labelvalue id="angle"
303 icon="icons/Sketch/angle.png"
309 enable_value="enable_by_preferences"/>
310 <boolvalue id="Auxiliary"
312 tooltip="Construction element"
317 <!-- SketchFillet -->
318 <feature id="SketchFillet"
320 tooltip="Create constraint defining fillet between two objects"
321 icon="icons/Sketch/fillet.png">
322 <sketch_shape_selector id="fillet_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"/>-->
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
336 selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
338 tooltip="Select segment for split"
340 use_external="false">
341 <validator id="SketchPlugin_SplitValidator"/>
342 </sketch_feature_point_selector>
343 <validator id="PartSet_SplitSelection"/>
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
351 selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
353 tooltip="Select segment for trim"
355 use_external="false">
356 <validator id="SketchPlugin_TrimValidator"/>
357 </sketch_feature_point_selector>
358 <validator id="PartSet_SplitSelection"/>
362 <group id="Projection">
363 <!-- Intersection Point -->
365 id="SketchIntersectionPoint"
366 title="Intersection Point"
367 tooltip="Create intersection point"
368 icon="icons/Sketch/intersection_point.png">
369 <sketch_shape_selector
372 tooltip="Select external line."
375 use_sketch_plane="false">
376 <validator id="GeomValidators_ShapeType" parameters="line"/>
377 <validator id="SketchPlugin_IntersectionValidator"/>
378 </sketch_shape_selector>
381 <!-- Projected feature -->
383 id="SketchProjection"
385 tooltip="Project feature onto sketch plane"
386 icon="icons/Sketch/projection.png">
387 <sketch_shape_selector
390 tooltip="Select external edge."
393 can_create_external="false"
394 use_sketch_plane="false">
395 <validator id="SketchPlugin_ProjectionValidator"/>
396 </sketch_shape_selector>
397 <validator id="PartSet_ProjectionSelection"/>
401 <group id="Replication">
402 <!-- SketchConstraintMirror -->
404 id="SketchConstraintMirror"
405 title="Mirror" icon="icons/Sketch/mirror.png"
406 tooltip="Create constraint, mirroring group of objects">
407 <sketch_shape_selector id="ConstraintEntityA"
408 label="Mirror line" tooltip="Select mirror line" shape_types="edge">
409 <validator id="GeomValidators_ShapeType" parameters="line"/>
410 </sketch_shape_selector>
411 <sketch_multi_selector id="ConstraintMirrorList"
413 tooltip="Select list of objects to be mirrored"
417 <validator id="SketchPlugin_MirrorAttr" />
418 </sketch_multi_selector>
419 <validator id="PartSet_MultyTranslationSelection" />
422 <!-- SketchMultiTranslation -->
424 id="SketchMultiTranslation"
425 title="Translation" icon="icons/Sketch/translate.png"
426 tooltip="Multiple translation">
427 <sketch_multi_selector id="MultiTranslationList"
429 tooltip="Select list of objects to be translated"
433 <validator id="SketchPlugin_CopyValidator" />
434 </sketch_multi_selector>
435 <toolbox id="ValueType">
436 <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
437 <groupbox title="Direction">
438 <sketch_shape_selector
439 id="MultiTranslationStartPoint"
441 tooltip="Start point of translation"
442 shape_types="vertex">
443 <validator id="PartSet_DifferentObjects"/>
444 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
445 </sketch_shape_selector>
446 <sketch_shape_selector
447 id="MultiTranslationEndPoint"
449 tooltip="Final point of translation"
450 shape_types="vertex">
451 <validator id="PartSet_DifferentObjects"/>
452 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
453 </sketch_shape_selector>
456 <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
457 <groupbox title="Direction">
458 <sketch_shape_selector
459 id="MultiTranslationStartPoint"
461 tooltip="Start point of translation"
462 shape_types="vertex">
463 <validator id="PartSet_DifferentObjects"/>
464 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
465 </sketch_shape_selector>
466 <sketch_shape_selector
467 id="MultiTranslationEndPoint"
469 tooltip="Final point of translation"
470 shape_types="vertex">
471 <validator id="PartSet_DifferentObjects"/>
472 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
473 </sketch_shape_selector>
477 <integervalue id="MultiTranslationObjects"
478 label="Total number of objects"
479 tooltip="Total number of objects"
480 default="2" min="2" use_reset="false">
481 <validator id="GeomValidators_Positive"/>
483 <validator id="PartSet_MultyTranslationSelection" />
486 <!-- SketchMultiRotation -->
488 id="SketchMultiRotation"
489 title="Rotation" icon="icons/Sketch/rotate.png"
490 tooltip="Multiple rotation">
491 <sketch_multi_selector id="MultiRotationList"
493 tooltip="Select list of objects to be rotated"
497 <validator id="SketchPlugin_CopyValidator" />
498 </sketch_multi_selector>
499 <sketch_shape_selector
500 id="MultiRotationCenter"
501 label="Center of rotation"
502 tooltip="Center of rotation"
503 shape_types="vertex">
504 <validator id="GeomValidators_ShapeType" parameters="vertex"/>
505 </sketch_shape_selector>
506 <toolbox id="AngleType">
507 <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
508 <doublevalue id="MultiRotationAngle"
510 icon="icons/Sketch/angle.png"
511 tooltip="Rotation angle"
512 default="90" use_reset="false"/>
514 <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
515 <doublevalue id="MultiRotationAngle"
517 icon="icons/Sketch/angle.png"
518 tooltip="Rotation angle"
519 default="90" use_reset="false"/>
522 <integervalue id="MultiRotationObjects"
523 label="Total number of objects"
524 tooltip="Total number of objects"
525 default="2" min="2" use_reset="false">
526 <validator id="GeomValidators_Positive"/>
528 <validator id="PartSet_MultyTranslationSelection" />
532 <group id="Dimensional constraints">
533 <!-- SketchConstraintDistance -->
535 id="SketchConstraintDistance"
537 tooltip="Set fixed distance from a point to an object"
538 icon="icons/Sketch/distance.png">
539 <label title="Select objects for distance definition. Following objects can be accepted: point, line or arc end point, center of circle or arc."/>
540 <sketch_shape_selector
541 id="ConstraintEntityA"
543 tooltip="Select point, line end point, line, center of circle or arc."
544 shape_types="edge vertex">
545 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
546 <validator id="PartSet_DifferentObjects"/>
547 <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
548 </sketch_shape_selector>
549 <sketch_shape_selector
550 id="ConstraintEntityB"
551 label="Second object"
552 tooltip="Select point, line end point, line, center of circle or arc."
553 shape_types="edge vertex">
554 <validator id="PartSet_DifferentObjects"/>
555 <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
556 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
557 <validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
558 </sketch_shape_selector>
559 <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
561 <doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
562 <validator id="GeomValidators_Positive"/>
563 </doublevalue_editor>
565 <validator id="PartSet_DistanceSelection"/>
568 <!-- SketchConstraintLength -->
569 <feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
570 <label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
571 <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
572 <validator id="GeomValidators_ShapeType" parameters="line"/>
574 <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
575 <doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
576 <validator id="GeomValidators_Positive"/>
577 </doublevalue_editor>
578 <validator id="PartSet_LengthSelection"/>
581 <!-- SketchConstraintAngle -->
582 <feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png">
583 <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
584 <validator id="GeomValidators_ShapeType" parameters="line"/>
585 <validator id="PartSet_DifferentObjects"/>
586 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
587 </sketch_shape_selector>
588 <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
589 <validator id="GeomValidators_ShapeType" parameters="line"/>
590 <validator id="PartSet_DifferentObjects"/>
591 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
592 </sketch_shape_selector>
593 <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
594 <doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
595 <validator id="PartSet_AngleSelection"/>
596 <module_choice id="AngleType"
597 widget_type="radiobuttons"
598 buttons_dir="horizontal"
600 tooltip="Type of angle"
601 string_list="Direct Complementary Additional"
602 icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
607 <!-- SketchConstraintRadius -->
608 <feature id="SketchConstraintRadius" title="Radius" tooltip="Set fixed radius of a circle or an arc" icon="icons/Sketch/radius_constr.png">
609 <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"/>
610 <shape_selector id="ConstraintEntityA" label="Circle or Arc" tooltip="Select a circle or an arc"
612 <validator id="GeomValidators_ShapeType" parameters="circle"/>
614 <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
615 <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
616 <validator id="GeomValidators_Positive"/>
617 </doublevalue_editor>
618 <validator id="PartSet_RadiusSelection"/>
623 <group id="Geometrical constraints">
625 <!-- SketchConstraintHorizontal -->
626 <feature id="SketchConstraintHorizontal" title="Horizontal" tooltip="Create constraint defining horizontal line" icon="icons/Sketch/horisontal.png">
627 <sketch_shape_selector id="ConstraintEntityA"
628 label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
629 <validator id="GeomValidators_ShapeType" parameters="line"/>
630 </sketch_shape_selector>
631 <validator id="PartSet_HVDirSelection"/>
634 <!-- SketchConstraintVertical -->
635 <feature id="SketchConstraintVertical" title="Vertical" tooltip="Create constraint defining vertical line" icon="icons/Sketch/vertical.png">
636 <sketch_shape_selector id="ConstraintEntityA"
637 label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
638 <validator id="GeomValidators_ShapeType" parameters="line"/>
639 </sketch_shape_selector>
640 <validator id="PartSet_HVDirSelection"/>
643 <!-- SketchConstraintRigid -->
644 <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png">
645 <sketch_shape_selector id="ConstraintEntityA" label="Object"
646 tooltip="Select point, line end point, line, center of circle or arc."
647 shape_types="edge vertex">
648 <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
649 <validator id="SketchPlugin_NotFixed"/>
650 </sketch_shape_selector>
651 <validator id="PartSet_RigidSelection"/>
654 <!-- SketchConstraintParallel -->
655 <feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines"
656 icon="icons/Sketch/parallel.png">
657 <sketch_shape_selector id="ConstraintEntityA"
658 label="First line" tooltip="Select a line" shape_types="edge">
659 <validator id="GeomValidators_ShapeType" parameters="line"/>
660 <validator id="PartSet_DifferentObjects"/>
661 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
662 </sketch_shape_selector>
664 <sketch_shape_selector id="ConstraintEntityB" label="Second line" tooltip="Select a line"
666 <validator id="GeomValidators_ShapeType" parameters="line"/>
667 <validator id="PartSet_DifferentObjects"/>
668 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
669 </sketch_shape_selector>
670 <validator id="PartSet_ParallelSelection"/>
673 <!-- SketchConstraintPerpendicular -->
674 <feature id="SketchConstraintPerpendicular" title="Perpendicular"
675 tooltip="Create constraint defining two perpendicular lines"
676 icon="icons/Sketch/perpendicular.png">
677 <sketch_shape_selector id="ConstraintEntityA"
678 label="First line" tooltip="Select a line"
680 <validator id="PartSet_DifferentObjects"/>
681 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
682 <validator id="GeomValidators_ShapeType" parameters="line"/>
683 </sketch_shape_selector>
685 <sketch_shape_selector id="ConstraintEntityB"
686 label="Second line" tooltip="Select a line"
688 <validator id="PartSet_DifferentObjects"/>
689 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
690 <validator id="GeomValidators_ShapeType" parameters="line"/>
691 </sketch_shape_selector>
692 <validator id="PartSet_PerpendicularSelection"/>
695 <!-- SketchConstraintTangent -->
696 <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon="icons/Sketch/tangent.png">
697 <sketch_shape_selector id="ConstraintEntityA"
698 label="First object" tooltip="Select line or arc" shape_types="edge">
699 <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
700 <validator id="PartSet_DifferentObjects"/>
701 </sketch_shape_selector>
703 <sketch_shape_selector id="ConstraintEntityB"
704 label="Second object" tooltip="Select line or arc" shape_types="edge">
705 <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
706 <validator id="PartSet_DifferentObjects"/>
707 </sketch_shape_selector>
708 <validator id="PartSet_TangentSelection"/>
711 <!-- SketchConstraintCoincidence -->
712 <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">
713 <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
714 <validator id="PartSet_DifferentObjects"/>
715 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
716 </sketch_shape_selector>
717 <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
718 <validator id="PartSet_DifferentObjects"/>
719 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
720 <validator id="SketchPlugin_CoincidenceAttr" parameters="ConstraintEntityA"/>
721 </sketch_shape_selector>
722 <validator id="PartSet_CoincidentSelection"/>
725 <!-- SketchConstraintMiddle -->
726 <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon="icons/Sketch/middlepoint.png">
727 <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
728 <validator id="PartSet_DifferentObjects"/>
729 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
730 <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
731 </sketch_shape_selector>
732 <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
733 <validator id="PartSet_DifferentObjects"/>
734 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
735 <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
736 </sketch_shape_selector>
737 <validator id="PartSet_MiddlePointSelection"/>
740 <!-- SketchConstraintEqual -->
741 <feature id="SketchConstraintEqual" title="Equal"
742 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"
743 icon="icons/Sketch/equal.png">
744 <sketch_shape_selector id="ConstraintEntityA"
745 label="First object" tooltip="Select line, circle or arc" shape_types="edge">
746 <validator id="PartSet_DifferentObjects"/>
747 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
748 </sketch_shape_selector>
750 <sketch_shape_selector id="ConstraintEntityB"
751 label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
752 <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
753 <validator id="PartSet_DifferentObjects"/>
754 <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
755 </sketch_shape_selector>
756 <validator id="PartSet_EqualSelection"/>
759 <!-- SketchConstraintCollinear -->
760 <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon="icons/Sketch/collinear.png">
761 <sketch_shape_selector id="ConstraintEntityA"
762 label="First line" tooltip="Select a line" shape_types="edge">
763 <validator id="GeomValidators_ShapeType" parameters="line"/>
764 <validator id="PartSet_DifferentObjects"/>
765 </sketch_shape_selector>
767 <sketch_shape_selector id="ConstraintEntityB"
768 label="Second line" tooltip="Select a line" shape_types="edge">
769 <validator id="GeomValidators_ShapeType" parameters="line"/>
770 <validator id="PartSet_DifferentObjects"/>
771 </sketch_shape_selector>
772 <validator id="PartSet_CollinearSelection"/>