diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index 376f90e890..29a6427528 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -547,8 +547,7 @@ bool GeomCurve::closestParameter(const Base::Vector3d& point, double &u) const } } catch (StdFail_NotDone& e) { - - if (c->IsKind(STANDARD_TYPE(Geom_TrimmedCurve))){ + if (c->IsKind(STANDARD_TYPE(Geom_BoundedCurve))){ Base::Vector3d firstpoint = this->pointAtParameter(c->FirstParameter()); Base::Vector3d lastpoint = this->pointAtParameter(c->LastParameter()); diff --git a/src/Mod/Part/App/GeometryCurvePyImp.cpp b/src/Mod/Part/App/GeometryCurvePyImp.cpp index 4ba3f38a10..4745268038 100644 --- a/src/Mod/Part/App/GeometryCurvePyImp.cpp +++ b/src/Mod/Part/App/GeometryCurvePyImp.cpp @@ -483,13 +483,13 @@ PyObject* GeometryCurvePy::parameter(PyObject *args) if (!PyArg_ParseTuple(args, "O!", &(Base::VectorPy::Type), &p)) return 0; Base::Vector3d v = Py::Vector(p, false).toVector(); - + double u; - - if(static_cast(getGeometryPtr())->closestParameter(v,u)) + + if (static_cast(getGeometryPtr())->closestParameter(v,u)) return Py::new_reference_to(Py::Float(u)); } - catch (Base::RuntimeError& e) { + catch (Base::CADKernelError& e) { PyErr_SetString(PartExceptionOCCError, e.what()); return 0; }