From: mpv Date: Thu, 7 Mar 2019 07:40:24 +0000 (+0300) Subject: Remove of Box macro feature X-Git-Tag: V9_3_0a2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d788f1d467b1bb5a4d9267e06b68b3a0b633cc3d;p=modules%2Fshaper.git Remove of Box macro feature --- diff --git a/src/PythonAddons/CMakeLists.txt b/src/PythonAddons/CMakeLists.txt index 2cbae61b2..4dad90f28 100644 --- a/src/PythonAddons/CMakeLists.txt +++ b/src/PythonAddons/CMakeLists.txt @@ -38,7 +38,7 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/addons_Features.xml DESTINATION ${SHAP INSTALL(FILES __init__.py DESTINATION ${SHAPER_INSTALL_ADDONS}) INSTALL(DIRECTORY macros DESTINATION ${SHAPER_INSTALL_ADDONS}) -INSTALL(DIRECTORY macros/box/icons/ macros/rectangle/icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Addons) +INSTALL(DIRECTORY macros/rectangle/icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Addons) INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}) INCLUDE(UnitTest) diff --git a/src/PythonAddons/PythonAddons_msg_en.ts b/src/PythonAddons/PythonAddons_msg_en.ts index 6807ced78..305ed4131 100644 --- a/src/PythonAddons/PythonAddons_msg_en.ts +++ b/src/PythonAddons/PythonAddons_msg_en.ts @@ -1,116 +1,4 @@ - - Box:Model_FeatureValidator - - Attribute "height" is not initialized. - Height of the box is not defined. - - - - Box:height:GeomValidators_Positive - - Double is not initialized. - Height of the box is not defined. - - - - Box:height:GeomValidators_Positive - - Value is too small. - Height of the box is too small. - - - - Box:height:GeomValidators_Positive - - Integer is not initialized. - Height of the box is not defined. - - - - Box:height:GeomValidators_Positive - - Integer is not positive. - Height of the box is too small. - - - - Box:Model_FeatureValidator - - Attribute "width" is not initialized. - Set the box width - - - - Box:Model_FeatureValidator - - Attribute "length" is not initialized. - Set the box length - - - - Box:Model_FeatureValidator - - Attribute "height" is not initialized. - Set the box height - - - - Box:width:GeomValidators_Positive - - Double is not initialized. - Set the box width - - - - Box:width:GeomValidators_Positive - - Value is too small. - The box width is too small - - - - Box:width:GeomValidators_Positive - - Integer is not initialized. - - - - - Box:width:GeomValidators_Positive - - Integer is not positive. - - - - - Box:length:GeomValidators_Positive - - Double is not initialized. - Set the box length - - - - Box:length:GeomValidators_Positive - - Value is too small. - The box width is too small - - - - Box:length:GeomValidators_Positive - - Integer is not initialized. - - - - - Box:length:GeomValidators_Positive - - Integer is not positive. - - - diff --git a/src/PythonAddons/addons_Features.py b/src/PythonAddons/addons_Features.py index 50f820856..d28db61ab 100644 --- a/src/PythonAddons/addons_Features.py +++ b/src/PythonAddons/addons_Features.py @@ -21,7 +21,6 @@ """ import ModelAPI -from macros.box.feature import BoxFeature from macros.rectangle.feature import SketchPlugin_Rectangle @@ -42,10 +41,7 @@ class PythonFeaturesPlugin(ModelAPI.ModelAPI_Plugin): """Override ModelAPI_Plugin.createFeature()""" aFeature = None - if theFeatureID == BoxFeature.ID(): - aFeature = BoxFeature().__disown__() - - elif theFeatureID == SketchPlugin_Rectangle.ID(): + if theFeatureID == SketchPlugin_Rectangle.ID(): aFeature = SketchPlugin_Rectangle().__disown__() else: diff --git a/src/PythonAddons/addons_Features.xml.in b/src/PythonAddons/addons_Features.xml.in index 68b168192..f0190ba62 100644 --- a/src/PythonAddons/addons_Features.xml.in +++ b/src/PythonAddons/addons_Features.xml.in @@ -1,4 +1,3 @@ - diff --git a/src/PythonAddons/doc/addons_Features.rst b/src/PythonAddons/doc/addons_Features.rst index da4b661b8..ddeac8f89 100644 --- a/src/PythonAddons/doc/addons_Features.rst +++ b/src/PythonAddons/doc/addons_Features.rst @@ -19,5 +19,4 @@ Two examples of already created custom features are: :titlesonly: :maxdepth: 1 - boxFeature.rst rectangleFeature.rst diff --git a/src/PythonAddons/doc/boxFeature.rst b/src/PythonAddons/doc/boxFeature.rst deleted file mode 100644 index 28d0d5dbe..000000000 --- a/src/PythonAddons/doc/boxFeature.rst +++ /dev/null @@ -1,48 +0,0 @@ - -Box -=== - -Custom files for **Box** feature are: - -- empty __init__.py, -- :ref:`create_custom_box_py`, -- :ref:`create_custom_box_xml`, -- icon.png located at sub-folder */icons*. - -.. image:: images/box_ico.png - :align: center - -.. centered:: - File icon.png - -The custom **Box** feature creates a box solid by extrusion of rectangle. - -To create a Box in the active part: - -#. select in the Main Menu *Macros - > Box* item or -#. click **Box** button in the Macros toolbar corresponding to file icon.png: - -The following property panel appears. - -.. image:: images/box_property_panel.png - :align: center - -.. centered:: - Create a box - -Input fields: - -- **Width**, **Length**, **Height** are sizes of the box along the corresponding coordinate axes. The box will be created starting from the origin. - -Result -"""""" - -The Result of operation will be Extrusion and Sketch. - -The edges of the box will be parallel to the coordinate axes. - -.. image:: images/Boxes.png - :align: center - -.. centered:: - Created box \ No newline at end of file diff --git a/src/PythonAddons/doc/examples/box/feature.py b/src/PythonAddons/doc/examples/box/feature.py deleted file mode 100644 index c669ec09e..000000000 --- a/src/PythonAddons/doc/examples/box/feature.py +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright (C) 2014-2019 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 -# - -""" -Box macro-feature -Authors: Renaud Nedelec - Daniel Brunier-Coulin -""" - -from salome.shaper import model -from salome.shaper import geom - - -class BoxFeature(model.Feature): - """An example of Box feature implementation. - - BoxFeature() -> Box - """ - -# Initializations - - def __init__(self): - """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" - model.Feature.__init__(self) - - @staticmethod - def ID(): - """Return Id of the feature.""" - return "Box_script" - - @staticmethod - def WIDTH_ID(): - """Returns ID of Width parameter.""" - return "width" - - @staticmethod - def LENGTH_ID(): - """Returns ID of Length parameter.""" - return "length" - - @staticmethod - def HEIGHT_ID(): - """Returns ID of Height parameter.""" - return "height" - - def getKind(self): - """Override Feature.getKind()""" - return BoxFeature.ID() - - -# Creation of the box at default size - - def initAttributes(self): - """Override Feature.initAttributes()""" - # Creating the input arguments of the feature - self.addRealInput(self.WIDTH_ID()) - self.addRealInput(self.LENGTH_ID()) - self.addRealInput(self.HEIGHT_ID()) - - # Creating the base of the box with unit values - mypart = model.activeDocument() - xoy = model.defaultPlane("XOY") - - # A base of the geometry - self.base = model.addSketch(mypart, xoy) - - p1 = geom.Pnt2d(0, 0) - p2 = geom.Pnt2d(0, 1) - p3 = geom.Pnt2d(1, 1) - p4 = geom.Pnt2d(1, 0) - - line = model.addPolygon(self.base, p1, p2, p3, p4) - - self.base.setFixed(line[0].startPoint()) - self.base.setVertical(line[0]) - - # Setting the size of the base with default values - # Width - self.width = self.base.setLength(line[3], 50) # Keeps the constraint for edition - # Length - self.length = self.base.setLength(line[0], 50) # Keeps the constraint for edition - - # Keeping the rectangle - self.base.setParallel(line[0], line[2]) - self.base.setParallel(line[1], line[3]) - self.base.setPerpendicular(line[0], line[3]) - - # execute sketch - mypart.setCurrentFeature(self.base.feature(), False) - model.updateFeatures() - - # Creating the extrusion (the box) at default size - # A box result - self.box = model.addExtrusion(mypart, self.base.selectFace(), 50) - -# Edition of the box at user size - - def execute(self): - """F.execute() -- execute the feature""" - # Retrieving the user inputs - width = self.real(self.WIDTH_ID()) - length = self.real(self.LENGTH_ID()) - height = self.real(self.HEIGHT_ID()) - - # Editing the box - if width.text() == "": - self.base.setValue(self.width, width.value()) - else: - self.base.setValue(self.width, width.text()) - - if length.text() == "": - self.base.setValue(self.length, length.value()) - else: - self.base.setValue(self.length, length.text()) - - if (height.text() == ""): - self.box.setSize(height.value()) - else: - self.box.setSize(height.text()) - - # Publishing the result: not needed for Macro feature - # self.addResult( self.box.result() ) - - def isMacro(self): - """Override Feature.initAttributes(). - F.isMacro() -> True - - Box feature is macro: removes itself on the creation transaction - finish. - """ - return True diff --git a/src/PythonAddons/doc/examples/box/widget.xml b/src/PythonAddons/doc/examples/box/widget.xml deleted file mode 100644 index b9752fa3e..000000000 --- a/src/PythonAddons/doc/examples/box/widget.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/PythonAddons/doc/images/Boxes.png b/src/PythonAddons/doc/images/Boxes.png deleted file mode 100644 index 01ccf5f17..000000000 Binary files a/src/PythonAddons/doc/images/Boxes.png and /dev/null differ diff --git a/src/PythonAddons/doc/images/box_ico.png b/src/PythonAddons/doc/images/box_ico.png deleted file mode 100644 index 104a1edde..000000000 Binary files a/src/PythonAddons/doc/images/box_ico.png and /dev/null differ diff --git a/src/PythonAddons/doc/images/box_property_panel.png b/src/PythonAddons/doc/images/box_property_panel.png deleted file mode 100644 index dfe67747c..000000000 Binary files a/src/PythonAddons/doc/images/box_property_panel.png and /dev/null differ diff --git a/src/PythonAddons/doc/pyFile_boxFeature.rst b/src/PythonAddons/doc/pyFile_boxFeature.rst deleted file mode 100644 index dd2f5fa21..000000000 --- a/src/PythonAddons/doc/pyFile_boxFeature.rst +++ /dev/null @@ -1,11 +0,0 @@ - - .. _create_custom_box_py: - -File feature.py -=============== - -.. literalinclude:: examples/box/feature.py - :linenos: - :language: python - -:download:`Download this script ` \ No newline at end of file diff --git a/src/PythonAddons/doc/xmlFile_boxFeature.rst b/src/PythonAddons/doc/xmlFile_boxFeature.rst deleted file mode 100644 index cd3e5c872..000000000 --- a/src/PythonAddons/doc/xmlFile_boxFeature.rst +++ /dev/null @@ -1,11 +0,0 @@ - - .. _create_custom_box_xml: - -File widget.xml -=============== - -.. literalinclude:: examples/box/widget.xml - :linenos: - :language: html - -:download:`Download this script ` \ No newline at end of file diff --git a/src/PythonAddons/macros/box/__init__.py b/src/PythonAddons/macros/box/__init__.py deleted file mode 100644 index 0d18652cf..000000000 --- a/src/PythonAddons/macros/box/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2015-2019 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 -# diff --git a/src/PythonAddons/macros/box/feature.py b/src/PythonAddons/macros/box/feature.py deleted file mode 100644 index c669ec09e..000000000 --- a/src/PythonAddons/macros/box/feature.py +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright (C) 2014-2019 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 -# - -""" -Box macro-feature -Authors: Renaud Nedelec - Daniel Brunier-Coulin -""" - -from salome.shaper import model -from salome.shaper import geom - - -class BoxFeature(model.Feature): - """An example of Box feature implementation. - - BoxFeature() -> Box - """ - -# Initializations - - def __init__(self): - """x.__init__(...) initializes x; see x.__class__.__doc__ for signature""" - model.Feature.__init__(self) - - @staticmethod - def ID(): - """Return Id of the feature.""" - return "Box_script" - - @staticmethod - def WIDTH_ID(): - """Returns ID of Width parameter.""" - return "width" - - @staticmethod - def LENGTH_ID(): - """Returns ID of Length parameter.""" - return "length" - - @staticmethod - def HEIGHT_ID(): - """Returns ID of Height parameter.""" - return "height" - - def getKind(self): - """Override Feature.getKind()""" - return BoxFeature.ID() - - -# Creation of the box at default size - - def initAttributes(self): - """Override Feature.initAttributes()""" - # Creating the input arguments of the feature - self.addRealInput(self.WIDTH_ID()) - self.addRealInput(self.LENGTH_ID()) - self.addRealInput(self.HEIGHT_ID()) - - # Creating the base of the box with unit values - mypart = model.activeDocument() - xoy = model.defaultPlane("XOY") - - # A base of the geometry - self.base = model.addSketch(mypart, xoy) - - p1 = geom.Pnt2d(0, 0) - p2 = geom.Pnt2d(0, 1) - p3 = geom.Pnt2d(1, 1) - p4 = geom.Pnt2d(1, 0) - - line = model.addPolygon(self.base, p1, p2, p3, p4) - - self.base.setFixed(line[0].startPoint()) - self.base.setVertical(line[0]) - - # Setting the size of the base with default values - # Width - self.width = self.base.setLength(line[3], 50) # Keeps the constraint for edition - # Length - self.length = self.base.setLength(line[0], 50) # Keeps the constraint for edition - - # Keeping the rectangle - self.base.setParallel(line[0], line[2]) - self.base.setParallel(line[1], line[3]) - self.base.setPerpendicular(line[0], line[3]) - - # execute sketch - mypart.setCurrentFeature(self.base.feature(), False) - model.updateFeatures() - - # Creating the extrusion (the box) at default size - # A box result - self.box = model.addExtrusion(mypart, self.base.selectFace(), 50) - -# Edition of the box at user size - - def execute(self): - """F.execute() -- execute the feature""" - # Retrieving the user inputs - width = self.real(self.WIDTH_ID()) - length = self.real(self.LENGTH_ID()) - height = self.real(self.HEIGHT_ID()) - - # Editing the box - if width.text() == "": - self.base.setValue(self.width, width.value()) - else: - self.base.setValue(self.width, width.text()) - - if length.text() == "": - self.base.setValue(self.length, length.value()) - else: - self.base.setValue(self.length, length.text()) - - if (height.text() == ""): - self.box.setSize(height.value()) - else: - self.box.setSize(height.text()) - - # Publishing the result: not needed for Macro feature - # self.addResult( self.box.result() ) - - def isMacro(self): - """Override Feature.initAttributes(). - F.isMacro() -> True - - Box feature is macro: removes itself on the creation transaction - finish. - """ - return True diff --git a/src/PythonAddons/macros/box/icons/box_ico.png b/src/PythonAddons/macros/box/icons/box_ico.png deleted file mode 100644 index 104a1edde..000000000 Binary files a/src/PythonAddons/macros/box/icons/box_ico.png and /dev/null differ diff --git a/src/PythonAddons/macros/box/widget.xml b/src/PythonAddons/macros/box/widget.xml deleted file mode 100644 index b9752fa3e..000000000 --- a/src/PythonAddons/macros/box/widget.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - -