diff --git a/src/Mod/Part/App/TopoShapeFacePy.xml b/src/Mod/Part/App/TopoShapeFacePy.xml
index 72d786e372..5faaf5236b 100644
--- a/src/Mod/Part/App/TopoShapeFacePy.xml
+++ b/src/Mod/Part/App/TopoShapeFacePy.xml
@@ -14,6 +14,11 @@
TopoShapeFace is the OpenCasCade topological face wrapper
+
+
+ Adds a wire to the face.
+
+
Offset the face by a given amount. Returns Compound of Wires. Deprecated - use makeOffset2D instead.
diff --git a/src/Mod/Part/App/TopoShapeFacePyImp.cpp b/src/Mod/Part/App/TopoShapeFacePyImp.cpp
index 08d43c5220..7f4d02f790 100644
--- a/src/Mod/Part/App/TopoShapeFacePyImp.cpp
+++ b/src/Mod/Part/App/TopoShapeFacePyImp.cpp
@@ -374,6 +374,45 @@ int TopoShapeFacePy::PyInit(PyObject* args, PyObject* /*kwd*/)
return -1;
}
+/*!
+ * \brief TopoShapeFacePy::addWire
+ * \code
+circle = Part.Circle()
+circle.Radius = 10
+wire = Part.Wire(circle.toShape())
+Part.show(wire)
+
+circle2 = Part.Circle()
+circle2.Radius = 4
+wire2 = Part.Wire(circle2.toShape())
+Part.show(wire2)
+
+plane = Part.Plane()
+face = plane.toShape()
+
+face.addWire(wire)
+face.Area
+Part.show(face)
+
+face.addWire(wire2.reversed())
+face.Area
+Part.show(face)
+ * \endcode
+ */
+PyObject* TopoShapeFacePy::addWire(PyObject *args)
+{
+ PyObject* wire;
+ if (!PyArg_ParseTuple(args, "O!", &TopoShapeWirePy::Type, &wire))
+ return nullptr;
+
+ BRep_Builder aBuilder;
+ TopoDS_Face face = TopoDS::Face(getTopoShapePtr()->getShape());
+ const TopoDS_Shape& shape = static_cast(wire)->getTopoShapePtr()->getShape();
+ aBuilder.Add(face, shape);
+ getTopoShapePtr()->setShape(face);
+ Py_Return;
+}
+
PyObject* TopoShapeFacePy::makeOffset(PyObject *args)
{
double dist;