]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #803: Put all the python modules in the same python package newgeom issue_803 spo/python
authorspo <sergey.pokhodenko@opencascade.com>
Tue, 29 Dec 2015 08:37:59 +0000 (11:37 +0300)
committerspo <sergey.pokhodenko@opencascade.com>
Tue, 29 Dec 2015 08:57:55 +0000 (11:57 +0300)
73 files changed:
CMakeCommon/UnitTest.cmake
CMakeLists.txt
env_linux.sh
src/Config/plugins.xml.in
src/ConnectorPlugin/CMakeLists.txt
src/PythonAPI/CMakeLists.txt
src/PythonAPI/Test/TestFeatures.py
src/PythonAPI/Test/TestFeaturesExtrusion.py
src/PythonAPI/Test/TestFeaturesRevolution.py
src/PythonAPI/Test/TestMakeBrick1.py
src/PythonAPI/Test/TestMakeBrick2.py
src/PythonAPI/Test/TestMakeBrick3.py
src/PythonAPI/Test/TestModel.py
src/PythonAPI/Test/TestPlatine.py
src/PythonAPI/Test/TestPythonAPI.py
src/PythonAPI/Test/TestSketcher.py
src/PythonAPI/Test/TestSketcherAddArc.py
src/PythonAPI/Test/TestSketcherAddCircle.py
src/PythonAPI/Test/TestSketcherAddLine.py
src/PythonAPI/Test/TestSketcherAddMirror.py
src/PythonAPI/Test/TestSketcherAddPoint.py
src/PythonAPI/Test/TestSketcherSetAngle.py
src/PythonAPI/Test/TestSketcherSetCoincident.py
src/PythonAPI/Test/TestSketcherSetEqual.py
src/PythonAPI/Test/TestSketcherSetFillet.py
src/PythonAPI/Test/TestSketcherSetHorizontal.py
src/PythonAPI/Test/TestSketcherSetLength.py
src/PythonAPI/Test/TestSketcherSetParallel.py
src/PythonAPI/Test/TestSketcherSetPerpendicular.py
src/PythonAPI/Test/TestSketcherSetRadius.py
src/PythonAPI/Test/TestSketcherSetRigid.py
src/PythonAPI/Test/TestSketcherSetTangent.py
src/PythonAPI/Test/TestSketcherSetVertical.py
src/PythonAPI/Test/config.py.in [new file with mode: 0644]
src/PythonAPI/__init__.py [new file with mode: 0644]
src/PythonAPI/examples/MakeBrick1.py
src/PythonAPI/examples/MakeBrick2.py
src/PythonAPI/examples/MakeBrick3.py
src/PythonAPI/examples/Platine.py
src/PythonAPI/examples/__init__.py
src/PythonAPI/extension/box.py
src/PythonAPI/model/connection/connection.py
src/PythonAPI/model/construction/axis.py
src/PythonAPI/model/construction/plane.py
src/PythonAPI/model/construction/point.py
src/PythonAPI/model/exchange/exchange.py
src/PythonAPI/model/features/boolean.py
src/PythonAPI/model/features/extrusion.py
src/PythonAPI/model/features/group.py
src/PythonAPI/model/features/partition.py
src/PythonAPI/model/features/placement.py
src/PythonAPI/model/features/revolution.py
src/PythonAPI/model/features/roots.py
src/PythonAPI/model/features/rotation.py
src/PythonAPI/model/features/translation.py
src/PythonAPI/model/parameter/parameter.py
src/PythonAPI/model/partset/part.py
src/PythonAPI/model/roots.py
src/PythonAPI/model/services.py
src/PythonAPI/model/sketcher/arc.py
src/PythonAPI/model/sketcher/circle.py
src/PythonAPI/model/sketcher/entity.py
src/PythonAPI/model/sketcher/line.py
src/PythonAPI/model/sketcher/mirror.py
src/PythonAPI/model/sketcher/point.py
src/PythonAPI/model/sketcher/sketch.py
src/PythonAPI/plugins/__init__.py [new file with mode: 0644]
src/PythonAPI/shaper.py [deleted file]
src/PythonAddons/CMakeLists.txt
src/PythonAddons/addons_Features.py
src/PythonAddons/addons_Features.xml [deleted file]
src/PythonAddons/addons_Features.xml.in [new file with mode: 0644]
src/PythonAddons/macros/box/feature.py

index 57dc2924673f9301ec382df86b816dd432c85396..1f08bf6200ef5cd099bb096f6c7cb5943e43521f 100644 (file)
@@ -35,7 +35,7 @@ MACRO(ADD_UNIT_TESTS)
     STRING(REPLACE ";" "\\;" _PYTHONPATH "${_PYTHONPATH}")
   else()
     SET(_LD_LIBRARY_PATH "${CMAKE_INSTALL_PREFIX}/bin:${CMAKE_INSTALL_PREFIX}/swig:${CMAKE_INSTALL_PREFIX}/plugins:${SUIT_LIB_DIR}:$ENV{LD_LIBRARY_PATH}")
-    SET(_PYTHONPATH "${CMAKE_INSTALL_PREFIX}/swig:${CMAKE_INSTALL_PREFIX}/plugins:${CMAKE_INSTALL_PREFIX}/addons:${CMAKE_INSTALL_PREFIX}/pythonAPI:$ENV{PYTHONPATH}")
+    SET(_PYTHONPATH "${CMAKE_BINARY_DIR}:${CMAKE_INSTALL_PREFIX}/swig:${CMAKE_INSTALL_PREFIX}/pythonAPI:$ENV{PYTHONPATH}")
   endif()
 
   SET(_CONFIG_FILE "${CMAKE_INSTALL_PREFIX}/plugins")
index 53d9986e94049bf92045f52273cd822d279b8810..c13ebd35a982c9e780643d7f2d03c2a46c5eacbd 100644 (file)
@@ -38,6 +38,10 @@ IF(UNIX)
   ENDIF(CMAKE_COMPILER_IS_GNUCC)
 ENDIF(UNIX)
 
+SET (PYTHON_PACKAGE_NAME shaper)
+#SET (PYTHON_PACKAGE_NAME openparts)
+SET (PYTHONAPI_DIR PythonAPI/${PYTHON_PACKAGE_NAME})
+
 #IF(CMAKE_BUILD_TYPE MATCHES Release)
 ADD_SUBDIRECTORY (doc)
 #ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
