Salome HOME
Fix for the issue #2290 : error in exportToXAO call from python
authormpv <mpv@opencascade.com>
Mon, 4 Dec 2017 08:32:15 +0000 (11:32 +0300)
committermpv <mpv@opencascade.com>
Mon, 4 Dec 2017 08:32:48 +0000 (11:32 +0300)
src/ExchangePlugin/CMakeLists.txt
src/ExchangePlugin/ExchangePlugin_Tools.cpp
src/ExchangePlugin/Test/Test2290.py [new file with mode: 0644]

index 3c56a9476d31f0992209f0a0fe9f27b35e4129e9..6d95ce732e0c8ef6c937f3842b08e8f2515fa744 100644 (file)
@@ -79,7 +79,9 @@ INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Exchange)
 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 
-ADD_UNIT_TESTS(TestImport.py TestExport.py)
+ADD_UNIT_TESTS(TestImport.py
+               TestExport.py
+               Test2290.py)
 
 SET(DATA_FILES
   solid.brep
index 786a59d52570652c126285194881ea59cbfdb01c..1d2000236e6a885bdd2f9ddb0122c9651b0538e0 100644 (file)
@@ -34,15 +34,15 @@ std::list<std::string> ExchangePlugin_Tools::split(const std::string& theString,
 
 std::string ExchangePlugin_Tools::selectionType2xaoDimension(const std::string& theType)
 {
-  if (theType == "Vertices" || theType == "vertex")
+  if (theType == "Vertices" || theType == "vertex" || theType == "VERTEX")
     return "vertex";
-  else if (theType == "Edges" || theType == "edge")
+  else if (theType == "Edges" || theType == "edge" || theType == "EDGE")
     return "edge";
-  else if (theType == "Faces" || theType == "face")
+  else if (theType == "Faces" || theType == "face" || theType == "FACE")
     return "face";
-  else if (theType == "Solids" || theType == "solid")
+  else if (theType == "Solids" || theType == "solid" || theType == "SOLID")
     return "solid";
-  else if (theType == "Part" || theType == "part")
+  else if (theType == "Part" || theType == "part" || theType == "PART")
     return "part";
 
   return std::string();
diff --git a/src/ExchangePlugin/Test/Test2290.py b/src/ExchangePlugin/Test/Test2290.py
new file mode 100644 (file)
index 0000000..5671cea
--- /dev/null
@@ -0,0 +1,39 @@
+## 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>
+##
+
+from salome.shaper import model
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+Box_1 = model.addBox(Part_1_doc, 5, 10, 10)
+Box_2 = model.addBox(Part_1_doc, 10, 50, 8)
+Partition_1 = model.addPartition(Part_1_doc, [model.selection("SOLID", "Box_2_1"), model.selection("SOLID", "Box_1_1")])
+Group_1 = model.addGroup(Part_1_doc, [model.selection("FACE", "Partition_1_1_3/Modified_Face_2_3"), model.selection("FACE", "Partition_1_1_1/Modified_Face_2_3")])
+model.do()
+# test export to XAO
+anExportFeature = Part_1_doc.addFeature("Export")
+anExportFeature.string("xao_file_path").setValue("Data/export2290.xao")
+anExportFeature.string("file_format").setValue("XAO")
+anExportFeature.string("ExportType").setValue("XAO")
+anExportFeature.string("xao_author").setValue("me")
+anExportFeature.string("xao_geometry_name").setValue("mygeom")
+model.end()