diff --git a/src/App/Application.cpp b/src/App/Application.cpp
index e1cbf5e2e1..2d498974de 100644
--- a/src/App/Application.cpp
+++ b/src/App/Application.cpp
@@ -114,6 +114,12 @@
#include
#include "Link.h"
+#include "DocumentPy.h"
+#include "DocumentObjectGroupPy.h"
+#include "LinkBaseExtensionPy.h"
+#include "OriginGroupExtensionPy.h"
+#include "PartPy.h"
+
// If you stumble here, run the target "BuildExtractRevision" on Windows systems
// or the Python script "SubWCRev.py" on Linux based systems which builds
// src/Build/Version.h. Or create your own from src/Build/Version.h.in!
@@ -309,6 +315,23 @@ Application::Application(std::map &mConfig)
Base::Interpreter().addType(&App::MaterialPy::Type, pAppModule, "Material");
+ // Add document types
+ Base::Interpreter().addType(&App::PropertyContainerPy::Type, pAppModule, "PropertyContainer");
+ Base::Interpreter().addType(&App::ExtensionContainerPy::Type, pAppModule, "ExtensionContainer");
+ Base::Interpreter().addType(&App::DocumentPy::Type, pAppModule, "Document");
+ Base::Interpreter().addType(&App::DocumentObjectPy::Type, pAppModule, "DocumentObject");
+ Base::Interpreter().addType(&App::DocumentObjectGroupPy::Type, pAppModule, "DocumentObjectGroup");
+ Base::Interpreter().addType(&App::GeoFeaturePy::Type, pAppModule, "GeoFeature");
+ Base::Interpreter().addType(&App::PartPy::Type, pAppModule, "Part");
+
+ // Add extension types
+ Base::Interpreter().addType(&App::ExtensionPy::Type, pAppModule, "Extension");
+ Base::Interpreter().addType(&App::DocumentObjectExtensionPy::Type, pAppModule, "DocumentObjectExtension");
+ Base::Interpreter().addType(&App::GroupExtensionPy::Type, pAppModule, "GroupExtension");
+ Base::Interpreter().addType(&App::GeoFeatureGroupExtensionPy::Type, pAppModule, "GeoFeatureGroupExtension");
+ Base::Interpreter().addType(&App::OriginGroupExtensionPy::Type, pAppModule, "OriginGroupExtension");
+ Base::Interpreter().addType(&App::LinkBaseExtensionPy::Type, pAppModule, "LinkBaseExtension");
+
//insert Base and Console
Py_INCREF(pBaseModule);
PyModule_AddObject(pAppModule, "Base", pBaseModule);
diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp
index 4c30b6ac31..b12752ca32 100644
--- a/src/Gui/Application.cpp
+++ b/src/Gui/Application.cpp
@@ -68,6 +68,7 @@
#include "GuiApplication.h"
#include "MainWindow.h"
#include "Document.h"
+#include "DocumentPy.h"
#include "View.h"
#include "View3DPy.h"
#include "WidgetFactory.h"
@@ -94,6 +95,7 @@
#include "TransactionObject.h"
#include "FileDialog.h"
#include "ExpressionBindingPy.h"
+#include "ViewProviderLinkPy.h"
#include "TextDocumentEditorView.h"
#include "SplitView3DInventor.h"
@@ -474,6 +476,10 @@ Application::Application(bool GUIenabled)
Base::Interpreter().addType(&LinkViewPy::Type,module,"LinkView");
Base::Interpreter().addType(&AxisOriginPy::Type,module,"AxisOrigin");
Base::Interpreter().addType(&CommandPy::Type,module, "Command");
+ Base::Interpreter().addType(&DocumentPy::Type, module, "Document");
+ Base::Interpreter().addType(&ViewProviderPy::Type, module, "ViewProvider");
+ Base::Interpreter().addType(&ViewProviderDocumentObjectPy::Type, module, "ViewProviderDocumentObject");
+ Base::Interpreter().addType(&ViewProviderLinkPy::Type, module, "ViewProviderLink");
}
Base::PyGILStateLocker lock;
diff --git a/src/Mod/Part/App/AppPart.cpp b/src/Mod/Part/App/AppPart.cpp
index 2d57c86e0c..31eaa25a27 100644
--- a/src/Mod/Part/App/AppPart.cpp
+++ b/src/Mod/Part/App/AppPart.cpp
@@ -53,8 +53,10 @@
#include "FeatureOffset.h"
#include "PartFeatures.h"
#include "BodyBase.h"
+#include "BodyBasePy.h"
#include "PrimitiveFeature.h"
#include "Part2DObject.h"
+#include "Part2DObjectPy.h"
#include "CustomFeature.h"
#include "Geometry.h"
#include "GeometryExtension.h"
@@ -360,6 +362,8 @@ PyMOD_INIT_FUNC(Part)
::Type,partModule,"RectangularTrimmedSurface");
Base::Interpreter().addType(&Part::PartFeaturePy ::Type,partModule,"Feature");
+ Base::Interpreter().addType(&Part::Part2DObjectPy ::Type,partModule,"Part2DObject");
+ Base::Interpreter().addType(&Part::BodyBasePy ::Type,partModule,"BodyBase");
Base::Interpreter().addType(&Attacher::AttachEnginePy ::Type,partModule,"AttachEngine");
Base::Interpreter().addType(&Part::GeometryIntExtensionPy ::Type,partModule,"GeometryIntExtension");