diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacade.cpp b/src/Mod/Sketcher/App/ExternalGeometryFacade.cpp
index 952c5e0bbf96..a60d60e4646a 100644
--- a/src/Mod/Sketcher/App/ExternalGeometryFacade.cpp
+++ b/src/Mod/Sketcher/App/ExternalGeometryFacade.cpp
@@ -36,7 +36,7 @@
using namespace Sketcher;
-TYPESYSTEM_SOURCE(Sketcher::ExternalGeometryFacade,Part::GeometryExtension)
+TYPESYSTEM_SOURCE(Sketcher::ExternalGeometryFacade,Base::BaseClass)
ExternalGeometryFacade::ExternalGeometryFacade(): Geo(nullptr), SketchGeoExtension(nullptr), ExternalGeoExtension(nullptr)
{
diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacade.h b/src/Mod/Sketcher/App/ExternalGeometryFacade.h
index fecc6e46f0db..960f1e3f1a4f 100644
--- a/src/Mod/Sketcher/App/ExternalGeometryFacade.h
+++ b/src/Mod/Sketcher/App/ExternalGeometryFacade.h
@@ -83,6 +83,9 @@ TYPESYSTEM_HEADER_WITH_OVERRIDE();
virtual InternalType::InternalType getInternalType() const override {return getGeoExt()->getInternalType();}
virtual void setInternalType(InternalType::InternalType type) override {getGeoExt()->setInternalType(type);}
+ virtual bool testGeometryMode(int flag) const override { return getGeoExt()->testGeometryMode(flag); }
+ virtual void setGeometryMode(int flag, bool v=true) override { getGeoExt()->setGeometryMode(flag, v); }
+
// Geometry Extension Information
inline const std::string &getSketchExtensionName () const {return SketchGeoExtension->getName();}
inline const std::string &getExternalExtensionName () const {return ExternalGeoExtension->getName();}
diff --git a/src/Mod/Sketcher/App/GeometryFacade.cpp b/src/Mod/Sketcher/App/GeometryFacade.cpp
index 2b881e94820e..439530f48ca2 100644
--- a/src/Mod/Sketcher/App/GeometryFacade.cpp
+++ b/src/Mod/Sketcher/App/GeometryFacade.cpp
@@ -36,7 +36,7 @@
using namespace Sketcher;
-TYPESYSTEM_SOURCE(Sketcher::GeometryFacade,Part::GeometryExtension)
+TYPESYSTEM_SOURCE(Sketcher::GeometryFacade,Base::BaseClass)
GeometryFacade::GeometryFacade(): Geo(nullptr), SketchGeoExtension(nullptr)
{
diff --git a/src/Mod/Sketcher/App/GeometryFacade.h b/src/Mod/Sketcher/App/GeometryFacade.h
index b134969c923c..a3b726db7134 100644
--- a/src/Mod/Sketcher/App/GeometryFacade.h
+++ b/src/Mod/Sketcher/App/GeometryFacade.h
@@ -125,6 +125,12 @@ TYPESYSTEM_HEADER_WITH_OVERRIDE();
virtual InternalType::InternalType getInternalType() const override {return getGeoExt()->getInternalType();}
virtual void setInternalType(InternalType::InternalType type) override {getGeoExt()->setInternalType(type);}
+ virtual bool testGeometryMode(int flag) const override { return getGeoExt()->testGeometryMode(flag); }
+ virtual void setGeometryMode(int flag, bool v=true) override { getGeoExt()->setGeometryMode(flag, v); }
+
+ bool getBlocked() const { return this->testGeometryMode(GeometryMode::Blocked);}
+ void setBlocked(bool status = true) {this->setGeometryMode(GeometryMode::Blocked, status);}
+
// Geometry Extension Information
inline const std::string &getExtensionName () const {return SketchGeoExtension->getName();}
diff --git a/src/Mod/Sketcher/App/GeometryFacadePy.xml b/src/Mod/Sketcher/App/GeometryFacadePy.xml
index 2ace52a7c808..db4febce4a86 100644
--- a/src/Mod/Sketcher/App/GeometryFacadePy.xml
+++ b/src/Mod/Sketcher/App/GeometryFacadePy.xml
@@ -26,11 +26,20 @@
- returns the Id of the SketchGeometryExtension.
+ returns the Internal Type of the Geometry.
+
+
+
+ returns whether the geometry is blocked or not.
+
+
+
+
+
Performs the symmetrical transformation of this geometric object
diff --git a/src/Mod/Sketcher/App/GeometryFacadePyImp.cpp b/src/Mod/Sketcher/App/GeometryFacadePyImp.cpp
index 77b118c0dcd0..ebc78fd35b72 100644
--- a/src/Mod/Sketcher/App/GeometryFacadePyImp.cpp
+++ b/src/Mod/Sketcher/App/GeometryFacadePyImp.cpp
@@ -117,6 +117,17 @@ void GeometryFacadePy::setInternalType(Py::String arg)
throw Py::ValueError("Argument is not a valid internal geometry type.");
}
+Py::Boolean GeometryFacadePy::getBlocked(void) const
+{
+ return Py::Boolean(getGeometryFacadePtr()->getBlocked());
+}
+
+void GeometryFacadePy::setBlocked(Py::Boolean arg)
+{
+ getGeometryFacadePtr()->setBlocked(arg);
+}
+
+
PyObject* GeometryFacadePy::mirror(PyObject *args)
{
PyObject* o;