-<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+<!--
+Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+See http:##www.salome-platform.org/ or
+email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+-->
<plugin>
<workbench id="Sketch">
SketchCircle SketchMacroCircle SketchArc SketchMacroArc
SketchRectangle
SketchProjection
- SketchConstraintLength SketchConstraintRadius SketchConstraintDistance
+ SketchConstraintLength SketchConstraintRadius SketchConstraintDistance SketchConstraintDistanceHorizontal SketchConstraintDistanceVertical
SketchConstraintParallel SketchConstraintPerpendicular
SketchConstraintRigid SketchConstraintHorizontal SketchConstraintVertical
SketchConstraintEqual SketchConstraintTangent
- SketchFillet SketchConstraintSplit SketchTrim
+ SketchFillet SketchSplit SketchTrim
SketchConstraintCoincidence
SketchConstraintMirror SketchConstraintAngle
SketchMultiRotation SketchMultiTranslation
icon="icons/Sketch/circle.png"
title="Circle"
tooltip="Create circle">
- <toolbox id="circle_type" modified_in_edit="false">
+ <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">
title="Arc"
tooltip="Create arc"
icon="icons/Sketch/arc.png">
- <toolbox id="arc_type" modified_in_edit="false">
+ <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">
tooltip="End point"
accept_expressions="0"
enable_value="enable_by_preferences">
- <validator id="SketchPlugin_DifferentReference" parameters="start_point_ref,end_point_ref"/>
+ <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"
</sketch_shape_selector>
<!--<validator id="PartSet_FilletSelection"/>-->
</feature>
- <!-- SketchConstraintSplit -->
- <feature id="SketchConstraintSplit" title="Split"
+ <!-- SketchSplit -->
+ <feature id="SketchSplit" title="Split"
tooltip="Cut selected segment arc or circle on existing coincident points"
icon="icons/Sketch/split.png">
- <sketch_sub_shape_selector
- id="ConstraintValue"
+ <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"
- use_graphic_intersection="false">
+ use_external="false">
<validator id="SketchPlugin_SplitValidator"/>
- </sketch_sub_shape_selector>
+ </sketch_feature_point_selector>
<validator id="PartSet_SplitSelection"/>
</feature>
<!-- SketchTrim -->
icon="icons/Sketch/trim.png">
<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"
- use_graphic_intersection="true">
+ use_external="false">
<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 -->
+<excluded>
+ <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_focus"
+ title="Focus"
+ tooltip="Focus coordinates"
+ accept_expressions="0"
+ enable_value="enable_by_preferences"/>
+ <labelvalue id="ellipse_major_radius"
+ icon="icons/Sketch/radius.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.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"/>
+ </feature>
+ <!-- SketchMacroEllipse -->
+ <feature id="SketchMacroEllipse"
+ icon="icons/Sketch/ellipse.png"
+ title="Ellipse"
+ tooltip="Create ellipse">
+ <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="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="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"/> -->
+ <labelvalue id="ellipse_major_radius"
+ icon="icons/Sketch/radius.png"
+ 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="ellipse_minor_radius"
+ icon="icons/Sketch/radius.png"
+ 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"/>
+ </feature>
+ </group>
+</excluded>
+ <group id="Projection">
<!-- Projected feature -->
<feature
id="SketchProjection"
icon="icons/Sketch/projection.png">
<sketch_shape_selector
id="ExternalFeature"
- label="Edge"
- tooltip="Select external edge."
- shape_types="edge"
+ label="Object"
+ tooltip="Select external edge or vertex."
+ shape_types="edge vertex"
use_external="true"
can_create_external="false"
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"/>
<validator id="PartSet_ProjectionSelection"/>
</feature>
+
+ <!-- Intersection Point -->
+ <feature
+ id="SketchIntersectionPoint"
+ title="Intersection"
+ tooltip="Intersect edge with sketch plane"
+ icon="icons/Sketch/intersection.png">
+ <sketch_shape_selector
+ id="ExternalFeature"
+ label="Object"
+ tooltip="Select external edge."
+ shape_types="edge"
+ use_external="true"
+ can_create_external="false"
+ 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"/>
+ <validator id="PartSet_IntersectionSelection"/>
+ </feature>
</group>
<group id="Replication">
<!-- SketchConstraintMirror -->
<feature
id="SketchConstraintMirror"
- title="Mirror" icon="icons/Sketch/mirror.png"
+ title="Mirror copy" 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"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityC"/>
</sketch_shape_selector>
<sketch_multi_selector id="ConstraintMirrorList"
label="Segments:"
<!-- SketchMultiTranslation -->
<feature
id="SketchMultiTranslation"
- title="Translation" icon="icons/Sketch/translate.png"
- tooltip="Multiple translation">
+ title="Linear copy" icon="icons/Sketch/translate.png"
+ tooltip="Copy objects and move">
<sketch_multi_selector id="MultiTranslationList"
label="Segments:"
tooltip="Select list of objects to be translated"
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
</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"/>
</sketch_shape_selector>
</groupbox>
</box>
shape_types="vertex">
<validator id="PartSet_DifferentObjects"/>
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
</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"/>
</sketch_shape_selector>
</groupbox>
</box>
label="Total number of objects"
tooltip="Total number of objects"
default="2" min="2" use_reset="false">
- <validator id="GeomValidators_Positive"/>
+ <validator id="GeomValidators_Positive" parameters="1"/>
</integervalue>
<validator id="PartSet_MultyTranslationSelection" />
</feature>
<!-- SketchMultiRotation -->
<feature
id="SketchMultiRotation"
- title="Rotation" icon="icons/Sketch/rotate.png"
- tooltip="Multiple rotation">
+ title="Angular copy" icon="icons/Sketch/rotate.png"
+ tooltip="Copy objects and rotate">
<sketch_multi_selector id="MultiRotationList"
label="Segments:"
tooltip="Select list of objects to be rotated"
tooltip="Center of rotation"
shape_types="vertex">
<validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ <validator id="SketchPlugin_ReplicationReference" parameters="ConstraintEntityB"/>
</sketch_shape_selector>
<toolbox id="AngleType">
<box id="SingleAngle" title="Single angle" icon="icons/Sketch/angle_up_32x32.png">
label="Angle"
icon="icons/Sketch/angle.png"
tooltip="Rotation angle"
- default="90" use_reset="false"/>
+ default="90" min="0" max="360"
+ use_reset="false">
+ <validator id="SketchPlugin_MultiRotationAngleValidator" />
+ </doublevalue>
+ <boolvalue id="MultiRotationReversed"
+ label="Reversed"
+ tooltip="Reverse angular copy"
+ default="false"
+ obligatory="0"/>
</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"/>
+ default="90" min="0" max="360"
+ use_reset="false">
+ <validator id="SketchPlugin_MultiRotationAngleValidator" />
+ </doublevalue>
+ <boolvalue id="MultiRotationReversed"
+ label="Reversed"
+ tooltip="Reverse angular copy"
+ default="false"
+ obligatory="0"/>
</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"/>
+ <validator id="GeomValidators_Positive" parameters="1"/>
</integervalue>
<validator id="PartSet_MultyTranslationSelection" />
</feature>
<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"/>
<validator id="GeomValidators_Positive"/>
</doublevalue_editor>
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
+
+ <boolvalue id="SignedDistance" label="Keep orientation" default="true" tooltip="Keep distance orientation" obligatory="0"/>
+ <validator id="PartSet_DistanceSelection"/>
+ </feature>
+
+ <!-- SketchConstraintDistanceHorizontal -->
+ <feature
+ id="SketchConstraintDistanceHorizontal"
+ title="Horizontal Distance"
+ tooltip="Set horizontal distance between two points"
+ icon="icons/Sketch/distance_h.png">
+ <label title="Select points for distance definition."/>
+ <sketch_shape_selector
+ id="ConstraintEntityA"
+ label="First point"
+ tooltip="Select point."
+ shape_types="vertex">
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <sketch_shape_selector
+ id="ConstraintEntityB"
+ label="Second point"
+ tooltip="Select point."
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <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"/>
+ </doublevalue_editor>
+
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
+
<validator id="PartSet_DistanceSelection"/>
</feature>
- <!-- SketchConstraintLength -->
+ <!-- SketchConstraintDistanceVertical -->
+ <feature
+ id="SketchConstraintDistanceVertical"
+ title="Vertical Distance"
+ tooltip="Set vertical distance between two points"
+ icon="icons/Sketch/distance_v.png">
+ <label title="Select points for distance definition."/>
+ <sketch_shape_selector
+ id="ConstraintEntityA"
+ label="First point"
+ tooltip="Select point."
+ shape_types="vertex">
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityB"/>
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <sketch_shape_selector
+ id="ConstraintEntityB"
+ label="Second point"
+ tooltip="Select point."
+ shape_types="vertex">
+ <validator id="PartSet_DifferentObjects"/>
+ <validator id="SketchPlugin_ExternalValidator" parameters="ConstraintEntityA"/>
+ <validator id="GeomValidators_ShapeType" parameters="vertex"/>
+ </sketch_shape_selector>
+ <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"/>
+ </doublevalue_editor>
+
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
+
+ <validator id="PartSet_DistanceSelection"/>
+ </feature>
+
+ <!-- SketchConstraintLength -->
<feature id="SketchConstraintLength" title="Length" tooltip="Set fixed length of a line segment" icon="icons/Sketch/length.png">
<label title="Select a line on which to calculate length" tooltip="Select a line on which to calculate length"/>
<shape_selector id="ConstraintEntityA" label="Line" tooltip="Select a line" shape_types="edge" >
<validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="SketchPlugin_SketchFeatureValidator"/>
</shape_selector>
<sketch-2dpoint_flyout_selector id="ConstraintFlyoutValuePnt" default="computed" internal="1" obligatory="0"/>
<doublevalue_editor label="Value" tooltip="Length" id="ConstraintValue" default="computed">
<validator id="GeomValidators_Positive"/>
</doublevalue_editor>
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
<validator id="PartSet_LengthSelection"/>
</feature>
icons_list="icons/Sketch/angle_direct.png icons/Sketch/angle_complementary.png icons/Sketch/angle_backward.png"
default="0"
/>
+
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
+
</feature>
<!-- SketchConstraintRadius -->
<doublevalue_editor label="Value" tooltip="Radius" id="ConstraintValue" default="computed">
<validator id="GeomValidators_Positive"/>
</doublevalue_editor>
+
+ <module_choice id="LocationType"
+ widget_type="radiobuttons"
+ buttons_dir="horizontal"
+ label="Text location"
+ tooltip="Relative location of the text"
+ string_list="Left Automatic Right"
+ icons_list="icons/Sketch/location_left.png icons/Sketch/location_automatic.png icons/Sketch/location_right.png"
+ default="1"
+ />
+
<validator id="PartSet_RadiusSelection"/>
</feature>
<sketch_shape_selector id="ConstraintEntityA"
label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
<validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
</sketch_shape_selector>
<validator id="PartSet_HVDirSelection"/>
</feature>
<sketch_shape_selector id="ConstraintEntityA"
label="Line" tooltip="Select a line" shape_types="edge" use_external="false">
<validator id="GeomValidators_ShapeType" parameters="line"/>
+ <validator id="SketchPlugin_HasNoConstraint" parameters="SketchConstraintHorizontal,SketchConstraintVertical"/>
</sketch_shape_selector>
<validator id="PartSet_HVDirSelection"/>
</feature>