<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
<source>
+ <sketch_launcher id="sketch"
+ attribute_list_id="base"
+ label="Select:<br />
+1. Planar face of non-sketch object or a plane. Sketch creation will be started.<br />
+2. An existing sketch face or contour. Extrusion will be filled by it.<br />
+3. An existing result shape of kind: wires/edge/vertices.Extrusion will be filled by it."
+ shape_types="vertices edges wires faces shells solids compsolids compounds">
+ <validator id="FeaturesPlugin_ValidatorCompositeLauncher" parameters="base,Sketch"/>
+ </sketch_launcher>
<multi_selector id="base"
- label="Select a sketch face"
- icon=":icons/sketch.png"
- tooltip="Select a sketch face"
- type_choice="face">
- <validator id="PartSet_SketchEntityValidator" parameters="Sketch"/>
+ label="Base objects:"
+ tooltip="Select a base objects"
+ type_choice="vertices edges wires faces shells compounds"
+ concealment="true">
+ <validator id="FeaturesPlugin_ValidatorBaseForGeneration" parameters="vertex,edge,wire,face,shell,compound"/>
</multi_selector>
- <groupbox title="From">
- <shape_selector id="from_object"
- icon=":icons/plane.png"
- label="Plane face"
- tooltip="Select a planar face"
- shape_types="face"
- default="<sketch>">
- <validator id="GeomValidators_Face" parameters="plane"/>
- </shape_selector>
- <doublevalue
- id="from_size"
- label="Size"
- min="0"
- step="1.0"
- default="0"
- icon=":icons/dimension_down.png"
- tooltip="Height">
- <validator id="GeomValidators_Positive"/>
- </doublevalue>
- </groupbox>
- <groupbox title="To">
- <shape_selector id="to_object"
- icon=":icons/plane_inverted.png"
- label="Plane face"
- tooltip="Select a planar face"
- shape_types="face"
- default="<sketch>">
- <validator id="GeomValidators_Face" parameters="plane"/>
- </shape_selector>
- <doublevalue
- id="to_size"
- label="Size"
- min="0"
- step="1.0"
- default="10"
- icon=":icons/dimension_up.png"
- tooltip="Height">
- <validator id="GeomValidators_Positive"/>
- </doublevalue>
- </groupbox>
-<!--XML definition of the revolution:-->
-<!-- <multi_selector id="base"
- label="Select a sketch face"
- icon=":icons/sketch.png"
- tooltip="Select a sketch face"
- type_choice="face">
- <validator id="PartSet_SketchEntityValidator" parameters="Sketch"/>
- </multi_selector>
- <shape_selector id="axis_object"
- icon=":icons/axis.png"
- label="Plane face"
- tooltip="Select a planar face"
- shape_types="edge">
+ <shape_selector id="direction_object"
+ icon="icons/Features/axis.png"
+ label="Direction"
+ tooltip="Select an edge for direction"
+ shape_types="edge"
+ default="<base normal>">
+ <validator id="GeomValidators_ShapeType" parameters="empty,line"/>
</shape_selector>
- <groupbox title="From">
- <shape_selector id="from_object"
- icon=":icons/plane.png"
- label="Plane face"
- tooltip="Select a planar face"
- shape_types="face">
- <validator id="GeomValidators_Face" parameters="plane"/>
- </shape_selector>
- <doublevalue
- id="from_size"
- label="Size"
- min="0"
- step="1.0"
- default="0"
- icon=":icons/angle_down.png"
- tooltip="Height">
- <validator id="GeomValidators_Positive"/>
- </doublevalue>
- </groupbox>
- <groupbox title="To">
- <shape_selector id="to_object"
- icon=":icons/plane_inverted.png"
- label="Plane face"
- tooltip="Select a planar face"
- shape_types="face">
- <validator id="GeomValidators_Face" parameters="plane"/>
- </shape_selector>
- <doublevalue
- id="to_size"
- label="Size"
- min="0"
- step="1.0"
- default="10"
- icon=":icons/angle_up.png"
- tooltip="Height">
- <validator id="GeomValidators_Positive"/>
- </doublevalue>
- </groupbox>-->
+ <toolbox id="CreationMethod">
+ <box id="BySizes"
+ title="By sizes"
+ icon="icons/Features/dimension_up_down_32x32.png">
+ <groupbox>
+ <doublevalue id="to_size"
+ label="Size"
+ step="1.0"
+ default="10"
+ icon="icons/Features/dimension_up.png"
+ tooltip="To size"/>
+ </groupbox>
+ <groupbox>
+ <doublevalue id="from_size"
+ label="Size"
+ step="1.0"
+ default="0"
+ icon="icons/Features/dimension_down.png"
+ tooltip="From size"/>
+ </groupbox>
+ </box>
+ <box id="ByPlanesAndOffsets"
+ title="By bounding planes and offsets"
+ icon="icons/Features/plane_inverted_32x32.png">
+ <groupbox title="From">
+ <shape_selector id="from_object"
+ icon="icons/Features/plane.png"
+ label="Plane face"
+ tooltip="Bounding plane (select a planar face)"
+ shape_types="face"
+ default="<base sketch>">
+ <validator id="GeomValidators_Face" parameters="plane"/>
+ </shape_selector>
+ <doublevalue id="from_offset"
+ label="Offset"
+ step="1.0"
+ default="0"
+ icon="icons/Features/dimension_up_down.png"
+ tooltip="Offset for "from" bounding plane"/>
+ </groupbox>
+ <groupbox title="To">
+ <shape_selector id="to_object"
+ icon="icons/Features/plane_inverted.png"
+ label="Plane face"
+ tooltip="Bounding plane (select a planar face)"
+ shape_types="face"
+ default="<base sketch>">
+ <validator id="GeomValidators_Face" parameters="plane"/>
+ </shape_selector>
+ <doublevalue id="to_offset"
+ label="Offset"
+ step="1.0"
+ default="0"
+ icon="icons/Features/dimension_up_down.png"
+ tooltip="Offset for "to" bounding plane"/>
+ </groupbox>
+ </box>
+ </toolbox>
+ <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,base,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+ <validator id="FeaturesPlugin_ValidatorExtrusionDir" parameters="base,direction_object"/>
+ <validator id="FeaturesPlugin_ValidatorBaseForGenerationSketchOrSketchObjects" parameters="base"/>
</source>