SketchBSpline SketchMacroBSpline SketchMacroBSplinePeriodic SketchBSplinePeriodic
SketchRectangle
SketchProjection
+ SketchCurveFitting
SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
SketchConstraintParallel SketchConstraintPerpendicular
SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
tooltip="Center coordinates"
accept_expressions="0"
enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="circle_rotate"
+ title="Rotate"
+ tooltip="Rotate coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
<labelvalue id="circle_radius"
icon="icons/Sketch/radius.png"
label="Radius"
enable_value="enable_by_preferences">
<validator id="SketchPlugin_CirclePassedPointValidator"/>
</sketch-2dpoint_selector>
+ <sketch-2dpoint_selector id="rotate_point"
+ reference_attribute="rotate_point_ref"
+ title="Rotate point"
+ tooltip="Rotate point coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
<validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
+ <validator id="GeomValidators_Different" parameters="center_point_ref,rotate_point_ref"/>
</box>
<box id="circle_type_by_three_points"
icon="icons/Sketch/circle_3pt_32x32.png"
<validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref,third_point_ref"/>
<validator id="SketchPlugin_ThirdPointValidator" parameters="third_point_ref"/>
</sketch-2dpoint_selector>
+ <sketch-2dpoint_selector id="rotate_point"
+ reference_attribute="rotate_point_ref"
+ title="Rotate point"
+ tooltip="Rotate point coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
<validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
</box>
</toolbox>
obligatory="0"
change_visual_attributes="true"/>
</feature>
+
+ <!-- Curve fitting -->
+ <feature id="SketchCurveFitting"
+ title="Curve fitting"
+ tooltip="Create curve passing through the points"
+ icon="icons/Sketch/curvefitting.png"
+ helpfile="curveFittingFeature.html">
+ <sketch_multi_selector id="points"
+ label="Points"
+ tooltip="Select points for curve fitting"
+ shape_types="Vertices"
+ use_external="true"
+ greed="true">
+ </sketch_multi_selector>
+ <switch id="type">
+ <case id="interpolation_type" title="Interpolation"/>
+ <case id="approximation_type" title="Approximation">
+ <doublevalue id="precision"
+ label="Precision"
+ tooltip="Maximal distance from selected points to the curve"
+ default="0.001"
+ min="1.e-7"
+ use_reset="false">
+ <validator id="GeomValidators_Positive" parameters="0"/>
+ </doublevalue>
+ </case>
+ </switch>
+ <boolvalue id="need_control_poly"
+ label="Create control polygon"
+ default="true"
+ tooltip="Specify if the control polygon should be created"/>
+ <optionalbox id="periodic"
+ title="Periodic"
+ tooltip="Make curve periodic"
+ default="false"
+ has_frame="false"
+ enable_on_check="false"
+ show_title="true">
+ <boolvalue id="closed"
+ label="Closed"
+ default="false"
+ tooltip="Make curve closed, but not periodic"
+ obligatory="1"/>
+ </optionalbox>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ default="false"
+ tooltip="Construction element"
+ obligatory="0"
+ change_visual_attributes="true"/>
+ <validator id="SketchPlugin_CurveFittingValidator"/>
+ <action id="reorder_points"
+ label="Reorder points"
+ tooltip="Sort selected points to minimize the distance heighbors"/>
+ </feature>
</group>
<group id="Segmentation">
use_sketch_plane="false">
<validator id="SketchPlugin_ProjectionValidator"/>
</sketch_shape_selector>
- <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"
- change_visual_attributes="true"/>
+ <radiobox id="keep_reference"
+ align_subs="vertical">
+ <radio id="true"
+ title="Keep reference to the original shape"
+ tooltip="The reference to the original curve is stored. So it can be changed later.">
+ <boolvalue id="IncludeToResult"
+ label="Include into the sketch result"
+ default="true"
+ tooltip="Include projected feature into the sketch result"
+ change_visual_attributes="true"/>
+ </radio>
+ <radio id="false"
+ title="Break connection with the original shape"
+ tooltip="A sketch entity will be created without connection to the selected shape.">
+ <boolvalue id="make_fixed"
+ label="Make projected curve fixed"
+ default="true"
+ tooltip="Assign the Fixed constraint to the result of projection"/>
+ </radio>
+ </radiobox>
<validator id="PartSet_ProjectionSelection"/>
</feature>
<sketch_shape_selector id="ConstraintEntityA"
label="Mirror line" tooltip="Select mirror line" shape_types="edge">
<validator id="GeomValidators_ShapeType" parameters="line"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC,ConstraintEntityB"/>
</sketch_shape_selector>
<sketch_multi_selector id="ConstraintMirrorList"
label="Segments"
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
</sketch_shape_selector>
<sketch_shape_selector
id="MultiTranslationEndPoint"
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
</sketch_shape_selector>
</groupbox>
</box>
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
</sketch_shape_selector>
<sketch_shape_selector
id="MultiTranslationEndPoint"
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
</sketch_shape_selector>
</groupbox>
</box>
tooltip="Center of rotation"
shape_types="vertex">
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
- <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB,ConstraintEntityA"/>
</sketch_shape_selector>
<toolbox id="AngleType">
<box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
tooltip="Offset a curve to a distance"
icon="icons/Sketch/offset.png"
helpfile="offsetFeature.html">
+ <toolbox id="offset_joint">
+ <box id="KeepDistance"
+ icon="icons/Sketch/offset_keep_distance_32x32.png"
+ title="Keep distance"/>
+ <box id="Arcs"
+ icon="icons/Sketch/offset_arcs_32x32.png"
+ title="Arcs"/>
+ <box id="Lines"
+ icon="icons/Sketch/offset_lines_32x32.png"
+ title="Lines"/>
+ </toolbox>
<sketch_multi_selector id="segments"
label="Edges"
tooltip="Select edges to offset"
shape_types="Edges"
use_external="true"
greed="true">
+ <validator id="SketchPlugin_CopyValidator" />
</sketch_multi_selector>
<doublevalue id="offset_value"
label="Offset value"
tooltip="Reverse the offset"
default="false"
obligatory="0"/>
- <boolvalue id="Auxiliary"
- label="Auxiliary"
- tooltip="Construction element"
+ <boolvalue id="approx"
+ label="Approx by segments and arcs"
+ tooltip="Approx by segments and arcs"
default="false"
- obligatory="0"
- change_visual_attributes="true"/>
+ obligatory="0"/>
<action id="add_wire"
label="Select wire"
tooltip="Add the list of segments composing a wire with the selected items through the coincidence by boundary points"/>
<feature id="SketchConstraintMiddle" title="Middle point" tooltip="Create constraint for setting middle point on a line"
icon="icons/Sketch/middlepoint.png"
helpfile="middleFeature.html">
- <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>
+ <toolbox id="middle_type">
+ <box id="middle_type_by_line_and_point"
+ icon="icons/Sketch/middlepoint.png"
+ title="Line and point">
+ <sketch_shape_selector id="ConstraintEntityA"
+ label="First object"
+ tooltip="Select a first object"
+ shape_types="vertex edge"
+ use_external="true">
+ <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"
+ use_external="true">
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+ <validator id="SketchPlugin_MiddlePointAttr" parameters="ConstraintEntityA"/>
+ </sketch_shape_selector>
+ </box>
+ <box id="middle_type_by_line"
+ icon="icons/Sketch/middlepoint_obj.png"
+ title="Line">
+ <sketch_shape_selector id="ConstraintEntityA"
+ label="Object"
+ tooltip="Select a first object"
+ shape_types="edge"
+ use_external="true">
+ </sketch_shape_selector>
+ </box>
+ </toolbox>
<validator id="PartSet_MiddlePointSelection"/>
</feature>