+ <!-- SketchMacroCircle -->
+ <feature id="SketchMacroCircle"
+ icon="icons/Sketch/circle.png"
+ title="Circle"
+ tooltip="Create circle">
+ <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">
+ <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>
+ </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="Segment"
+ tooltip="Select segment 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="Segment"
+ tooltip="Select segment for trim"
+ 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"/>
+ </feature>
+ </group>
+
+ <group id="Replication">
+ <!-- SketchConstraintMirror -->
+ <feature
+ id="SketchConstraintMirror"
+ title="Mirror" icon="icons/Sketch/mirror.png"
+ tooltip="Create constraint, mirroring group of objects">
+ <sketch_shape_selector id="ConstraintEntityA"
+ label="Mirror line" tooltip="Select mirror line" shape_types="edge">
+ <validator id="GeomValidators_ShapeType" parameters="line"/>
+ </sketch_shape_selector>
+ <sketch_multi_selector id="ConstraintMirrorList"
+ label="Segments:"
+ tooltip="Select list of objects to be mirrored"
+ type_choice="Edges"
+ use_external="true"
+ greed ="true">
+ <validator id="SketchPlugin_MirrorAttr" />
+ </sketch_multi_selector>
+ <validator id="PartSet_MultyTranslationSelection" />
+ </feature>
+
+ <!-- SketchMultiTranslation -->
+ <feature
+ id="SketchMultiTranslation"
+ title="Translation" icon="icons/Sketch/translate.png"
+ tooltip="Multiple translation">
+ <sketch_multi_selector id="MultiTranslationList"
+ label="Segments:"
+ tooltip="Select list of objects to be translated"
+ type_choice="Edges"
+ use_external="true"
+ greed ="true">
+ <validator id="SketchPlugin_CopyValidator" />
+ </sketch_multi_selector>
+ <toolbox id="ValueType">
+ <box id="SingleValue" title="Single value" icon="icons/Sketch/translate_32x32.png">
+ <groupbox title="Direction">
+ <sketch_shape_selector
+ id="MultiTranslationStartPoint"
+ label="Start point"
+ tooltip="Start point of translation"
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <sketch_shape_selector
+ id="MultiTranslationEndPoint"
+ label="End point"
+ tooltip="Final point of translation"
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ </groupbox>
+ </box>
+ <box id="FullValue" title="Full value" icon="icons/Sketch/translate_full_32x32.png">
+ <groupbox title="Direction">
+ <sketch_shape_selector
+ id="MultiTranslationStartPoint"
+ label="Start point"
+ tooltip="Start point of translation"
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <sketch_shape_selector
+ id="MultiTranslationEndPoint"
+ label="End point"
+ tooltip="Final point of translation"
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ </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>
+ <validator id="PartSet_MultyTranslationSelection" />
+ </feature>
+
+ <!-- SketchMultiRotation -->
+ <feature
+ id="SketchMultiRotation"
+ title="Rotation" icon="icons/Sketch/rotate.png"
+ tooltip="Multiple rotation">
+ <sketch_multi_selector id="MultiRotationList"
+ label="Segments:"
+ tooltip="Select list of objects to be rotated"
+ type_choice="Edges"
+ use_external="true"
+ greed ="true">
+ <validator id="SketchPlugin_CopyValidator" />
+ </sketch_multi_selector>
+ <sketch_shape_selector
+ id="MultiRotationCenter"
+ label="Center of rotation"
+ tooltip="Center of rotation"
+ shape_types="vertex">
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <toolbox id="AngleType">
+ <box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
+ <doublevalue id="MultiRotationAngle"
+ label="Angle"
+ icon="icons/Sketch/angle.png"
+ tooltip="Rotation angle"
+ default="90" use_reset="false"/>
+ </box>
+ <box id="FullAngle" title="Full angle" icon="icons/Sketch/angle_up_full_32x32.png">
+ <doublevalue id="MultiRotationAngle"
+ label="Angle"
+ icon="icons/Sketch/angle.png"
+ tooltip="Rotation angle"
+ default="90" use_reset="false"/>
+ </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>
+ <validator id="PartSet_MultyTranslationSelection" />