index 2aaa7dbbd50f67697ac7d27597e46beb9f98d558..84f66d49c6501449efb0b0d2ef06fc73a23850e4 100644 (file)
@@ -53,7 +53,13 @@ export PATH=${CASROOT}:${PATH}
 
 #------ NewGEOM ------
 export PATH=${NEWGEOM_ROOT_DIR}/bin:${NEWGEOM_ROOT_DIR}/plugins:${PATH}
-export PYTHONPATH=${NEWGEOM_ROOT_DIR}/swig:${NEWGEOM_ROOT_DIR}/plugins:${NEWGEOM_ROOT_DIR}/addons:${NEWGEOM_ROOT_DIR}/PythonAPI:${PYTHONPATH}
+
+export PYTHONPATH=${NEWGEOM_ROOT_DIR}/swig:${PYTHONPATH}
+#export PYTHONPATH=${NEWGEOM_ROOT_DIR}/plugins:${PYTHONPATH}
+#export PYTHONPATH=${NEWGEOM_ROOT_DIR}/addons:${PYTHONPATH}
+export PYTHONPATH=${NEWGEOM_ROOT_DIR}/PythonAPI:${PYTHONPATH}
+
 export LD_LIBRARY_PATH=${NEWGEOM_ROOT_DIR}/bin:${NEWGEOM_ROOT_DIR}/swig:${NEWGEOM_ROOT_DIR}/plugins:${LD_LIBRARY_PATH}
 export NEW_GEOM_CONFIG_FILE=${NEWGEOM_ROOT_DIR}/plugins
 export NewGeomResources=${NEWGEOM_ROOT_DIR}/resources
+
index af91d8fb24884a459e4b5c4d0372491b52f2233a..2251b61068a3b0ad45fa325f3d78f73e4469bf97 100644 (file)
@@ -8,8 +8,8 @@
   <plugin library="ConstructionPlugin" configuration="plugin-Construction.xml"/>
   <plugin library="FeaturesPlugin" configuration="plugin-Features.xml"/>
   <plugin library="ExchangePlugin" configuration="plugin-Exchange.xml"/>
-  <plugin script="addons_Features" configuration="addons_Features.xml"/>
-  <plugin script="ConnectorPlugin" configuration="plugin-Connector.xml" dependency="Geometry"/>
+  <plugin script="@PYTHON_PACKAGE_NAME@.plugins.addons_Features" configuration="addons_Features.xml"/>
+  <plugin script="@PYTHON_PACKAGE_NAME@.plugins.ConnectorPlugin" configuration="plugin-Connector.xml" dependency="Geometry"/>
   <plugin library="ParametersPlugin" configuration="plugin-Parameters.xml"/>
 @DEFAULT_SOLVER@
 <!--
