diff --git a/src/Mod/Path/App/Area.h b/src/Mod/Path/App/Area.h
index 94470a1e2..b261ddb47 100644
--- a/src/Mod/Path/App/Area.h
+++ b/src/Mod/Path/App/Area.h
@@ -206,6 +206,12 @@ public:
/** Get the combined shape */
TopoDS_Shape getShape(int index);
+ /** Return the number of sections */
+ std::size_t getSectionCount() {
+ build();
+ return mySections.size();
+ }
+
/** Add a OCC wire shape to CArea
*
* \arg \c area: output converted curved object to here
diff --git a/src/Mod/Path/App/AreaPy.xml b/src/Mod/Path/App/AreaPy.xml
index b4121fdb9..3f0066381 100644
--- a/src/Mod/Path/App/AreaPy.xml
+++ b/src/Mod/Path/App/AreaPy.xml
@@ -63,5 +63,11 @@ any operation
Get current algorithm parameters as a dictionary.
+
+
+ List of sections in this area.
+
+
+
diff --git a/src/Mod/Path/App/AreaPyImp.cpp b/src/Mod/Path/App/AreaPyImp.cpp
index df2cfb5e7..4a6cb3fbd 100644
--- a/src/Mod/Path/App/AreaPyImp.cpp
+++ b/src/Mod/Path/App/AreaPyImp.cpp
@@ -295,6 +295,14 @@ PyObject* AreaPy::getParamsDesc(PyObject *args, PyObject *keywds)
return dict;
}
+Py::List AreaPy::getSections(void) const {
+ Py::List ret;
+ Area *area = getAreaPtr();
+ for(size_t i=0,count=area->getSectionCount(); igetShape(i)));
+ return ret;
+}
+
// custom attributes get/set
PyObject *AreaPy::getCustomAttributes(const char* /*attr*/) const