<group id="Basic">
<feature
id="Sketch"
- nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchConstraintAngle SketchMultiRotation SketchMultiTranslation"
+ nested="SketchPoint SketchIntersectionPoint SketchLine SketchCircle SketchArc SketchRectangle SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchConstraintAngle SketchMultiRotation SketchMultiTranslation SketchConstraintCollinear SketchConstraintMiddle"
when_nested="accept abort"
title="Sketch"
tooltip="Create sketch"
<validator id="SketchPlugin_SolverErrorValidator"/>
<!--icon=":pictures/x_point.png"-->
</feature>
+
+ <!-- SketchPoint -->
<feature id="SketchPoint" title="Point" tooltip="Create point" icon=":icons/point.png">
<sketch-2dpoint_selector id="PointCoordindates" accept_expressions="0" title="Point" tooltip="Point coordinates"/>
<boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
</feature>
+
+ <!-- Intersection Point -->
+ <feature
+ id="SketchIntersectionPoint"
+ title="Intersection Point"
+ tooltip="Create intersection point"
+ icon=":icons/point.png">
+ <sketch_shape_selector
+ id="ExternalLine"
+ label="Edge"
+ tooltip="Select external line."
+ shape_types="edge"
+ use_external="false"
+ use_sketch_plane="false">
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="SketchPlugin_IntersectionValidator"/>
+ </sketch_shape_selector>
+ </feature>
+
+ <!-- SketchLine -->
<feature id="SketchLine" title="Line" tooltip="Create line" icon=":icons/line.png">
<sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
<sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"/>
<boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
<validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
</feature>
- <feature id="SketchCircle" title="Circle" tooltip="Create circle" icon=":icons/circle.png">
- <sketch-2dpoint_selector id="CircleCenter" accept_expressions="0" title="Center" tooltip="Center coordinates"/>
- <point2ddistance id="CircleRadius" accept_expressions="0" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set radius">
- <validator id="GeomValidators_Positive"/>
- </point2ddistance>
+
+ <!-- SketchCircle -->
+ <feature
+ id="SketchCircle"
+ title="Circle"
+ tooltip="Create circle"
+ icon=":icons/circle.png">
+ <toolbox id="CircleType">
+ <box id="CenterRadius" title="Center and radius" icon=":icons/circle_pt_rad_32x32.png">
+ <sketch-2dpoint_selector id="CircleCenter" accept_expressions="0" title="Center" tooltip="Center coordinates"/>
+ <point2ddistance id="CircleRadius" accept_expressions="0" first_point="CircleCenter" label="Radius:" min="0" step="1.0" default="0" icon=":icons/radius.png" tooltip="Set radius">
+ <validator id="GeomValidators_Positive"/>
+ </point2ddistance>
+ </box>
+ <box id="ThreePoints" title="Three points" icon=":icons/circle_3pt_32x32.png">
+ <sketch-2dpoint_selector id="FirstPoint" accept_expressions="0" title="First point" tooltip="First point"/>
+ <sketch-2dpoint_selector id="SecondPoint" accept_expressions="0" title="Second point" tooltip="Second point"/>
+ <sketch-2dpoint_selector id="ThirdPoint" accept_expressions="0" title="Third point" tooltip="Third point"/>
+ </box>
+ </toolbox>
<boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
</feature>
- <feature id="SketchArc" title="Arc" tooltip="Create arc" icon=":icons/arc.png">
- <sketch-2dpoint_selector id="ArcCenter" accept_expressions="0" title="Center" tooltip="Center of a circle"/>
- <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
- <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
+
+ <!-- SketchArc -->
+ <feature
+ id="SketchArc"
+ title="Arc"
+ tooltip="Create arc"
+ icon=":icons/arc.png">
+ <toolbox id="ArcType">
+ <box id="CenterStartEnd" title="Center and two points" icon=":icons/arc_base_32x32.png">
+ <sketch-2dpoint_selector id="ArcCenter" accept_expressions="0" title="Center" tooltip="Center of a circle"/>
+ <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
+ <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
+ <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
+ </box>
+ <box id="ThreePoints" title="Three points on arc" icon=":icons/arc_3pt_32x32.png">
+ <sketch-2dpoint_selector id="ArcStartPoint" accept_expressions="0" title="Start point" tooltip="Start point"/>
+ <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
+ <sketch-2dpoint_selector id="ArcPassedPoint" accept_expressions="0" title="Passed point" tooltip="Passed point"/>
+ <doublevalue id="ArcRadius" accept_expressions="0" label="Radius:" default="computed" icon=":icons/radius.png" tooltip="Set radius" obligatory="0">
+ <validator id="GeomValidators_Positive"/>
+ </doublevalue>
+ <doublevalue id="ArcAngle" label="Angle:" icon=":icons/angle.png" tooltip="Set angle" default="90" use_reset="false" obligatory="0"/>
+ <validator id="GeomValidators_Different" parameters="ArcStartPoint,ArcEndPoint,ArcPassedPoint"/>
+ </box>
+ <box id="Tangent" title="Tangent with edge" icon=":icons/arc_tang_32x32.png">
+ <sketch_shape_selector id="ArcTangentPoint" label="Start point" tooltip="Select point on line" shape_types="vertex">
+ <validator id="SketchPlugin_ArcTangentPoint" parameters="" />
+ </sketch_shape_selector>
+ <sketch-2dpoint_selector id="ArcEndPoint" accept_expressions="0" title="End point" tooltip="End point"/>
+ <doublevalue id="ArcRadius" accept_expressions="0" label="Radius:" default="computed" icon=":icons/radius.png" tooltip="Set radius" obligatory="0">
+ <validator id="GeomValidators_Positive"/>
+ </doublevalue>
+ <doublevalue id="ArcAngle" label="Angle:" icon=":icons/angle.png" tooltip="Set angle" default="90" use_reset="false" obligatory="0"/>
+ </box>
+ </toolbox>
<boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
- <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
</feature>
+ </group>
+
+ <group id="Macro">
<!-- SketchConstraintFillet -->
<feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
- <sketch_shape_selector id="ConstraintEntityA"
+ <!--<sketch_shape_selector id="ConstraintEntityA"
label="Point" tooltip="Select point for fillet (should be shared by two entities only)" shape_types="vertex">
<validator id="SketchPlugin_FilletVertexValidator"/>
- </sketch_shape_selector>
- <doublevalue label="Radius" tooltip="Fillet arc radius" id="ConstraintValue" accept_expressions="0" min="0" default="1" use_reset="false">
+ </sketch_shape_selector>-->
+ <sketch_multi_selector id="ConstraintEntityA"
+ label="Points:"
+ tooltip="Select points for fillets"
+ type_choice="Vertices">
+ <validator id="SketchPlugin_FilletVertexValidator"/>
+ </sketch_multi_selector>
+ <doublevalue label="Radius" tooltip="Fillet arc radius" id="ConstraintValue" accept_expressions="0" min="0" use_reset="false">
<validator id="GeomValidators_Positive"/>
</doublevalue>
<validator id="PartSet_FilletSelection"/>
<!-- SketchConstraintAngle -->
<feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon=":icons/angle_constr.png">
- <shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select an line" shape_types="edge" >
+ <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select an line" shape_types="edge" >
<validator id="GeomValidators_ShapeType" parameters="line"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
- </shape_selector>
- <shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select an line" shape_types="edge" >
+ </sketch_shape_selector>
+ <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select an line" shape_types="edge" >
<validator id="GeomValidators_ShapeType" parameters="line"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
- </shape_selector>
+ </sketch_shape_selector>
<sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Angle" id="ConstraintValue" default="computed" min="0" max="180" />
<validator id="PartSet_AngleSelection"/>
<validator id="PartSet_PerpendicularSelection"/>
</feature>
- <!-- SketchConstraintCoincedence -->
+ <!-- SketchConstraintCoincidence -->
<feature id="SketchConstraintCoincidence" title="Coincident" tooltip="Create constraint for the coincidence of two points or point on line or circle" icon=":icons/coincedence.png">
<sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
<validator id="PartSet_DifferentObjects"/>
<feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects with common coincident point" icon=":icons/tangent.png">
<sketch_shape_selector id="ConstraintEntityA"
label="First object" tooltip="Select line or arc" shape_types="edge">
- <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
</sketch_shape_selector>
<sketch_shape_selector id="ConstraintEntityB"
label="Second object" tooltip="Select line or arc" shape_types="edge">
- <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityA"/>
<validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
<validator id="PartSet_DifferentObjects"/>
</sketch_shape_selector>
<validator id="PartSet_TangentSelection"/>
</feature>
+
+ <!-- SketchConstraintCollinear -->
+ <feature id="SketchConstraintCollinear" title="Collinear" tooltip="Create constraint defining collinearity of two lines" icon=":icons/collinear.png">
+ <sketch_shape_selector id="ConstraintEntityA"
+ label="First line" tooltip="Select a line" shape_types="edge">
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="PartSet_DifferentObjects"/>
+ </sketch_shape_selector>
+
+ <sketch_shape_selector id="ConstraintEntityB"
+ label="Second line" tooltip="Select a line" shape_types="edge">
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="PartSet_DifferentObjects"/>
+ </sketch_shape_selector>
+ <validator id="PartSet_CollinearSelection"/>
+ </feature>
+
+ <!-- SketchConstraintMiddle -->
+ <feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line" icon=":icons/middlepoint.png">
+ <sketch_shape_selector id="ConstraintEntityA" label="First object" tooltip="Select a first object" shape_types="vertex edge">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityB"/>
+ </sketch_shape_selector>
+ <sketch_shape_selector id="ConstraintEntityB" label="Second object" tooltip="Select a second object" shape_types="vertex edge">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+ <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
+ </sketch_shape_selector>
+ <validator id="PartSet_MiddlePointSelection"/>
+ </feature>
</group>
label="Start point"
tooltip="Start point of translation"
shape_types="vertex">
- <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
</sketch_shape_selector>
label="End point"
tooltip="Final point of translation"
shape_types="vertex">
- <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
</sketch_shape_selector>
label="Start point"
tooltip="Start point of translation"
shape_types="vertex">
- <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
</sketch_shape_selector>
label="End point"
tooltip="Final point of translation"
shape_types="vertex">
- <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
</sketch_shape_selector>
use_external="true">
<validator id="SketchPlugin_CopyValidator" />
</sketch_multi_selector>
- <sketch-2dpoint_selector
- id="MultiRotationCenter"
- title="Center of rotation"
- tooltip="Center of rotation"
- default="0"/>
+ <sketch_shape_selector
+ id="MultiRotationCenter"
+ label="Center of rotation"
+ tooltip="Center of rotation"
+ shape_types="vertex">
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
<toolbox id="AngleType">
<box id="SingleAngle" title="Single angle" icon=":icons/angle_up_32x32.png">
- <point2dangle id="MultiRotationAngle"
- first_point="MultiRotationCenter"
+ <doublevalue id="MultiRotationAngle"
label="Angle"
icon=":icons/angle.png"
tooltip="Rotation angle"
- default="90"/>
+ default="90" use_reset="false"/>
</box>
<box id="FullAngle" title="Full angle" icon=":icons/angle_up_full_32x32.png">
- <point2dangle id="MultiRotationFullAngle"
- first_point="MultiRotationCenter"
- label="Full angle"
+ <doublevalue id="MultiRotationAngle"
+ label="Angle"
icon=":icons/angle.png"
- tooltip="Rotation angle"/>
+ tooltip="Rotation angle"
+ default="90" use_reset="false"/>
</box>
</toolbox>
<integervalue id="MultiRotationObjects"