nested="SketchPoint SketchIntersectionPoint SketchLine
SketchCircle SketchMacroCircle SketchArc SketchMacroArc
SketchEllipse SketchMacroEllipse SketchEllipticArc SketchMacroEllipticArc
+ SketchBSpline SketchMacroBSpline SketchMacroBSplinePeriodic SketchBSplinePeriodic
SketchRectangle
SketchProjection
+ SketchCurveFitting
SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
SketchConstraintParallel SketchConstraintPerpendicular
SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
SketchConstraintCoincidence SketchConstraintCoincidenceInternal
SketchConstraintMirror SketchConstraintAngle
SketchMultiRotation SketchMultiTranslation
+ SketchOffset
SketchConstraintCollinear SketchConstraintMiddle"
when_nested="accept abort"
title="Sketch"
<sketch-start-label id="External" geometrical_selection="true" 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>
- <!-- <label id="SolverDOF"/> -->
- <label id="SolverError" styleSheet="color : red; font : bold"/>
+ <undo_label id="SolverError" isHTML="true" />
<validator id="SketchPlugin_SolverErrorValidator"/>
</feature>
helpfile="pointFeature.html">
<sketch-2dpoint_selector id="PointCoordinates" accept_expressions="0" title="Point" tooltip="Point coordinates"
enable_value="enable_by_preferences"/>
- <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
</feature>
<!-- SketchLine -->
enable_value="enable_by_preferences"/>
<labelvalue id="LineLength" accept_expressions="0" label="Length" default="computed" icon="icons/Sketch/distance_value.png"
tooltip="Line length" obligatory="0" enable_value="false"/>
- <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
<validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
</feature>
</group>
accept_expressions="0"
enable_value="enable_by_preferences">
</labelvalue>
- <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
</feature>
<!-- SketchMacroCircle -->
<feature id="SketchMacroCircle"
accept_expressions="0"
obligatory="0"
enable_value="enable_by_preferences">
- <validator id="GeomValidators_Positive"/>
</labelvalue>
<boolvalue id="Auxiliary"
tooltip="Construction element"
label="Auxiliary"
default="false"
- obligatory="0"/>
+ obligatory="0"
+ change_visual_attributes="true"/>
</feature>
<!-- SketchArc -->
label="Auxiliary"
tooltip="Construction element"
default="false"
- obligatory="0"/>
+ obligatory="0"
+ change_visual_attributes="true"/>
</feature>
<!-- SketchMacroArc -->
<box id="by_transversal_line"
icon="icons/Sketch/arc_perp_32x32.png"
title="Perpendicular to line">
- <sketch_shape_selector id="tangent_point"
- label="Transversal point"
+ <sketch_shape_selector id="transversal_point"
+ label="Point on the perpendicular line"
tooltip="Select point on line"
shape_types="vertex">
<validator id="SketchPlugin_ArcTransversalPoint"/>
</sketch_shape_selector>
- <sketch-2dpoint_selector id="end_point_3"
+ <sketch-2dpoint_selector id="end_point_4"
reference_attribute="end_point_ref"
title="End point"
tooltip="End point"
label="Auxiliary"
tooltip="Construction element"
default="false"
- obligatory="0"/>
+ obligatory="0"
+ change_visual_attributes="true"/>
</feature>
<!-- SketchFillet -->
accept_expressions="0"
enable_value="enable_by_preferences">
</labelvalue>
- <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
</feature>
<!-- SketchMacroEllipse -->
<feature id="SketchMacroEllipse"
tooltip="Passed point coordinates"
accept_expressions="0"
enable_value="enable_by_preferences"/>
+ <validator id="GeomValidators_Different" parameters="first_point,second_point,passed_point"/>
+ <validator id="SketchPlugin_DifferentPointReference" parameters="first_point_ref,second_point_ref"/>
</box>
<box id="by_major_axis_and_point"
icon="icons/Sketch/ellipse_axes_32x32.png"
title="Major axis and passing point">
- <sketch-2dpoint_selector id="first_point"
- reference_attribute="first_point_ref"
+ <sketch-2dpoint_selector id="first_point_1"
+ reference_attribute="first_point_ref_1"
title="Major axis start point"
tooltip="Major axis start point coordinates"
accept_expressions="0"
enable_value="enable_by_preferences"/>
- <sketch-2dpoint_selector id="second_point"
- reference_attribute="second_point_ref"
+ <sketch-2dpoint_selector id="second_point_1"
+ reference_attribute="second_point_ref_1"
title="Major axis end point"
tooltip="Major axis end point coordinates"
accept_expressions="0"
enable_value="enable_by_preferences"/>
- <sketch-2dpoint_selector id="passed_point"
- reference_attribute="passed_point_ref"
+ <sketch-2dpoint_selector id="passed_point_1"
+ reference_attribute="passed_point_ref_1"
title="Passed point"
tooltip="Passed point coordinates"
accept_expressions="0"
enable_value="enable_by_preferences"/>
+ <validator id="GeomValidators_Different" parameters="first_point_1,second_point_1,passed_point_1"/>
+ <validator id="SketchPlugin_DifferentPointReference" parameters="first_point_ref_1,second_point_ref_1"/>
</box>
</toolbox>
<labelvalue id="major_radius"
accept_expressions="0"
obligatory="0"
enable_value="enable_by_preferences">
- <validator id="GeomValidators_Positive"/>
</labelvalue>
<labelvalue id="minor_radius"
icon="icons/Sketch/radius_minor.png"
accept_expressions="0"
obligatory="0"
enable_value="enable_by_preferences">
- <validator id="GeomValidators_Positive"/>
</labelvalue>
<boolvalue id="Auxiliary"
tooltip="Construction element"
label="Auxiliary"
default="false"
- obligatory="0"/>
+ obligatory="0"
+ change_visual_attributes="true"/>
</feature>
<!-- SketchEllipticArc is a hidden feature. It is created inside SketchMacroEllipse. -->
accept_expressions="0"
enable_value="enable_by_preferences">
</labelvalue>
- <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
</feature>
<!-- SketchMacroEllipticArc -->
<feature id="SketchMacroEllipticArc"
accept_expressions="0"
obligatory="0"
enable_value="enable_by_preferences">
- <validator id="GeomValidators_Positive"/>
</labelvalue>
<labelvalue id="minor_radius"
icon="icons/Sketch/radius_minor.png"
accept_expressions="0"
obligatory="0"
enable_value="enable_by_preferences">
- <validator id="GeomValidators_Positive"/>
</labelvalue>
<boolvalue id="Auxiliary"
tooltip="Construction element"
label="Auxiliary"
default="false"
- obligatory="0"/>
+ obligatory="0"
+ change_visual_attributes="true"/>
+ <validator id="GeomValidators_Different" parameters="center,major_axis_point"/>
+ <validator id="SketchPlugin_DifferentPointReference" parameters="center_ref,major_axis_point_ref"/>
+ <validator id="GeomValidators_Different" parameters="start_point,end_point"/>
+ <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
+ </feature>
+ </group>
+
+ <group id="Parametric curves">
+ <!-- SketchBSpline is a hidden feature. It is created inside SketchMacroBSpline. -->
+ <feature id="SketchBSpline"
+ title="B-spline"
+ tooltip="Create B-spline curve"
+ icon="icons/Sketch/bspline.png"
+ helpfile="bsplineFeature.html"
+ internal="1">
+ <bspline-panel id="poles"
+ weights="weights"
+ title="Poles and weights"
+ tooltip="B-spline poles and weights"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_BSplineValidator"/>
+ </bspline-panel>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ default="false"
+ tooltip="Construction element"
+ obligatory="0"
+ change_visual_attributes="true"/>
+ </feature>
+
+ <!-- SketchBSplinePeriodic is a hidden feature. It is created inside SketchMacroBSplinePeriodic. -->
+ <feature id="SketchBSplinePeriodic"
+ title="Periodic B-spline"
+ tooltip="Create periodic B-spline curve"
+ icon="icons/Sketch/bspline_p.png"
+ helpfile="bsplineFeature.html"
+ internal="1">
+ <bspline-panel id="poles"
+ weights="weights"
+ title="Poles and weights"
+ tooltip="B-spline poles and weights"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_BSplineValidator"/>
+ </bspline-panel>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ default="false"
+ tooltip="Construction element"
+ obligatory="0"
+ change_visual_attributes="true"/>
+ </feature>
+
+ <!-- SketchMacroBSpline -->
+ <feature id="SketchMacroBSpline"
+ title="B-spline"
+ tooltip="Create B-spline curve"
+ icon="icons/Sketch/bspline.png"
+ helpfile="bsplineFeature.html">
+ <sketch-bspline_selector id="poles"
+ weights="weights"
+ reference_attribute="poles_ref"
+ title="Poles"
+ tooltip="B-spline poles"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_BSplineValidator"/>
+ </sketch-bspline_selector>
+ <boolvalue id="need_control_poly"
+ label="Create control polygon"
+ default="true"
+ tooltip="Specify if the control polygon should be created"/>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ default="false"
+ tooltip="Construction element"
+ obligatory="0"
+ change_visual_attributes="true"/>
+ </feature>
+
+ <!-- SketchMacroBSplinePeriodic -->
+ <feature id="SketchMacroBSplinePeriodic"
+ title="Periodic B-spline"
+ tooltip="Create periodic B-spline curve"
+ icon="icons/Sketch/bspline_p.png"
+ helpfile="bsplineFeature.html">
+ <sketch-bspline_selector id="poles"
+ weights="weights"
+ reference_attribute="poles_ref"
+ title="Poles"
+ tooltip="B-spline poles"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_BSplineValidator"/>
+ </sketch-bspline_selector>
+ <boolvalue id="need_control_poly"
+ label="Create control polygon"
+ default="true"
+ tooltip="Specify if the control polygon should be created"/>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ default="false"
+ tooltip="Construction element"
+ 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>
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"/>
+ <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>
use_sketch_plane="false">
<validator id="SketchPlugin_IntersectionValidator"/>
</sketch_shape_selector>
- <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"/>
+ <boolvalue id="IncludeToResult" label="Include into the sketch result" default="true" tooltip="Include projected feature into the sketch result"
+ change_visual_attributes="true"/>
<validator id="PartSet_IntersectionSelection"/>
</feature>
</group>
<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">
</integervalue>
<validator id="PartSet_MultyTranslationSelection" />
</feature>
+
+ <!-- Offset curve -->
+ <feature id="SketchOffset"
+ title="Offset"
+ tooltip="Offset a curve to a distance"
+ icon="icons/Sketch/offset.png"
+ helpfile="offsetFeature.html">
+ <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="Offset value"
+ default="1" min="0.000001"
+ use_reset="false">
+ <validator id="GeomValidators_Positive" parameters="1e-07"/>
+ </doublevalue>
+ <boolvalue id="reversed"
+ label="Reversed"
+ tooltip="Reverse the offset"
+ default="false"
+ 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>
</group>
<group id="Dimensional constraints">
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
- <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityB"/>
</sketch_shape_selector>
<sketch_shape_selector
id="ConstraintEntityB"
<validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
<validator id="GeomValidators_ShapeType" parameters="vertex,line"/>
- <validator id="PartSet_DifferentPoints" parameters="ConstraintEntityA"/>
</sketch_shape_selector>
<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"/>
+ <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
</doublevalue_editor>
<module_choice id="LocationType"
<sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
- <validator id="GeomValidators_Positive"/>
+ <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
</doublevalue_editor>
<module_choice id="LocationType"
<sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Distance" id="DistanceValue" default="computed" min="0">
- <validator id="GeomValidators_Positive"/>
+ <validator id="GeomValidators_Positive" parameters="-1.e-10"/>
</doublevalue_editor>
<module_choice id="LocationType"
<!-- SketchConstraintAngle -->
<feature id="SketchConstraintAngle" title="Angle" tooltip="Set fixed angle between two line segments" icon="icons/Sketch/angle_constr.png"
helpfile="angleFeature.html">
- <sketch_shape_selector id="ConstraintEntityA" label="Line 1" tooltip="Select a line" shape_types="edge" >
+ <sketch_feature_point_selector
+ id="ConstraintEntityA"
+ selection_attributes="ConstraintEntityA SelectedPointA"
+ label="Line 1"
+ tooltip="Select a line"
+ shape_types="edge"
+ use_external="true">
<validator id="GeomValidators_ShapeType" parameters="line"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
- </sketch_shape_selector>
- <sketch_shape_selector id="ConstraintEntityB" label="Line 2" tooltip="Select a line" shape_types="edge" >
+ </sketch_feature_point_selector>
+ <sketch_feature_point_selector
+ id="ConstraintEntityB"
+ selection_attributes="ConstraintEntityB SelectedPointB"
+ label="Line 2"
+ tooltip="Select a line"
+ shape_types="edge"
+ use_external="true">
<validator id="GeomValidators_ShapeType" parameters="line"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
- </sketch_shape_selector>
+ </sketch_feature_point_selector>
<sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Angle" id="AngleValue" default="computed" min="0" max="360" />
<validator id="PartSet_AngleSelection"/>
buttons_dir="horizontal"
label="Angle type"
tooltip="Type of angle"
- string_list="Direct Complementary Additional"
+ string_list="Direct Supplementary Additional"
icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
default="0"
/>
helpfile="equalFeature.html">
<sketch_shape_selector id="ConstraintEntityA"
label="First object" tooltip="Select edge" shape_types="edge">
+ <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityB"/>
<validator id="PartSet_DifferentObjects"/>
<validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
</sketch_shape_selector>