diff --git a/src/App/Application.cpp b/src/App/Application.cpp index 8c056e30b7..4215d6185c 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -220,11 +220,13 @@ Application::Application(ParameterManager * /*pcSysParamMngr*/, PyObject* pBaseModule = Py_InitModule3("__FreeCADBase__", NULL, "The Base module contains the classes for the geometric basics\n" "like vector, matrix, bounding box, placement, rotation, axis, ..."); - Base::BaseExceptionFreeCADError = PyErr_NewException( - "Base.FreeCADError", PyExc_RuntimeError, NULL); + + // Python exceptions + Base::BaseExceptionFreeCADError = PyErr_NewException("Base.FreeCADError", PyExc_RuntimeError, NULL); Py_INCREF(Base::BaseExceptionFreeCADError); - PyModule_AddObject(pBaseModule, "FreeCADError", - Base::BaseExceptionFreeCADError); + PyModule_AddObject(pBaseModule, "FreeCADError", Base::BaseExceptionFreeCADError); + + // Python types Base::Interpreter().addType(&Base::VectorPy ::Type,pBaseModule,"Vector"); Base::Interpreter().addType(&Base::MatrixPy ::Type,pBaseModule,"Matrix"); Base::Interpreter().addType(&Base::BoundBoxPy ::Type,pBaseModule,"BoundBox"); diff --git a/src/Mod/Part/App/AppPart.cpp b/src/Mod/Part/App/AppPart.cpp index 90ec5ef9ab..2e36616772 100644 --- a/src/Mod/Part/App/AppPart.cpp +++ b/src/Mod/Part/App/AppPart.cpp @@ -125,39 +125,40 @@ PyMODINIT_FUNC initPart() PyObject* partModule = Part::initModule(); Base::Console().Log("Loading Part module... done\n"); + + // Python exceptions + // PyObject* OCCError = 0; - if (PyObject_IsSubclass(Base::BaseExceptionFreeCADError, - PyExc_RuntimeError)) { - OCCError = PyErr_NewException("Part.OCCError", - Base::BaseExceptionFreeCADError, NULL); + if (PyObject_IsSubclass(Base::BaseExceptionFreeCADError, PyExc_RuntimeError)) { + OCCError = PyErr_NewException("Part.OCCError", Base::BaseExceptionFreeCADError, NULL); } else { Base::Console().Error("Can not inherit Part.OCCError form BaseFreeCADError.\n"); - OCCError = PyErr_NewException("Part.OCCError", - PyExc_RuntimeError, NULL); + OCCError = PyErr_NewException("Part.OCCError", PyExc_RuntimeError, NULL); } Py_INCREF(OCCError); PyModule_AddObject(partModule, "OCCError", OCCError); PartExceptionOCCError = OCCError; //set global variable ;( - PartExceptionOCCDomainError = PyErr_NewException("Part.OCCDomainError", - PartExceptionOCCError, NULL); + + // domain error + PartExceptionOCCDomainError = PyErr_NewException("Part.OCCDomainError", PartExceptionOCCError, NULL); Py_INCREF(PartExceptionOCCDomainError); - PyModule_AddObject(partModule, "OCCDomainError", - PartExceptionOCCDomainError); - PartExceptionOCCRangeError = PyErr_NewException("Part.OCCRangeError", - PartExceptionOCCDomainError, NULL); + PyModule_AddObject(partModule, "OCCDomainError", PartExceptionOCCDomainError); + + // range error + PartExceptionOCCRangeError = PyErr_NewException("Part.OCCRangeError", PartExceptionOCCDomainError, NULL); Py_INCREF(PartExceptionOCCRangeError); PyModule_AddObject(partModule, "OCCRangeError", PartExceptionOCCRangeError); - PartExceptionOCCConstructionError = PyErr_NewException( - "Part.OCCConstructionError", PartExceptionOCCDomainError, NULL); + + // construction error + PartExceptionOCCConstructionError = PyErr_NewException("Part.OCCConstructionError", PartExceptionOCCDomainError, NULL); Py_INCREF(PartExceptionOCCConstructionError); - PyModule_AddObject(partModule, "OCCConstructionError", - PartExceptionOCCConstructionError); - PartExceptionOCCDimensionError = PyErr_NewException( - "Part.OCCDimensionError", PartExceptionOCCDomainError, NULL); + PyModule_AddObject(partModule, "OCCConstructionError", PartExceptionOCCConstructionError); + + // dimension error + PartExceptionOCCDimensionError = PyErr_NewException("Part.OCCDimensionError", PartExceptionOCCDomainError, NULL); Py_INCREF(PartExceptionOCCConstructionError); - PyModule_AddObject(partModule, "OCCDimensionError", - PartExceptionOCCDimensionError); + PyModule_AddObject(partModule, "OCCDimensionError", PartExceptionOCCDimensionError); //rename the types properly to pickle and unpickle them Part::TopoShapePy ::Type.tp_name = "Part.Shape";