index 9aafdea5acf5290c70f4fa8a2e0b9ffedd16ef2b..82dab93b4864c02149add9fc79a7ff868a618fd8 100644 (file)
@@ -11,4 +11,5 @@ SET(XML_RESSOURCES
 
 ADD_CUSTOM_TARGET(ConnectorPlugin SOURCES ${PYTHON_FILES} ${XML_RESSOURCES})
 
-INSTALL(FILES ${PYTHON_FILES} ${XML_RESSOURCES} DESTINATION plugins)
+INSTALL(FILES ${PYTHON_FILES} DESTINATION ${PYTHONAPI_DIR}/plugins)
+INSTALL(FILES ${XML_RESSOURCES} DESTINATION plugins)
index 33337d6e39a45526000e90771316e19874717e6a..d9b9cd3a7a7e7e0a17acfe67c1ef2bfe5d7405cb 100644 (file)
@@ -3,8 +3,14 @@
 
 SET(CMAKE_AUTOMOC ON)
 
-INSTALL(DIRECTORY extension geom model examples DESTINATION PythonAPI)
-INSTALL(FILES shaper.py DESTINATION PythonAPI)
+# configuration
+CONFIGURE_FILE(
+  "${CMAKE_CURRENT_SOURCE_DIR}/Test/config.py.in"
+  "${CMAKE_BINARY_DIR}/config.py"
+  )
+
+INSTALL(DIRECTORY extension geom model examples plugins DESTINATION ${PYTHONAPI_DIR})
+INSTALL(FILES __init__.py DESTINATION ${PYTHONAPI_DIR})
 
 # --------- Unit tests -----------
 INCLUDE(UnitTest)
index e043fe9dade760cea0b8b1080b7994ec9e6381ad..685ad788e32f195b6beb34ebc7f9fc267bb1e60d 100644 (file)
@@ -2,7 +2,7 @@ import unittest
 
 import ModelAPI
 
-import model
+from config import model
 
 #-----------------------------------------------------------------------------
 # Fixtures
index decd198b7a82ab1f95f15d8ea8bc139d3af381b7..4455d2accec3a969ca8ff4a40682f8f54c197d79 100644 (file)
@@ -2,7 +2,7 @@ import unittest
 
 import ModelAPI
 
-import model
+from config import model
 
 #-----------------------------------------------------------------------------
 # Fixtures
index a7fbfde5a3fbdc9bd73a61c24157ccb2edeab68b..0facbd9f2009eeacdb850b113ac6bbda0adb80f8 100644 (file)
@@ -2,8 +2,8 @@ import unittest
 
 import ModelAPI
 
-import model
-from model.tools import Selection
+from config import model
+# from config.model.tools import Selection
 
 #-----------------------------------------------------------------------------
 # Fixtures
@@ -37,8 +37,8 @@ class FeaturesRevolutionFixture(FeaturesAddRevolutionFixture):
         model.do()
 
         base = base_sketch.selectFace(circle.lastResult())
-        axis_object = Selection(axis_sketch.firstResult(),
-                                line.firstResult().shape())
+        axis_object = model.Selection(axis_sketch.firstResult(),
+                                      line.firstResult().shape())
 
         self.revolution = model.addRevolution(self.part, base, axis_object,
                                               0, 180)
@@ -71,8 +71,8 @@ class FeaturesAddRevolutionTestCase(FeaturesAddRevolutionFixture):
         model.do()
 
         base = base_sketch.selectFace(circle.lastResult())
-        axis_object = Selection(axis_sketch.firstResult(),
-                                line.firstResult().shape())
+        axis_object = model.Selection(axis_sketch.firstResult(),
+                                      line.firstResult().shape())
 
         revolution = model.addRevolution(self.part, base, axis_object,
                                          0, 180)
@@ -106,8 +106,8 @@ class FeaturesAddRevolutionTestCase(FeaturesAddRevolutionFixture):
         model.do()
 
         base = base_sketch.selectFace(base_circle.result())
-        axis_object = Selection(axis_sketch.firstResult(),
-                                line.firstResult().shape())
+        axis_object = model.Selection(axis_sketch.firstResult(),
+                                      line.firstResult().shape())
         to_obejct = to_sketch.selectFace(to_circle.result())[0]
         from_object = from_sketch.selectFace(from_circle.result())[0]
 
@@ -184,8 +184,8 @@ class FeaturesRevolutionTestCase(FeaturesRevolutionFixture):
         model.do()
 
         base = base_sketch.selectFace(base_circle.result())
-        axis_object = Selection(axis_sketch.firstResult(),
-                                line.firstResult().shape())
+        axis_object = model.Selection(axis_sketch.firstResult(),
+                                      line.firstResult().shape())
         to_obejct = to_sketch.selectFace(to_circle.result())[0]
         from_object = from_sketch.selectFace(from_circle.result())[0]
 
index 2225919c05415fdca0265c624dcb34d1d0ff324b..48eeab64119b765ea13e76443a27a85dc97216e9 100644 (file)
@@ -1,6 +1,10 @@
 import unittest
 
-import examples.MakeBrick1
+from config import examples
+
+class MakeBrick1TestCase(unittest.TestCase):
+    def test_main(self):
+        examples.MakeBrick1.main()
 
 if __name__ == "__main__":
     unittest.main()
index 21ea7263e5f9809df2ab9c0ce0079b1e0649655c..8b7ee4c33da6491f69a209b110d149da9b315959 100644 (file)
@@ -1,6 +1,10 @@
 import unittest
 
-import examples.MakeBrick2
+from config import examples
+
+class MakeBrick2TestCase(unittest.TestCase):
+    def test_main(self):
+        examples.MakeBrick2.main()
 
 if __name__ == "__main__":
     unittest.main()
index bbdb4a989012bd948da84fd61dc439fe19a5803c..d212b981b572939a3922435418343cf4303a6136 100644 (file)
@@ -1,6 +1,10 @@
 import unittest
 
-import examples.MakeBrick3
+from config import examples
+
+class MakeBrick3TestCase(unittest.TestCase):
+    def test_main(self):
+        examples.MakeBrick3.main()
 
 if __name__ == "__main__":
     unittest.main()
index d76377736c7a7c41150b22c65a7245f7f2def4ea..61f20c235d426ba415dd563dfbc3a2d48ae9c955 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 
 class ModelTestCase(unittest.TestCase):
     def setUp(self):
index 498be77501683cfa97ca1fb3e0aa2528dde15671..3af7d623b2716c3061afbb2b42b0e97386e05831 100644 (file)
@@ -1,6 +1,10 @@
 import unittest
 
-import examples.Platine
+from config import examples
+
+class PlatineTestCase(unittest.TestCase):
+    def test_main(self):
+        examples.Platine.main()
 
 if __name__ == "__main__":
     unittest.main()
index e1fe337126846bd2846efecc4d9f2a6f2d0f4841..3d633f9ea4f18fe4a9aa78ef17d9f57aa63b3f90 100644 (file)
@@ -1,6 +1,6 @@
 import unittest
-import model
-import geom
+from config import model
+from config import geom
 
 if __name__ == "__main__":
     unittest.main()
index 826493a48c1ca5d6b7062397f4e071bc72523d00..930344e732809e12d6fa0ba366ef7be93af82cdb 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 
 # Delta value for almost equal comparisons
 DELTA = 1e-10
index 5899815e8da4585cbe8642955dab3901551d7f80..99c4984e88b6bdcc3b86196166b4c33f1f1c4734 100644 (file)
@@ -1,8 +1,7 @@
 import unittest
 
-import model
-import geom
-from model import WrongNumberOfArguments
+from config import model
+from config import geom
 
 from TestSketcher import SketcherTestCase
 
@@ -23,9 +22,9 @@ class SketcherAddArc(SketcherTestCase):
         self.assertEqual(arc.startPoint().y(), 0)
 
     def test_number_of_args(self):
-        with self.assertRaises(WrongNumberOfArguments):
+        with self.assertRaises(model.WrongNumberOfArguments):
             self.sketch.addArc(0, 1, 1, 1)
-        with self.assertRaises(WrongNumberOfArguments):
+        with self.assertRaises(model.WrongNumberOfArguments):
             self.sketch.addArc(0, 1)
 
     def test_modify_arc(self):
index 9bc6e4c9d4080a0e444419756e69c5ff98c9d09f..e1c881e67effc9ac81b106f0a2b99bf856dfcee1 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherAddCircle(SketcherTestCase):    
index fa4ed94c666e029451f39d47be6711abb3617b35..660dd76e553211d0cb99b402395044c27c1fb472 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherAddLine(SketcherTestCase):    
index 8fc614670041bd836ba6cc5341392dba397b124b..469c02cf5cf3de5860226855f9a2c44b3493e95b 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 from ModelAPI import *
 from GeomDataAPI import geomDataAPI_Point2D
index 284d377641ee2c6f425d309e3421d9bea9d953eb..91d98210d73d8b7a032ed6fccad6afba8f790d90 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherAddPoint(SketcherTestCase):    
index 7dd937902441740da3f564336464adfbd7be047e..ddcb2686d529ff4bccb19f1607ef11a3ead26f21 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 import math
 import TestSketcher
 from TestSketcher import SketcherTestCase
index 8f75d13939ff92e21a0744ed5a49446a9a67861e..5c2424855edd81f42318bad8d106b1d8b0359c3d 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetCoincident(SketcherTestCase):   
index 9ffdb877454ca9cff4af5aa104cf8c1e38881412..556332596cca936d7e6b3e10ab4c452d2975ef75 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 import math
 import TestSketcher
 from TestSketcher import SketcherTestCase
index b6e90ea9cf9c1764815715d556df552c9033a827..15b23c37453d50668d42be78b7c22210ce381f70 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetFillet(SketcherTestCase):   
index 1f0ee545c84c4ee82fbd63f9e72ec1a6783e7155..0912f2a0da61b4d2361d6177cae3fc20c0b3c89a 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetHorizontal(SketcherTestCase):   
index bbbcab6dd90452e3b04a8522b7e9b48d1a6c662f..54650630b1f1c9a64f24873ec71fe9509f3c43ee 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 import math
 import TestSketcher
 from TestSketcher import SketcherTestCase
index 75c37ecc37eef625b5134ceb771959ce2197dc6b..b4271d5c65f84b7dba34cc6ad572fb3e983e69bf 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetParallel(SketcherTestCase):   
index 766fc5057a758cb3d360a9da75b2f4e5978ff6f0..c6d922b33c7834a71da204408d2ad85f0527287f 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 import TestSketcher
 from TestSketcher import SketcherTestCase
 
index 0cb6ad9a072c009f912dfc2ac960326ab8c76612..eeb9a6087113ea012e7038fb2ed81371a67883dc 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetRadius(SketcherTestCase):   
index 12e946f0330d5533344c635fa5132fa9dcbfe95c..f640857bf3cef6ac48ca9c2b3fa09b85f5116d47 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetRigid(SketcherTestCase):
index 135379189d1559f02c99b0ab6999c726dcf49c34..f1d74ebe1e563931993db26a072f1da263c8c442 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetTangent(SketcherTestCase):
index 5128c5b6b1063c37edb717cf05684ea3c6202c2e..79c7b586804eec0ec5eca045b993564b11337853 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import model
+from config import model
 from TestSketcher import SketcherTestCase
 
 class SketcherSetVertical(SketcherTestCase):   
diff --git a/src/PythonAPI/Test/config.py.in b/src/PythonAPI/Test/config.py.in
new file mode 100644 (file)
index 0000000..bb56b7f
--- /dev/null
@@ -0,0 +1,2 @@
+from @PYTHON_PACKAGE_NAME@ import geom, model
+from @PYTHON_PACKAGE_NAME@ import examples
diff --git a/src/PythonAPI/__init__.py b/src/PythonAPI/__init__.py
new file mode 100644 (file)
index 0000000..ae1d89b
--- /dev/null
@@ -0,0 +1,7 @@
+"""This package defines the Python API of the Shaper.
+"""
+
+# Main packages
+
+from . import geom
+from . import model
index 3f7d6fbbca5942eb08b2fc828fe3342e8dae7bad..22126d8c8af3d0289ad40ca3a317d0b172df417b 100644 (file)
@@ -2,71 +2,74 @@
 # Author: Daniel Brunier-Coulin
 # -----------------------------
 
-import model
+from .. import model
 
+def main():
+    # Initialisation
 
-# Initialisation
+    model.begin()
+    mypartset = model.moduleDocument()
 
-model.begin()
-mypartset = model.moduleDocument()
 
+    # Creating a new Part
 
-# Creating a new Part
+    mypart = model.addPart(mypartset).document()
 
-mypart = model.addPart(mypartset).document()
 
+    # Creating the base of the box
 
-# Creating the base of the box
+    mybase = model.addSketch(mypart, model.defaultPlane("XOY"))
 
-mybase = model.addSketch(mypart, model.defaultPlane("XOY"))
+    l1 = mybase.addLine(0, 0, 0, 1)
+    l2 = mybase.addLine(0, 1, 1, 1)
+    l3 = mybase.addLine(1, 1, 1, 0)
+    l4 = mybase.addLine(1, 0, 0, 0)
 
-l1 = mybase.addLine(0, 0, 0, 1)
-l2 = mybase.addLine(0, 1, 1, 1)
-l3 = mybase.addLine(1, 1, 1, 0)
-l4 = mybase.addLine(1, 0, 0, 0)
+    mybase.setCoincident(l1.endPoint(), l2.startPoint())
+    mybase.setCoincident(l2.endPoint(), l3.startPoint())
+    mybase.setCoincident(l3.endPoint(), l4.startPoint())
+    mybase.setCoincident(l4.endPoint(), l1.startPoint())
 
-mybase.setCoincident(l1.endPoint(), l2.startPoint())
-mybase.setCoincident(l2.endPoint(), l3.startPoint())
-mybase.setCoincident(l3.endPoint(), l4.startPoint())
-mybase.setCoincident(l4.endPoint(), l1.startPoint())
+    mybase.setParallel(l1.result(), l3.result())
+    mybase.setParallel(l2.result(), l4.result())
 
-mybase.setParallel(l1.result(), l3.result())
-mybase.setParallel(l2.result(), l4.result())
+    mybase.setPerpendicular(l1.result(), l4.result())
 
-mybase.setPerpendicular(l1.result(), l4.result())
+    mywidth = mybase.setLength(l1.result(), 50)
+    mylength = mybase.setDistance(l1.startPoint(), l3.result(), 50)
 
-mywidth = mybase.setLength(l1.result(), 50)
-mylength = mybase.setDistance(l1.startPoint(), l3.result(), 50)
+    # Creating the extrusion
 
-# Creating the extrusion
+    mybox = model.addExtrusion(mypart, mybase.selectFace(), 50)
 
-mybox = model.addExtrusion(mypart, mybase.selectFace(), 50)
+    # Creating a cylinder on a face of the box
 
-# Creating a cylinder on a face of the box
+    thisface = "Extrusion_1_1/LateralFace_2"
+    thisxmin = "Extrusion_1_1/LateralFace_3&Extrusion_1_1/LateralFace_2"
+    thisxmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/LateralFace_1"
+    thiszmin = "Sketch_1/Edge5_1"
+    thiszmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/ToFace_1"
 
-thisface = "Extrusion_1_1/LateralFace_2"
-thisxmin = "Extrusion_1_1/LateralFace_3&Extrusion_1_1/LateralFace_2"
-thisxmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/LateralFace_1"
-thiszmin = "Sketch_1/Edge5_1"
-thiszmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/ToFace_1"
+    mystand = model.addSketch(mypart, thisface)
 
-mystand = model.addSketch(mypart, thisface)
+    c1 = mystand.addCircle(0, 25, 5)
+    mystand.setDistance(c1.center(), thisxmin, 10)
+    mystand.setDistance(c1.center(), thiszmax, 10)
 
-c1 = mystand.addCircle(0, 25, 5)
-mystand.setDistance(c1.center(), thisxmin, 10)
-mystand.setDistance(c1.center(), thiszmax, 10)
+    myboss = model.addExtrusion(mypart, mystand.selectFace(c1.result()), -5)
 
-myboss = model.addExtrusion(mypart, mystand.selectFace(c1.result()), -5)
+    # Subtracting the cylinder to the box
 
-# Subtracting the cylinder to the box
+    model.addSubtraction(mypart, mybox.result(), myboss.result())
+    model.end()
 
-model.addSubtraction(mypart, mybox.result(), myboss.result())
-model.end()
 
+    # Editing the box
 
-# Editing the box
+    model.begin()
+    mybase.setValue(mylength, 100)
+    mybox.setSize(80)
+    model.end()
 
-model.begin()
-mybase.setValue(mylength, 100)
-mybox.setSize(80)
-model.end()
+if __name__ == '__main__':
+    main()
\ No newline at end of file
index 55cc29bbc2f5a3722d1b3b5f72b1eafca0a56615..1e85357d62e60180d2e47dc7b9a61e6f9c67e51e 100644 (file)
@@ -2,68 +2,71 @@
 # Author: Daniel Brunier-Coulin
 # -----------------------------
 
-import model
-import geom
+from .. import model
+from .. import geom
 
+def main():
+    # Initialisation
 
-# Initialisation
+    model.begin()
+    mypartset = model.moduleDocument()
 
-model.begin()
-mypartset = model.moduleDocument()
 
+    # Creating a new Part
 
-# Creating a new Part
+    mypart = model.addPart(mypartset).document()
 
-mypart = model.addPart(mypartset).document()
 
+    # Creating the base of the box
 
-# Creating the base of the box
+    mybase = model.addSketch(mypart, model.defaultPlane("XOY"))
 
-mybase = model.addSketch(mypart, model.defaultPlane("XOY"))
+    p1 = geom.Pnt2d(0, 0)
+    p2 = geom.Pnt2d(0, 1)
+    p3 = geom.Pnt2d(1, 1)
+    p4 = geom.Pnt2d(1, 0)
 
-p1 = geom.Pnt2d(0, 0)
-p2 = geom.Pnt2d(0, 1)
-p3 = geom.Pnt2d(1, 1)
-p4 = geom.Pnt2d(1, 0)
+    line = mybase.addPolygon(p1, p2, p3, p4)
 
-line = mybase.addPolygon(p1, p2, p3, p4)
+    mybase.setParallel(line[0].result(), line[2].result())
+    mybase.setParallel(line[1].result(), line[3].result())
+    mybase.setPerpendicular(line[0].result(), line[3].result())
 
-mybase.setParallel(line[0].result(), line[2].result())
-mybase.setParallel(line[1].result(), line[3].result())
-mybase.setPerpendicular(line[0].result(), line[3].result())
+    mywidth = mybase.setLength(line[0].result(), 50)
+    mylength = mybase.setDistance(line[0].startPoint(), line[2].result(), 50)
 
-mywidth = mybase.setLength(line[0].result(), 50)
-mylength = mybase.setDistance(line[0].startPoint(), line[2].result(), 50)
 
+    # Creating the extrusion
 
-# Creating the extrusion
+    mybox = model.addExtrusion(mypart, mybase.selectFace(), 50)
 
-mybox = model.addExtrusion(mypart, mybase.selectFace(), 50)
 
+    # Creating a cylinder on a face of the box
 
-# Creating a cylinder on a face of the box
+    thisface = "Extrusion_1_1/LateralFace_2"
+    thisxmin = "Extrusion_1_1/LateralFace_3&Extrusion_1_1/LateralFace_2"
+    thiszmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/ToFace_1"
 
-thisface = "Extrusion_1_1/LateralFace_2"
-thisxmin = "Extrusion_1_1/LateralFace_3&Extrusion_1_1/LateralFace_2"
-thiszmax = "Extrusion_1_1/LateralFace_2&Extrusion_1_1/ToFace_1"
+    mystand = model.addSketch(mypart, thisface)
+    circle = mystand.addCircle(0, 25, 5)
+    mystand.setDistance(circle.center(), thisxmin, 10)
+    mystand.setDistance(circle.center(), thiszmax, 10)
 
-mystand = model.addSketch(mypart, thisface)
-circle = mystand.addCircle(0, 25, 5)
-mystand.setDistance(circle.center(), thisxmin, 10)
-mystand.setDistance(circle.center(), thiszmax, 10)
+    myboss = model.addExtrusion(mypart, mystand.selectFace(), -5)
 
-myboss = model.addExtrusion(mypart, mystand.selectFace(), -5)
 
+    # Subtracting the cylinder to the box
 
-# Subtracting the cylinder to the box
+    model.addSubtraction(mypart, mybox.result(), myboss.result())
+    model.end()
 
-model.addSubtraction(mypart, mybox.result(), myboss.result())
-model.end()
 
+    # Editing the box
 
-# Editing the box
+    model.begin()
+    mybase.setValue(mylength, 100)
+    mybox.setSize(20)
+    model.end()
 
-model.begin()
-mybase.setValue(mylength, 100)
-mybox.setSize(20)
-model.end()
+if __name__ == '__main__':
+    main()
index 94fa252d20037501bc537b2cbb0f6e85423a4dea..75932d1875d6405b50aa6480e1a5664f811f2520 100644 (file)
@@ -2,23 +2,25 @@
 # Author: Daniel Brunier-Coulin
 # -----------------------------
 
-import model
-import extension
+from .. import model
+from .. import extension
 
+def main():
+    # Initialisation
 
-# Initialisation
+    model.begin()
+    mypartset = model.moduleDocument()
 
-model.begin()
-mypartset = model.moduleDocument()
 
+    # Creating a new Part
 
-# Creating a new Part
+    mypart = model.addPart(mypartset).document()
 
-mypart = model.addPart(mypartset).document()
 
+    # Creating the base of the box
 
-# Creating the base of the box
-
-extension.addBox( mypart, 10, 20, 30 )
-model.end()
+    extension.addBox(mypart, 10, 20, 30)
+    model.end()
 
+if __name__ == '__main__':
+    main()
index 8a1a3dfcab04d416a7cab033f0d614d2ef90c3d6..1dd8e0877e32b5544270e8fd7a5154fdb516ef0c 100644 (file)
@@ -2,26 +2,14 @@
 # Author: Sergey POKHODENKO
 # -----------------------------
 
-import geom
-import model
-
-# Initialisation
-model.begin()
-partset = model.moduleDocument()
-
-# Create a new Part
-part = model.addPart(partset).document()
+from .. import geom
+from .. import model
 
 L = 64
 E = 16
 P = 80
 
-# Create Parameters
-model.addParameter(part, "L", L)
-model.addParameter(part, "E", E)
-model.addParameter(part, "P", P)
-
-def vertical_body():
+def vertical_body(part):
     # Create YOZ sketch
     sketch = model.addSketch(part, model.defaultPlane("YOZ"))
 
@@ -52,7 +40,7 @@ def vertical_body():
 
     return body
 
-def bottom_body():
+def bottom_body(part):
     # Create XOY sketch
     sketch = model.addSketch(part, "Extrusion_1_1/LateralFace_2")
 
@@ -105,7 +93,7 @@ def bottom_body():
 
     return body
 
-def body_3():
+def body_3(part):
     # Create XOZ sketch
     sketch = model.addSketch(part, "Boolean_1_1/Modified_3")
 
@@ -158,7 +146,7 @@ def body_3():
 
     return body
 
-def body_4():
+def body_4(part):
     # Create XOZ 2nd sketch
     sketch = model.addSketch(part, "Boolean_2_1/Modified_7")
 
@@ -185,19 +173,34 @@ def body_4():
 
     return body
 
+def main():
+    # Initialisation
+    model.begin()
+    partset = model.moduleDocument()
 
-b1 = vertical_body()
-b2 = bottom_body()
+    # Create a new Part
+    part = model.addPart(partset).document()
 
-boolean = model.addAddition(part, b1.result() + b2.result())
-model.do()
+    # Create Parameters
+    model.addParameter(part, "L", L)
+    model.addParameter(part, "E", E)
+    model.addParameter(part, "P", P)
 
-b3 = body_3()
+    b1 = vertical_body(part)
+    b2 = bottom_body(part)
+
+    boolean = model.addAddition(part, b1.result() + b2.result())
+    model.do()
 
-boolean = model.addAddition(part, boolean.result() + b3.result())
-model.do()
+    b3 = body_3(part)
 
-b4 = body_4()
+    boolean = model.addAddition(part, boolean.result() + b3.result())
+    model.do()
+
+    b4 = body_4(part)
+
+    boolean = model.addAddition(part, boolean.result() + b4.result())
+    model.do()
 
-boolean = model.addAddition(part, boolean.result() + b4.result())
-model.do()
+if __name__ == '__main__':
+    main()
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8fc0490dfec4eabf169ef885a588c2969d70db26 100644 (file)
@@ -0,0 +1,4 @@
+import MakeBrick1
+import MakeBrick2
+import MakeBrick3
+import Platine
index c3ef9dcbcbe2c40af7f8dde370f332db0d104108..a149990241d7a3c38c3a402720dc263d5949bfe2 100644 (file)
@@ -3,8 +3,8 @@ Author: Daniel Brunier-Coulin
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model import Interface
-from macros.box.feature import BoxFeature as MY
+from ..model import Interface
+from ..addons.macros.box.feature import BoxFeature as MY
 
 
 def addBox(part, *args):
index da54458bc0df6b9a95a44eaf97f9c8c00618b1f4..df3d2df92bcee9ca96e79b4fa82b7543b290ed25 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def exportToGEOM(part):
index ee92f4a37eeff7ab8e6f856f70459d103e72951f..4580f1272cda63de80d7b62ed101dac7da23e38f 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addAxis(part, *args):
index c51e53032947ca7a22f47352403df6767bc544d3..077eca4e3641f1a3f1ea1e04a0e14b50e1e91a8a 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addPlane(part, *args):
index db3405fb4d186f8bb0a6ef849e686031339ef5ee..67aa12f8e825c9c78b7a1eece7d344f443c863c6 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addPoint(part, *args):
index c884451af4c377c19667f84cd85e264fb4d48f92..7c79ccd207b59d8c5e72ecf383f1a266d42849ca 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addImport(part, *args):
index aab909faaf543c5929f7d31dfe140c849eafb541..a4fe4f98cf992d6f0fc72b70614ecb1640b1ab4f 100644 (file)
@@ -5,8 +5,8 @@ Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
 from GeomAlgoAPI import GeomAlgoAPI_Boolean
 
-from model.roots import Interface
-from model import Selection
+from ...model.roots import Interface
+from ...model import Selection
 
 def addAddition(part, *args):
     """Perform addition in the Part.
@@ -17,8 +17,8 @@ def addAddition(part, *args):
 
     Args:
         part (ModelAPI_Document): part document
-        main_objects (list of :class:`model.Selection`): main objects
-        tool_objects (list of :class:`model.Selection`): (optional) tool_objects objects
+        main_objects (list of :class:`...model.Selection`): main objects
+        tool_objects (list of :class:`...model.Selection`): (optional) tool_objects objects
 
     Returns:
         Boolean: boolean object
@@ -38,8 +38,8 @@ def addSubtraction(part, *args):
 
     Args:
         part (ModelAPI_Document): part document
-        main_objects (list of :class:`model.Selection`): main objects
-        tool_objects (list of :class:`model.Selection`): tool_objects objects
+        main_objects (list of :class:`...model.Selection`): main objects
+        tool_objects (list of :class:`...model.Selection`): tool_objects objects
 
     Returns:
         Boolean: boolean object
@@ -60,8 +60,8 @@ def addIntersection(part, *args):
 
     Args:
         part (ModelAPI_Document): part document
-        main_objects (list of :class:`model.Selection`): main objects
-        tool_objects (list of :class:`model.Selection`): tool_objects objects
+        main_objects (list of :class:`...model.Selection`): main objects
+        tool_objects (list of :class:`...model.Selection`): tool_objects objects
 
     Returns:
         Boolean: boolean object
@@ -122,7 +122,7 @@ class Boolean(Interface):
         """Modify main_objects attribute of the feature.
 
         Args:
-            main_objects (list of :class:`model.Selection`): main objects
+            main_objects (list of :class:`...model.Selection`): main objects
         """
         self._fillAttribute(self._main_objects, main_objects)
         pass
@@ -131,7 +131,7 @@ class Boolean(Interface):
         """Modify tool_objects attribute of the feature.
 
         Args:
-            tool_objects (list of :class:`model.Selection`): tool objects
+            tool_objects (list of :class:`...model.Selection`): tool objects
         """
         self._fillAttribute(self._tool_objects, tool_objects)
         pass
index f0cb7c403a37286c6a9e7faae74a24345b5f6b7c..2084e5c68dedf84db26ea6c7fc14d4f3859e8c1a 100644 (file)
@@ -4,8 +4,8 @@ Author: Daniel Brunier-Coulin with contribution by Mikhail Ponikarov
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
-from model import Selection
+from ...model.roots import Interface
+from ...model import Selection
 
 def addExtrusion(part, *args):
     """Add an Extrusion feature to the Part and return Extrusion.
@@ -131,10 +131,10 @@ class Extrusion(Interface):
 
         See __init__.
         """
-        # MPV: with "clear" calling here the extrusion all the time becomes modificed (height is set to 
+        # MPV: with "clear" calling here the extrusion all the time becomes modificed (height is set to
         # zero and then to actual value, but this function is used in macro Bax, that causes "modified"
         # values without changes that causes cyclic dependency
-        #self.__clear()
+        # self.__clear()
         self._fillAttribute(self._CreationMethod, "BySizes")
         self._fillAttribute(self._to_size, to_size)
         self._fillAttribute(self._from_size, from_size)
index 68567bd2b99668d15dd5a4e8943093daab71c2f0..0dccb744278578b41d05cd7c14ebe184181c4a52 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addGroup(part, *args):
index 26173e0d6e89bb2deb320dfd4a5c19cdd866550d..3c1d3678342d007bd80d6e78737b56ca59dc90b2 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addPartition(part, *args):
index 4da0998e5d90ed2ea156e661aee3b869e145f1c6..62bcdd1fdd128eb3d5b180269ed04edaf51d19cc 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addPlacement(part, *args):
index 3ab420144b67cc05bff14d2c8a40049aed42c12c..6bd8c79af924f700e0fed22ea6f4de0a2c912aaa 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addRevolution(part, *args):
index 2aeacfe171a5e6037a7e0d11f44ba556cd46ec60..46819ebc13598f1b360a7710f7dd819cb48002b0 100644 (file)
@@ -1,5 +1,5 @@
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 class CompositeBoolean(Interface):
index 4ec1745351f273ebd878c35b6781c17417a22ecf..b6560caf3ed41d8b7b872fa6234b484a72a2aa2a 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addRotation(part, *args):
index 171c988d42af89471b923778cb93e40e92a35232..7723a424473823053da8cbfc561e7a2a6f5a39cd 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addTranslation(part, *args):
index 9bc5b5a075ea1175a01e491244238ff3f71e6e6f..4c57d29f131f7970aeff9b7bb72b4fcf3aa5f579 100644 (file)
@@ -3,7 +3,7 @@ Author: Sergey Pokhodenko
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addParameter(part, *args):
index 79548308de141770bbe12a7e1f7a1b7460f46d10..a54822bab7d3724b2e6975aee3e1cd911afa5914 100644 (file)
@@ -5,7 +5,7 @@ Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
 import ModelAPI
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 
 def addPart(partset):
index 5f1c294bf13214e7acae6202a80d53cbca385f4e..b4e12b64dfd91248e5e20fba5aace86e29f2fd02 100644 (file)
@@ -5,7 +5,7 @@ Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
 import ModelAPI
 
-from model import tools
+from . import tools
 
 
 class Feature(ModelAPI.ModelAPI_Feature):
index b978bd0255f496e2bf6b956f9c941b3bbd8fa918..8efbf1750f54f9282527c6d344f13fa08af95fa7 100644 (file)
@@ -6,7 +6,7 @@ Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 import ModelAPI
 import GeomAPI
 
-import geom  # To be removed when gp_Ax3 will be Pythonized
+from .. import geom  # To be removed when gp_Ax3 will be Pythonized
 
 
 def moduleDocument ():
index 7502a6b566039986d5a82633f5e72018a8d1ec74..6cdd425c8d50c18a9b9191268d2244f11d84529f 100644 (file)
@@ -1,8 +1,8 @@
 """Sketch circle feature interface."""
 
 from GeomDataAPI import geomDataAPI_Point2D
-from model.errors import WrongNumberOfArguments
-from model.roots import Interface
+from ...model.errors import WrongNumberOfArguments
+from ...model.roots import Interface
 
 class Arc(Interface):
     """Interface to a sketch arc feature."""
index a3ba89a1eb8a85051e76c01fff2b68ad98a3ac32..0d0c0ce8b81669b769b185f6319a12e75e08fca7 100644 (file)
@@ -1,28 +1,28 @@
 """Sketch circle feature interface."""
 
 from GeomDataAPI import geomDataAPI_Point2D
-from model.roots import Interface
+from ...model.roots import Interface
 
 class Circle(Interface):
     """Interface for circle feature data manipulation."""
     def __init__(self, feature, *args):
         Interface.__init__(self, feature)
         assert(self._feature.getKind() == "SketchCircle")
-        
+
         self._center = geomDataAPI_Point2D(
             self._feature.data().attribute("CircleCenter")
             )
         self._radius = self._feature.data().real("CircleRadius")
-        
+
         if not args:
             return
-        
+
         if len(args) != 3:
             raise TypeError(
-                "Invalid number of arguments, 3 arguments needed  (%s given)" 
+                "Invalid number of arguments, 3 arguments needed  (%s given)"
                 % len(args)
                 )
-        
+
         self.setCenter(args[0], args[1])
         self.setRadius(args[2])
         self.execute()
@@ -30,18 +30,18 @@ class Circle(Interface):
     def setCenter(self, x, y):
         """Set the center of the circle."""
         self._center.setValue(x, y)
-        
+
     def setRadius(self, radius):
         """Set the radius of the circle."""
         self._radius.setValue(radius)
-        
+
     def center(self):
         """Return the center attribute of the circle."""
         return self._center
 
     def radius(self):
         """Return the radius value.
-        
+
         :return: radius
         :rtype: double
         """
index b2cea88036fa7428ed3224bcde1b87cbe0906bfe..5c1b5cf58f34cf6da7e372081dde490ca00a135b 100644 (file)
@@ -1,5 +1,5 @@
 
-from model.roots import Interface
+from ...model.roots import Interface
 
 class Entity(Interface):
     """Interface for editing of a sketch entity feature."""
index 128e7b3c80f367b8a9b279081915ca5eeb186e71..9a01626517e1709b2fb9611a3a3f67bc47e48af6 100644 (file)
@@ -1,6 +1,6 @@
 from GeomDataAPI import geomDataAPI_Point2D
-from model.roots import Interface
-from model.errors import WrongNumberOfArguments
+from ...model.roots import Interface
+from ...model.errors import WrongNumberOfArguments
 
 from .entity import Entity
 
index dba62b4ad325c232ab4653e2be0d56c036db8f64..540444a35ae6778c945a9b941bdcba8162d4c355 100644 (file)
@@ -2,15 +2,15 @@
 
 from GeomDataAPI import geomDataAPI_Point2D
 from ModelAPI import ModelAPI_Feature
-from model.roots import Interface
-from model.errors import FeatureInputInvalid
+from ...model.roots import Interface
+from ...model.errors import FeatureInputInvalid
 
 class Mirror(Interface):
     """Interface on mirror constraint for data manipulation."""
     def __init__(self, feature, mirror_line, *mirror_objects):
         Interface.__init__(self, feature)
         assert(self._feature.getKind() == "SketchConstraintMirror")
-        
+
         self._feature.data().refattr("ConstraintEntityA").setObject(mirror_line)
         self._feature.data().reflist("ConstraintEntityB").clear()
         for object_ in mirror_objects:
index ce6c2839afc77fd090a36670280a4154f97676b5..210dfab12b3e7bacfc449b335f52a2c7151689c3 100644 (file)
@@ -1,15 +1,15 @@
 """Sketch point feature interface."""
 
 from GeomDataAPI import geomDataAPI_Point2D
-from model.roots import Interface
-from model.errors import FeatureInputInvalid
+from ...model.roots import Interface
+from ...model.errors import FeatureInputInvalid
 
 class Point(Interface):
     """Interface on point feature for data manipulation."""
     def __init__(self, feature, x, y):
         Interface.__init__(self, feature)
         assert(self._feature.getKind() == "SketchPoint")
-        
+
         # Initialize attributes of the feature
         self._point_data = geomDataAPI_Point2D(
             self._feature.data().attribute("PointCoordindates")
index 9dabe0a9df299d520accd21d387f99117c5a1d45..9053549efe2959dc1d95fca600abc6baccaed62d 100644 (file)
@@ -12,7 +12,7 @@ Example of code:
 
 .. doctest::
 
-   >>> import model
+   >>> from shaper import model
    >>> model.begin()
    >>> partset = model.moduleDocument()
    >>> part = model.addPart(partset).document()
@@ -29,13 +29,13 @@ from ModelAPI import modelAPI_ResultConstruction, featureToCompositeFeature
 from GeomDataAPI import geomDataAPI_Point, geomDataAPI_Dir
 from GeomAlgoAPI import GeomAlgoAPI_SketchBuilder, ShapeList
 
-from model.sketcher.point import Point
-from model.sketcher.line import Line
-from model.sketcher.circle import Circle
-from model.sketcher.arc import Arc
-from model.sketcher.mirror import Mirror
-from model.roots import Interface
-from model.tools import Selection
+from ...model.sketcher.point import Point
+from ...model.sketcher.line import Line
+from ...model.sketcher.circle import Circle
+from ...model.sketcher.arc import Arc
+from ...model.sketcher.mirror import Mirror
+from ...model.roots import Interface
+from ...model.tools import Selection
 
 
 def addSketch(document, plane):
diff --git a/src/PythonAPI/plugins/__init__.py b/src/PythonAPI/plugins/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/PythonAPI/shaper.py b/src/PythonAPI/shaper.py
deleted file mode 100644 (file)
index b2eb4d4..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-"""This package defines the Python API of the Shaper.
-"""
-
-# Main packages
-
-import geom
-import model
index 37f3efc05c2a310148fccbee2fd766c955c0609b..973c67f47aa0ced4a2044dbd255d15c6e14c8cb0 100644 (file)
@@ -3,8 +3,14 @@
 
 SET(CMAKE_AUTOMOC ON)
 
-INSTALL(FILES addons_Features.py addons_Features.xml DESTINATION plugins)
+# configuration
+CONFIGURE_FILE(
+  "${CMAKE_CURRENT_SOURCE_DIR}/addons_Features.xml.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/addons_Features.xml"
+  )
 
+INSTALL(FILES addons_Features.py DESTINATION ${PYTHONAPI_DIR}/plugins)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/addons_Features.xml DESTINATION plugins)
 
-INSTALL(FILES __init__.py DESTINATION addons)
-INSTALL(DIRECTORY macros DESTINATION addons)
+INSTALL(FILES __init__.py DESTINATION ${PYTHONAPI_DIR}/addons)
+INSTALL(DIRECTORY macros DESTINATION ${PYTHONAPI_DIR}/addons)
index 3fef980a8e2638086adb4f5c53d4310b8a042bd6..212aa107a94cb493a1518e8ff6deabd9eba29d89 100644 (file)
@@ -2,7 +2,7 @@
 """
 
 import ModelAPI
-from macros.box.feature      import BoxFeature
+from ..addons.macros.box.feature      import BoxFeature
 
 
 class PythonFeaturesPlugin(ModelAPI.ModelAPI_Plugin):
diff --git a/src/PythonAddons/addons_Features.xml b/src/PythonAddons/addons_Features.xml
deleted file mode 100644 (file)
index cc18bfb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<plugin>
-  <source path="../addons/macros/box/widget.xml"/>
-</plugin>
diff --git a/src/PythonAddons/addons_Features.xml.in b/src/PythonAddons/addons_Features.xml.in
new file mode 100644 (file)
index 0000000..03b5039
--- /dev/null
@@ -0,0 +1,3 @@
+<plugin>
+  <source path="../@PYTHONAPI_DIR@/addons/macros/box/widget.xml"/>
+</plugin>
\ No newline at end of file
index 1d3f02f073d7c48374a4d326969bd9ed33441ab7..bc5c058493b8e60db908d8213e4f5bd29d02d892 100644 (file)
@@ -3,8 +3,8 @@ Authors: Renaud Nedelec - Daniel Brunier-Coulin
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
-import model
-import geom
+from .... import model
+from .... import geom
 
 
 class BoxFeature(model.Feature):