diff --git a/libsrc/occ/python_occ_basic.cpp b/libsrc/occ/python_occ_basic.cpp index 30601b5d..52fc5b80 100644 --- a/libsrc/occ/python_occ_basic.cpp +++ b/libsrc/occ/python_occ_basic.cpp @@ -73,6 +73,7 @@ DLL_HEADER void ExportNgOCCBasic(py::module &m) .def(py::init([] (double x, double y, double z) { return gp_Vec(x, y, z); }), py::arg("x"), py::arg("y"), py::arg("z")) + .def(py::init([](gp_Dir d) { return gp_Vec(d); })) .def_property("x", [](gp_Vec&p) { return p.X(); }, [](gp_Vec&p,double x) { p.SetX(x); }) .def_property("y", [](gp_Vec&p) { return p.Y(); }, [](gp_Vec&p,double y) { p.SetY(y); }) .def_property("z", [](gp_Vec&p) { return p.Z(); }, [](gp_Vec&p,double z) { p.SetZ(z); }) @@ -368,7 +369,8 @@ DLL_HEADER void ExportNgOCCBasic(py::module &m) py::implicitly_convertible(); py::implicitly_convertible(); py::implicitly_convertible(); - py::implicitly_convertible(); + py::implicitly_convertible(); + py::implicitly_convertible(); py::implicitly_convertible(); py::implicitly_convertible(); py::implicitly_convertible(); diff --git a/libsrc/occ/python_occ_shapes.cpp b/libsrc/occ/python_occ_shapes.cpp index 62c8f387..1c4a00ec 100644 --- a/libsrc/occ/python_occ_shapes.cpp +++ b/libsrc/occ/python_occ_shapes.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -1406,6 +1407,9 @@ DLL_HEADER void ExportNgOCCShapes(py::module &m) BRepLib::BuildCurves3d(edge); return edge; })) + .def(py::init([] (const TopoDS_Vertex & v1, const TopoDS_Vertex & v2) { + return BRepBuilderAPI_MakeEdge(v1, v2).Edge(); + })) .def("Value", [](const TopoDS_Edge & e, double s) { double s0, s1; auto curve = BRep_Tool::Curve(e, s0, s1); @@ -1671,8 +1675,14 @@ DLL_HEADER void ExportNgOCCShapes(py::module &m) py::implicitly_convertible(); py::implicitly_convertible(); - + m.def("MakePolygon", [](std::vector verts) + { + BRepBuilderAPI_MakePolygon builder; + for(auto& v : verts) + builder.Add(v); + return builder.Wire(); + }); class ListOfShapesIterator {