<group id="Basic">
<feature
id="Sketch"
- nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchMultiRotation SketchMultiTranslation"
+ nested="SketchPoint SketchLine SketchCircle SketchArc SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintParallel SketchConstraintPerpendicular SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical SketchConstraintEqual SketchConstraintTangent SketchConstraintFillet SketchConstraintCoincidence SketchConstraintMirror SketchConstraintAngle SketchMultiRotation SketchMultiTranslation"
when_nested="accept abort"
title="Sketch"
tooltip="Create sketch"
<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">
<validator id="GeomValidators_Face" parameters="plane"/>
</sketch-start-label>
+ <error_label id="SolverError"/>
+ <validator id="SketchPlugin_SolverErrorValidator"/>
<!--icon=":pictures/x_point.png"-->
</feature>
<feature id="SketchPoint" title="Point" tooltip="Create point" icon=":icons/point.png">
<sketch-2dpoint_selector id="StartPoint" title="Start point" tooltip="Start point coordinates" previous_feature_param="EndPoint"/>
<sketch-2dpoint_selector id="EndPoint" 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" title="Center" tooltip="Center coordinates"/>
<sketch-2dpoint_selector id="ArcStartPoint" title="Start point" tooltip="Start point"/>
<sketch-2dpoint_selector id="ArcEndPoint" title="End point" tooltip="End point"/>
<boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <validator id="GeomValidators_Different" parameters="ArcCenter,ArcStartPoint,ArcEndPoint"/>
+ </feature>
+ <!-- SketchConstraintFillet -->
+ <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
+ <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" min="0" default="1" use_reset="false">
+ <validator id="GeomValidators_Positive"/>
+ </doublevalue>
</feature>
</group>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
- </sketch_shape_selector>/>
+ </sketch_shape_selector>
<sketch_shape_selector
id="ConstraintEntityB"
label="Second object"
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
<validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
</sketch_shape_selector>
- <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
+ <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Distance" id="ConstraintValue" default="computed" min="0">
<validator id="GeomValidators_Positive"/>
<!-- SketchConstraintLength -->
<feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon=":icons/length.png">
<label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
- <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line"
- shape_types="edge" >
- <validator id="GeomValidators_ShapeType" parameters="line"/>
- </shape_selector>
- <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
+ <shape_selector id="ConstraintEntityA" label="Line" tooltip="Select an line" shape_types="edge" >
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ </shape_selector>
+ <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
<validator id="GeomValidators_Positive"/>
</doublevalue_editor>
shape_types="edge">
<validator id="GeomValidators_ShapeType" parameters="circle"/>
</shape_selector>
- <sketch-2dpoint_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
- <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed"/>
+ <sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
+ <doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
+ <validator id="GeomValidators_Positive"/>
+ </doublevalue_editor>
<validator id="PartSet_RadiusSelection"/>
</feature>
-
- <!-- SketchConstraintParallel -->
+
+ <!-- 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" >
+ <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" >
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+ </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"/>
+ </feature>
+
+ <!-- SketchConstraintParallel -->
<feature id="SketchConstraintParallel" title="Parallel" tooltip="Create constraint defining two parallel lines" icon=":icons/parallel.png">
<sketch_shape_selector id="ConstraintEntityA"
label="First line" tooltip="Select a line" shape_types="edge">
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
</sketch_shape_selector>
+ <validator id="PartSet_EqualSelection"/>
</feature>
<!-- SketchConstraintTangent -->
- <feature id="SketchConstraintTangent" title="Tangent" tooltip="Create constraint defining tangency of two objects" icon=":icons/tangent.png">
+ <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="PartSet_DifferentObjects"/>
</sketch_shape_selector>
<sketch_shape_selector id="ConstraintEntityB"
label="Second object" tooltip="Select line or arc" shape_types="edge">
- <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
- <validator id="PartSet_DifferentObjects"/>
+ <validator id="PartSet_CoincidentAttr" parameters="ConstraintEntityA"/>
+ <validator id="SketchPlugin_TangentAttr" parameters="ConstraintEntityA"/>
+ <validator id="PartSet_DifferentObjects"/>
</sketch_shape_selector>
<validator id="PartSet_TangentSelection"/>
</feature>
-
</group>
<group id="Edit">
- <!-- SketchConstraintFillet -->
- <feature id="SketchConstraintFillet" title="Fillet" tooltip="Create constraint defining fillet between two objects" icon=":icons/fillet.png">
- <sketch_shape_selector id="ConstraintEntityA"
- label="First object" tooltip="Select line or arc" shape_types="edge">
- <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_DifferentObjects"/>
- </sketch_shape_selector>
-
- <doublevalue label="Value" tooltip="Fillet radius" id="ConstraintValue" min="0" default="1" use_reset="false">
- <validator id="GeomValidators_Positive"/>
- </doublevalue>
- <validator id="PartSet_FilletSelection"/>
- </feature>
-
<!-- SketchConstraintMirror -->
<feature
id="SketchConstraintMirror"
<validator id="GeomValidators_ShapeType" parameters="line"/>
</sketch_shape_selector>
<sketch_multi_selector id="ConstraintMirrorList"
- label="segments"
+ label="Segments:"
tooltip="Select list of mirroring objects"
type_choice="Edges"
use_external="true">
<validator id="SketchPlugin_MirrorAttr" />
</sketch_multi_selector>
</feature>
+
<!-- SketchMultiTranslation -->
<feature
id="SketchMultiTranslation"
title="Translation" icon=":icons/translate.png"
- tooltip="Make a number of shifted copies of a group of objects">
+ tooltip="Multiple translation">
<sketch_multi_selector id="MultiTranslationList"
- label="segments"
+ label="Segments:"
tooltip="Select list of translating objects"
type_choice="Edges"
use_external="true">
<validator id="SketchPlugin_CopyValidator" />
</sketch_multi_selector>
- <groupbox title="Direction">
- <sketch-2dpoint_selector
- id="MultiTranslationStartPoint"
- title="Start point"
- tooltip="Start point of translation"/>
- <sketch-2dpoint_selector
- id="MultiTranslationEndPoint"
- title="End point"
- tooltip="Final point of translation"/>
- </groupbox>
- <integervalue id="MultiTranslationCopies"
- label="Number of copies"
- tooltip="Number of copies"
- default="1" min="1" use_reset="false">
+ <toolbox id="ValueType">
+ <box id="SingleValue" title="Single value" icon=":icons/translate_32x32.png">
+ <groupbox title="Direction">
+ <sketch-2dpoint_selector
+ id="MultiTranslationStartPoint"
+ title="Start point"
+ tooltip="Start point of translation"/>
+ <sketch-2dpoint_selector
+ id="MultiTranslationEndPoint"
+ title="End point"
+ tooltip="Final point of translation"/>
+ </groupbox>
+ </box>
+ <box id="FullValue" title="Full value" icon=":icons/translate_full_32x32.png">
+ <groupbox title="Direction">
+ <sketch-2dpoint_selector
+ id="MultiTranslationFullStartPoint"
+ title="Start point"
+ tooltip="Start point of translation"/>
+ <sketch-2dpoint_selector
+ id="MultiTranslationFullEndPoint"
+ title="End point"
+ tooltip="Final point of translation"/>
+ </groupbox>
+ </box>
+ </toolbox>
+ <integervalue id="MultiTranslationObjects"
+ label="Total number of objects"
+ tooltip="Total number of objects"
+ default="2" min="2" use_reset="false">
<validator id="GeomValidators_Positive"/>
</integervalue>
</feature>
+
<!-- SketchMultiRotation -->
<feature
id="SketchMultiRotation"
title="Rotation" icon=":icons/rotate.png"
- tooltip="Make a number of rotated copies of a group of objects">
+ tooltip="Multiple rotation">
<sketch_multi_selector id="MultiRotationList"
- label="segments"
+ label="Segments:"
tooltip="Select list of rotating objects"
type_choice="Edges"
use_external="true">
<sketch-2dpoint_selector
id="MultiRotationCenter"
title="Center of rotation"
- tooltip="Center of rotation"/>
- <point2dangle id="MultiRotationAngle"
+ tooltip="Center of rotation"
+ default="0"/>
+ <toolbox id="AngleType">
+ <box id="SingleAngle" title="Single angle" icon=":icons/angle_up_32x32.png">
+ <point2dangle id="MultiRotationAngle"
first_point="MultiRotationCenter"
label="Angle"
icon=":icons/angle.png"
tooltip="Rotation angle"
default="90"/>
- <integervalue id="MultiRotationCopies"
- label="Number of copies"
- tooltip="Number of copies"
- default="1" min="1" 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"
+ icon=":icons/angle.png"
+ tooltip="Rotation angle"/>
+ </box>
+ </toolbox>
+ <integervalue id="MultiRotationObjects"
+ label="Total number of objects"
+ tooltip="Total number of objects"
+ default="2" min="2" use_reset="false">
<validator id="GeomValidators_Positive"/>
</integervalue>
</feature>