+
+ <!-- SketchPoint -->
+ <feature id="SketchPoint" title="Point" tooltip="Create point" icon="icons/Sketch/point.png">
+ <sketch-2dpoint_selector id="PointCoordindates" 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"/>
+ </feature>
+
+ <!-- SketchLine -->
+ <feature id="SketchLine" title="Line" tooltip="Create line" icon="icons/Sketch/line.png">
+ <sketch-2dpoint_selector id="StartPoint" accept_expressions="0" title="Start point" tooltip="Start point coordinates"
+ enable_value="enable_by_preferences"/>
+ <sketch-2dpoint_selector id="EndPoint" accept_expressions="0" title="End point" tooltip="End point coordinates"
+ 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"/>
+ <validator id="GeomValidators_Different" parameters="StartPoint,EndPoint"/>
+ </feature>
+ </group>
+ <group id="Circular geometry">
+ <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
+ <feature id="SketchCircle"
+ title="Circle"
+ tooltip="Create circle"
+ icon="icons/Sketch/circle.png"
+ internal="1">
+ <sketch-2dpoint_selector id="circle_center"
+ title="Center"
+ tooltip="Center coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <labelvalue id="circle_radius"
+ icon="icons/Sketch/radius.png"
+ label="Radius:"
+ tooltip="Set radius"
+ default="computed"
+ accept_expressions="0"
+ enable_value="enable_by_preferences">
+ </labelvalue>
+ <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
+ </feature>
+ <!-- SketchMacroCircle -->
+ <feature id="SketchMacroCircle"
+ icon="icons/Sketch/circle.png"
+ title="Circle"
+ tooltip="Create circle">
+ <toolbox id="circle_type" modified_in_edit="false">
+ <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">
+ <toolbox id="arc_type" modified_in_edit="false">
+ <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="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref"/>
+ <validator id="SketchPlugin_ArcEndPointValidator" parameters="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>
+ </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 objects"
+ icon="icons/Sketch/fillet.png">
+ <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>
+ <!-- SketchConstraintSplit -->
+ <feature id="SketchConstraintSplit" title="Split"
+ tooltip="Cut selected segment arc or circle on existing coincident points"
+ icon="icons/Sketch/split.png">
+ <sketch_sub_shape_selector
+ id="ConstraintValue"
+ label="Split feature"
+ tooltip="Select feature for split"
+ shape_types="edge"
+ use_external="false"
+ use_graphic_intersection="false">
+ <validator id="SketchPlugin_SplitValidator"/>
+ </sketch_sub_shape_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">
+ <sketch_feature_point_selector
+ id="SelectedObject"
+ label="Split feature"
+ tooltip="Select feature for split"
+ shape_types="edge"
+ use_external="false"
+ use_graphic_intersection="true">
+ <validator id="SketchPlugin_TrimValidator"/>
+ </sketch_feature_point_selector>
+ <validator id="PartSet_SplitSelection"/>
+ </feature>
+ </group>
+
+ <group id="Projection">
+ <!-- Intersection Point -->
+ <!-- feature
+ id="SketchIntersectionPoint"
+ title="Intersection Point"
+ tooltip="Create intersection point"
+ icon="icons/Sketch/intersection_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 -->
+
+ <!-- Projected feature -->
+ <feature
+ id="SketchProjection"
+ title="Projection"
+ tooltip="Project feature onto sketch plane"
+ icon="icons/Sketch/projection.png">
+ <sketch_shape_selector
+ id="ExternalFeature"
+ label="Edge"
+ tooltip="Select external edge."
+ shape_types="edge"
+ use_external="true"
+ can_create_external="false"
+ use_sketch_plane="false">
+ <validator id="SketchPlugin_ProjectionValidator"/>
+ </sketch_shape_selector>
+ <validator id="PartSet_ProjectionSelection"/>