Salome HOME
Issue #17347: B-Splines in Sketcher
[modules/shaper.git] / src / SketchPlugin / plugin-Sketch.xml
index 9c930341cb3ea630209f22454d6e8afafea2fde5..2f3ee27615c0e378f89f6132dea3956c481f2a16 100644 (file)
@@ -5,7 +5,8 @@
         id="Sketch"
         nested="SketchPoint SketchIntersectionPoint SketchLine
                 SketchCircle SketchMacroCircle SketchArc SketchMacroArc
-                SketchEllipse SketchMacroEllipse
+                SketchEllipse SketchMacroEllipse SketchEllipticArc SketchMacroEllipticArc
+                SketchBSpline SketchMacroBSpline
                 SketchRectangle
                 SketchProjection
                 SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
@@ -25,8 +26,7 @@
         <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>
 
@@ -35,7 +35,7 @@
                 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"/>
         <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"
+        <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>
-    <group id="Circular geometry">
+    <group id="Conical geometry">
       <!-- SketchCircle is a hidden feature. It is created inside SketchMacroCircle. -->
       <feature id="SketchCircle"
                title="Circle"
                                  enable_value="enable_by_preferences"/>
         <labelvalue id="circle_radius"
                     icon="icons/Sketch/radius.png"
-                    label="Radius:"
+                    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"/>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
       </feature>
       <!-- SketchMacroCircle -->
       <feature id="SketchMacroCircle"
         </toolbox>
         <labelvalue id="circle_radius"
                     icon="icons/Sketch/radius.png"
-                    label="Radius:"
+                    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"/>
+                   obligatory="0"
+                   change_visual_attributes="true"/>
       </feature>
 
       <!-- SketchArc -->
         <validator id="GeomValidators_Different" parameters="center_point,start_point,end_point"/>
         <labelvalue id="radius"
                     icon="icons/Sketch/radius.png"
-                    label="Radius:"
+                    label="Radius"
                     tooltip="Set radius"
                     accept_expressions="0"
                     min="0"
         </labelvalue>
         <labelvalue id="angle"
                     icon="icons/Sketch/angle.png"
-                    label="Angle:"
+                    label="Angle"
                     tooltip="Set angle"
                     default="0"
                     use_reset="false"
                    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"
         </toolbox>
         <labelvalue id="radius"
                     icon="icons/Sketch/radius.png"
-                    label="Radius:"
+                    label="Radius"
                     tooltip="Set radius"
                     accept_expressions="0"
                     min="0"
         </labelvalue>
         <labelvalue id="angle"
                     icon="icons/Sketch/angle.png"
-                    label="Angle:"
+                    label="Angle"
                     tooltip="Set angle"
                     default="0"
                     use_reset="false"
                    label="Auxiliary"
                    tooltip="Construction element"
                    default="false"
-                   obligatory="0"/>
+                   obligatory="0"
+                   change_visual_attributes="true"/>
       </feature>
 
       <!--  SketchFillet  -->
         </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"
                                  enable_value="enable_by_preferences"/>
         <labelvalue id="ellipse_major_radius"
                     icon="icons/Sketch/radius_major.png"
-                    label="Major radius:"
+                    label="Major radius"
                     tooltip="Set major radius"
                     default="computed"
                     accept_expressions="0"
         </labelvalue>
         <labelvalue id="ellipse_minor_radius"
                     icon="icons/Sketch/radius_minor.png"
-                    label="Minor radius:"
+                    label="Minor radius"
                     tooltip="Set minor radius"
                     default="computed"
                     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"
                                      title="Passed point"
                                      tooltip="Passed point coordinates"
                                      accept_expressions="0"
-                                     enable_value="enable_by_preferences">
-              <!--          <validator id="SketchPlugin_CirclePassedPointValidator"/> -->
-            </sketch-2dpoint_selector>
+                                     enable_value="enable_by_preferences"/>
           </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"/>
           </box>
         </toolbox>
-<!--        <validator id="GeomValidators_Different" parameters="center_point_ref,passed_point_ref"/> -->
         <labelvalue id="major_radius"
                     icon="icons/Sketch/radius_major.png"
-                    label="Major radius:"
+                    label="Major radius"
                     tooltip="Set major radius"
                     default="computed"
                     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"
-                    label="Minor radius:"
+                    label="Minor radius"
                     tooltip="Set minor 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"/>
