+ <!-- SketchMacroCircle -->
+ <feature id="SketchMacroCircle"
+ icon="icons/Sketch/circle.png"
+ title="Circle"
+ tooltip="Create circle"
+ helpfile="circleFeature.html">
+ <toolbox id="circle_type" modified_in_edit="edit_circle_type">
+ <box id="circle_type_by_center_and_passed_points"
+ icon="icons/Sketch/circle_pt_rad_32x32.png"
+ title="Center and passed points">
+ <sketch-2dpoint_selector id="center_point"
+ reference_attribute="center_point_ref"
+ title="Center point"
+ tooltip="Center point coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="passed_point"
+ reference_attribute="passed_point_ref"
+ title="Passed point"
+ tooltip="Passed point coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_CirclePassedPointValidator"/>
+ </sketch-2dpoint_selector>
+ <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/>
+ </box>
+ <box id="circle_type_by_three_points"
+ icon="icons/Sketch/circle_3pt_32x32.png"
+ title="Three points">
+ <sketch-2dpoint_selector id="first_point"
+ reference_attribute="first_point_ref"
+ title="First point"
+ tooltip="First point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="second_point"
+ reference_attribute="second_point_ref"
+ title="Second point"
+ tooltip="Second point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_DifferentReference" parameters="first_point_ref,second_point_ref"/>
+ </sketch-2dpoint_selector>
+ <sketch-2dpoint_selector id="third_point"
+ reference_attribute="third_point_ref"
+ title="Third point"
+ tooltip="Third point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <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>
+ <validator id="GeomValidators_Different" parameters="first_point_ref,second_point_ref,third_point_ref"/>
+ </box>
+ </toolbox>
+ <labelvalue id="circle_radius"
+ icon="icons/Sketch/radius.png"
+ label="Radius:"
+ tooltip="Set radius"
+ default="computed"
+ 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"/>
+ </feature>
+
+ <!-- SketchArc -->
+ <feature id="SketchArc"
+ icon="icons/Sketch/arc.png"
+ title="Arc"
+ tooltip="Create arc"
+ internal="1">
+ <sketch-2dpoint_selector id="center_point"
+ title="Center"
+ tooltip="Center of a circle"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="start_point"
+ title="Start point"
+ tooltip="Start point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="end_point"
+ title="End point"
+ tooltip="End point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
+ <labelvalue id="radius"
+ icon="icons/Sketch/radius.png"
+ label="Radius:"
+ tooltip="Set radius"
+ accept_expressions="0"
+ min="0"
+ default="0"
+ obligatory="0"
+ enable_value="enable_by_preferences">
+ </labelvalue>
+ <labelvalue id="angle"
+ icon="icons/Sketch/angle.png"
+ label="Angle:"
+ tooltip="Set angle"
+ default="0"
+ use_reset="false"
+ obligatory="0"
+ enable_value="enable_by_preferences"/>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ tooltip="Construction element"
+ default="false"
+ obligatory="0"/>
+ </feature>
+
+ <!-- SketchMacroArc -->
+ <feature
+ id="SketchMacroArc"
+ title="Arc"
+ tooltip="Create arc"
+ icon="icons/Sketch/arc.png"
+ helpfile="arcFeature.html">
+ <toolbox id="arc_type" modified_in_edit="edit_arc_type">
+ <box id="by_center_and_points"
+ icon="icons/Sketch/arc_base_32x32.png"
+ title="Center and two points">
+ <sketch-2dpoint_selector id="center_point"
+ reference_attribute="center_point_ref"
+ title="Center point"
+ tooltip="Center of a circle"
+ accept_expressions="0"
+ enable_value="enable_by_preferences" />
+ <sketch-2dpoint_selector id="start_point_1"
+ reference_attribute="start_point_ref"
+ title="Start point"
+ tooltip="Start point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="end_point_1"
+ reference_attribute="end_point_ref"
+ title="End point"
+ tooltip="End point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
+ <validator id="SketchPlugin_ArcEndPointIntersectionValidator" parameters="end_point_ref"/>
+ </sketch-2dpoint_selector>
+ <validator id="GeomValidators_Different" parameters="center_point,start_point_1,end_point_1"/>
+ </box>
+ <box id="by_three_points"
+ icon="icons/Sketch/arc_3pt_32x32.png"
+ title="Three points on arc">
+ <sketch-2dpoint_selector id="start_point_2"
+ reference_attribute="start_point_ref"
+ title="Start point"
+ tooltip="Start point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="end_point_2"
+ reference_attribute="end_point_ref"
+ title="End point"
+ tooltip="End point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2"/>
+ <validator id="SketchPlugin_DifferentPointReference" parameters="start_point_ref,end_point_ref"/>
+ </sketch-2dpoint_selector>
+ <sketch-2dpoint_selector id="passed_point"
+ reference_attribute="passed_point_ref"
+ title="Passed point"
+ tooltip="Passed point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref,passed_point_ref"/>
+ <validator id="SketchPlugin_ThirdPointValidator" parameters="passed_point_ref"/>
+ </sketch-2dpoint_selector>
+ <validator id="GeomValidators_Different" parameters="start_point_2,end_point_2,passed_point"/>
+ </box>
+ <box id="by_tangent_edge"
+ icon="icons/Sketch/arc_tang_32x32.png"
+ title="Tangent with edge">
+ <sketch_shape_selector id="tangent_point"
+ label="Tangent point"
+ tooltip="Select point on line"
+ shape_types="vertex">
+ <validator id="SketchPlugin_ArcTangentPoint"/>
+ </sketch_shape_selector>
+ <sketch-2dpoint_selector id="end_point_3"
+ reference_attribute="end_point_ref"
+ title="End point"
+ tooltip="End point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
+ </sketch-2dpoint_selector>
+ </box>
+ <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"
+ tooltip="Select point on line"
+ shape_types="vertex">
+ <validator id="SketchPlugin_ArcTransversalPoint"/>
+ </sketch_shape_selector>
+ <sketch-2dpoint_selector id="end_point_3"
+ reference_attribute="end_point_ref"
+ title="End point"
+ tooltip="End point"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ <validator id="SketchPlugin_ArcEndPointValidator" parameters="end_point_ref"/>
+ </sketch-2dpoint_selector>
+ </box>
+ </toolbox>
+ <labelvalue id="radius"
+ icon="icons/Sketch/radius.png"
+ label="Radius:"
+ tooltip="Set radius"
+ accept_expressions="0"
+ min="0"
+ default="0"
+ obligatory="0"
+ enable_value="enable_by_preferences">
+ </labelvalue>
+ <labelvalue id="angle"
+ icon="icons/Sketch/angle.png"
+ label="Angle:"
+ tooltip="Set angle"
+ default="0"
+ use_reset="false"
+ obligatory="0"
+ enable_value="enable_by_preferences"/>
+ <boolvalue id="Auxiliary"
+ label="Auxiliary"
+ tooltip="Construction element"
+ default="false"
+ obligatory="0"/>
+ </feature>
+
+ <!-- SketchFillet -->
+ <feature id="SketchFillet"
+ title="Fillet"
+ tooltip="Create constraint defining fillet between two connected segments"
+ icon="icons/Sketch/fillet.png"
+ helpfile="filletFeature.html">
+ <sketch_shape_selector id="fillet_point"
+ label="Point"
+ tooltip="Select point for fillet (should be shared by two entities only)"
+ shape_types="vertex">
+ <validator id="SketchPlugin_FilletVertexValidator"/>
+ </sketch_shape_selector>
+ <!--<validator id="PartSet_FilletSelection"/>-->
+ </feature>
+ <!-- SketchSplit -->
+ <feature id="SketchSplit" title="Split"
+ tooltip="Cut selected segment arc or circle on existing coincident points"
+ icon="icons/Sketch/split.png"
+ helpfile="splitFeature.html">
+ <sketch_feature_point_selector
+ id="SelectedObject"
+ selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
+ label="Segment"
+ tooltip="Select segment for split"
+ shape_types="edge"
+ use_external="false">
+ <validator id="SketchPlugin_SplitValidator"/>
+ </sketch_feature_point_selector>
+ <validator id="PartSet_SplitSelection"/>
+ </feature>
+ <!-- SketchTrim -->
+ <feature id="SketchTrim" title="Trim"
+ tooltip="Trim selected segment arc or circle on intersection points nearest to the graphic selection"
+ icon="icons/Sketch/trim.png"
+ helpfile="trimFeature.html">
+ <sketch_feature_point_selector
+ id="SelectedObject"
+ selection_attributes="SelectedObject SelectedPoint PreviewObject PreviewPoint"
+ label="Segment"
+ tooltip="Select segment for trim"
+ shape_types="edge"
+ use_external="false">
+ <validator id="SketchPlugin_TrimValidator"/>
+ </sketch_feature_point_selector>
+ <validator id="PartSet_SplitSelection"/>
+ </feature>
+ </group>
+
+ <group id="Elliptic geometry">
+ <!-- SketchEllipse is a hidden feature. It is created inside SketchMacroEllipse. -->
+ <feature id="SketchEllipse"
+ title="Ellipse"
+ tooltip="Create ellipse"
+ icon="icons/Sketch/ellipse.png"
+ internal="1">
+ <sketch-2dpoint_selector id="ellipse_center"
+ title="Center"
+ tooltip="Center coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_first_focus"
+ title="First focus"
+ tooltip="Focus coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_second_focus"
+ title="Second focus"
+ tooltip="Focus coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_major_axis_start_point"
+ title="Major axis start"
+ tooltip="Coordinates of point on negative direction of major axis"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_major_axis_end_point"
+ title="Major axis end"
+ tooltip="Coordinates of point on positive direction of major axis"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_minor_axis_start_point"
+ title="Minor axis start"
+ tooltip="Coordinates of point on negative direction of minor axis"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="ellipse_minor_axis_end_point"
+ title="Minor axis end"
+ tooltip="Coordinates of point on positive direction of minor axis"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <labelvalue id="ellipse_major_radius"
+ icon="icons/Sketch/radius_major.png"
+ label="Major radius:"
+ tooltip="Set major radius"
+ default="computed"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ </labelvalue>
+ <labelvalue id="ellipse_minor_radius"
+ icon="icons/Sketch/radius_minor.png"
+ label="Minor radius:"
+ tooltip="Set minor radius"
+ default="computed"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ </labelvalue>