+                   obligatory="0"
+                   change_visual_attributes="true"/>
+      </feature>
+
+      <!-- SketchEllipticArc is a hidden feature. It is created inside SketchMacroEllipse. -->
+      <feature id="SketchEllipticArc"
+               title="Elliptic arc"
+               tooltip="Create elliptic arc"
+               icon="icons/Sketch/elliptic_arc.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"/>
+        <sketch-2dpoint_selector id="start_point"
+                                 title="Start point"
+                                 tooltip="Arc start point coordinates"
+                                 accept_expressions="0"
+                                 enable_value="enable_by_preferences"/>
+        <sketch-2dpoint_selector id="end_point"
+                                 title="End point"
+                                 tooltip="Arc end point coordinates"
+                                 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>
+        <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0" change_visual_attributes="true"/>
+      </feature>
+      <!-- SketchMacroEllipticArc -->
+      <feature id="SketchMacroEllipticArc"
+               icon="icons/Sketch/elliptic_arc.png"
+               title="Elliptic arc"
+               tooltip="Create elliptic arc"
+               helpfile="ellipseFeature.html">
+        <sketch-2dpoint_selector id="center"
+                                 reference_attribute="center_ref"
+                                 title="Center point"
+                                 tooltip="Center point coordinates"
+                                 accept_expressions="0"
+                                 enable_value="enable_by_preferences"/>
+        <sketch-2dpoint_selector id="major_axis_point"
+                                 reference_attribute="major_axis_point_ref"
+                                 title="Major axis point"
+                                 tooltip="Major axis point coordinates"
+                                 accept_expressions="0"
+                                 enable_value="enable_by_preferences"/>
+        <sketch-2dpoint_selector id="start_point"
+                                 reference_attribute="start_point_ref"
+                                 title="Start point"
+                                 tooltip="Arc start point coordinates"
+                                 accept_expressions="0"
+                                 enable_value="enable_by_preferences"/>
+        <sketch-2dpoint_selector id="end_point"
+                                 reference_attribute="end_point_ref"
+                                 title="End point"
+                                 tooltip="Arc end point coordinates"
+                                 accept_expressions="0"
+                                 enable_value="enable_by_preferences"/>
+        <labelvalue id="major_radius"
+                    icon="icons/Sketch/radius_major.png"
+                    label="Major radius"
+                    tooltip="Set major radius"
+                    default="computed"
+                    accept_expressions="0"
+                    obligatory="0"
+                    enable_value="enable_by_preferences">
+        </labelvalue>
+        <labelvalue id="minor_radius"
+                    icon="icons/Sketch/radius_minor.png"
+                    label="Minor radius"
+                    tooltip="Set minor radius"
+                    default="computed"
+                    accept_expressions="0"
+                    obligatory="0"
+                    enable_value="enable_by_preferences">
+        </labelvalue>
+        <boolvalue id="Auxiliary"
+                   tooltip="Construction element"
+                   label="Auxiliary"
+                   default="false"
+                   obligatory="0"
+                   change_visual_attributes="true"/>
+      </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">
+        <sketch-bspline_selector id="poles"
+                                 weights="weights"
+                                 title="Poles and weights"
+                                 tooltip="B-spline poles and weights"
+                                 enable_value="enable_by_preferences">
+          <validator id="SketchPlugin_BSplineValidator"/>
+        </sketch-bspline_selector>
+        <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 and weights"
+                                 tooltip="B-spline poles and weights"
+                                 enable_value="enable_by_preferences">
+          <validator id="SketchPlugin_BSplineValidator"/>
+        </sketch-bspline_selector>
+        <boolvalue id="Auxiliary"
+                   label="Auxiliary"
+                   default="false"
+                   tooltip="Construction element"
+                   obligatory="0"
+                   change_visual_attributes="true"/>
+      </feature>
+    </group>
+
+    <group id="Segmentation">
+      <!--  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>
 
               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"/>
+        <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_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>
           <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
         </sketch_shape_selector>
         <sketch_multi_selector id="ConstraintMirrorList"
-            label="Segments:"
+            label="Segments"
             tooltip="Select list of objects to be mirrored"
             shape_types="Edges"
             use_external="true"
         tooltip="Copy objects and move"
         helpfile="translationFeature.html">
         <sketch_multi_selector id="MultiTranslationList"
-            label="Segments:"
+            label="Segments"
             tooltip="Select list of objects to be translated"
             shape_types="Edges"
             use_external="true"
         tooltip="Copy objects and rotate"
         helpfile="rotationFeature.html">
         <sketch_multi_selector id="MultiRotationList"
-            label="Segments:"
+            label="Segments"
             tooltip="Select list of objects to be rotated"
             shape_types="Edges"
             use_external="true"
           <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"/>
       <feature id="SketchConstraintRigid" title="Fixed" tooltip="Fix an object" icon="icons/Sketch/fixed.png"
                helpfile="rigidFeature.html">
         <sketch_shape_selector id="ConstraintEntityA" label="Object"
-                        tooltip="Select point, line end point, line, center of circle or arc."
+                        tooltip="Select point, curve or its boundary point."
                         shape_types="edge vertex">
-          <validator id="GeomValidators_ShapeType" parameters="vertex,line,circle"/>
+          <validator id="GeomValidators_ShapeType" parameters="vertex,edge"/>
           <validator id="SketchPlugin_NotFixed"/>
         </sketch_shape_selector>
         <validator id="PartSet_RigidSelection"/>
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityB"/>
-          <validator id="GeomValidators_ShapeType" parameters="line,circle"/>
+          <validator id="GeomValidators_ShapeType" parameters="edge"/>
         </sketch_shape_selector>
 
         <sketch_shape_selector id="ConstraintEntityB"
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
           <validator id="SketchPlugin_PerpendicularAttr" parameters="ConstraintEntityA"/>
-          <validator id="GeomValidators_ShapeType" parameters="line,circle"/>
+          <validator id="GeomValidators_ShapeType" parameters="edge"/>
         </sketch_shape_selector>
         <validator id="PartSet_PerpendicularSelection"/>
       </feature>
 
       <!--  SketchConstraintEqual  -->
       <feature id="SketchConstraintEqual" title="Equal"
-        tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radii of two arcs or two circles or arc and circle"
+        tooltip="Create constraint defining equal lengths of two lines or line and arc or equal radiuses of two arcs or two circles or arc and circle"
         icon="icons/Sketch/equal.png"
                helpfile="equalFeature.html">
         <sketch_shape_selector id="ConstraintEntityA"
-            label="First object" tooltip="Select line, circle or arc" shape_types="edge">
+            label="First object" tooltip="Select edge" shape_types="edge">
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
         </sketch_shape_selector>
 
         <sketch_shape_selector id="ConstraintEntityB"
-            label="Second object" tooltip="Select line, circle or arc" shape_types="edge">
+            label="Second object" tooltip="Select edge" shape_types="edge">
           <validator id="SketchPlugin_EqualAttr" parameters="ConstraintEntityA"/>
           <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>