I found an issue using Line.intersect / intersectCC. Same for LineSegment.
- Steps to reproduce :
- Open FreeCAD
- Run following code in python console :
Code: Select all
import Part doc = FreeCAD.newDocument() v = FreeCAD.Vector w1 = Part.makePolygon([v(0,0,0), v(0,10,0), v(-5, 5, 0), v(0,0,0)]) w2 = Part.makePolygon([v(0,2,0), v(0,8,0), v(5, 5, 0), v(0,2,0)]) Part.show(w1) Part.show(w2) e1 = w1.Edges[0] e2 = w2.Edges[0] e1.Curve.intersectCC(e2.Curve)
- Log : see attachment
- Error message :
Code: Select all
Program received signal SIGSEGV, Segmentation fault. #0 /usr/lib/libc.so.6(+0x3bfb0) [0x7f1718865fb0] #1 0x7f168e3003a4 in Extrema_ExtCC::Points(int, Extrema_POnCurv&, Extrema_POnCurv&) const from /usr/lib/libTKGeomBase.so.7+0x54 #2 0x7f168eae20d7 in GeomAPI_ExtremaCurveCurve::Points(int, gp_Pnt&, gp_Pnt&) const from /usr/lib/libTKGeomAlgo.so.7+0x57 #3 0x7f1690dbe550 in Part::GeomCurve::intersect(opencascade::handle<Geom_Curve>, opencascade::handle<Geom_Curve>, std::vector<std::pair<Base::Vector3<double>, Base::Vector3<double> >, std::allocator<std::pair<Base::Vector3<double>, Base::Vector3<double> > > >&, double) from /usr/lib/freecad/lib/Part.so+0x3e0 #4 0x7f1690dbeb2e in Part::GeomCurve::intersect(Part::GeomCurve*, std::vector<std::pair<Base::Vector3<double>, Base::Vector3<double> >, std::allocator<std::pair<Base::Vector3<double>, Base::Vector3<double> > > >&, double) const from /usr/lib/freecad/lib/Part.so+0xfe #5 0x7f1690cacfbe in Part::GeometryCurvePy::intersectCC(_object*) from /usr/lib/freecad/lib/Part.so+0x9e #6 0x7f1690cad1af in Part::GeometryCurvePy::staticCallback_intersectCC(_object*, _object*) from /usr/lib/freecad/lib/Part.so+0x1f #7 /usr/lib/libpython3.8.so.1.0(PyCFunction_Call+0xf3) [0x7f1719ffa5d3] #8 /usr/lib/libpython3.8.so.1.0(_PyObject_MakeTpCall+0x230) [0x7f1719fa3220] #9 /usr/lib/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x4c9a) [0x7f171a00c97a] #10 /usr/lib/libpython3.8.so.1.0(_PyEval_EvalCodeWithName+0x2fa) [0x7f1719fd809a] #11 /usr/lib/libpython3.8.so.1.0(PyEval_EvalCodeEx+0x3a) [0x7f1719fd8cca] #12 /usr/lib/libpython3.8.so.1.0(PyEval_EvalCode+0x1c) [0x7f171a06473c] #13 0x7f171affbce6 in Gui::InteractiveInterpreter::runCode(PyCodeObject*) const from /usr/lib/freecad/lib/libFreeCADGui.so+0x66 #14 0x7f171affc54c in Gui::InteractiveInterpreter::runSource(char const*) const from /usr/lib/freecad/lib/libFreeCADGui.so+0xac #15 0x7f171affc62d in Gui::InteractiveInterpreter::push(char const*) from /usr/lib/freecad/lib/libFreeCADGui.so+0xbd #16 0x7f171affc834 in Gui::PythonConsole::runSource(QString const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0xf4 #17 0x7f171affd107 in Gui::PythonConsole::runSourceFromMimeData(QString const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x737 #18 0x7f171affeeac in Gui::PythonConsole::insertFromMimeData(QMimeData const*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x1cc #19 /usr/lib/libQt5Widgets.so.5(+0x356664) [0x7f1719b2d664] #20 0x7f1719b32a13 in QWidgetTextControl::processEvent(QEvent*, QMatrix const&, QWidget*) from /usr/lib/libQt5Widgets.so.5+0x193 #21 0x7f1719b28b1c in QWidgetTextControl::processEvent(QEvent*, QPointF const&, QWidget*) from /usr/lib/libQt5Widgets.so.5+0x5c #22 0x7f1719b03aa4 in QPlainTextEdit::keyPressEvent(QKeyEvent*) from /usr/lib/libQt5Widgets.so.5+0x254 #23 0x7f171b029653 in Gui::TextEdit::keyPressEvent(QKeyEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x23 #24 0x7f171affe097 in Gui::PythonConsole::keyPressEvent(QKeyEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x277 #25 0x7f1719976e1b in QWidget::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x88b #26 0x7f1719a2822f in QFrame::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x1f #27 0x7f1719a2af7a in QAbstractScrollArea::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x26a #28 0x7f1719b032b9 in QPlainTextEdit::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0xc9 #29 0x7f1719932472 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x82 #30 0x7f171993c3c4 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0xa74 #31 0x7f171ae1f069 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x89 #32 0x7f1718e99832 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x182 #33 /usr/lib/libQt5Widgets.so.5(+0x1bdf3e) [0x7f1719994f3e] #34 0x7f1719932472 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x82 #35 0x7f171993bc89 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x339 #36 0x7f171ae1f069 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x89 #37 0x7f1718e99832 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x182 #38 0x7f171925e66d in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /usr/lib/libQt5Gui.so.5+0x16d #39 0x7f17192639ba in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/libQt5Gui.so.5+0x26a #40 0x7f171923cc2c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Gui.so.5+0xbc #41 /usr/lib/libQt5XcbQpa.so.5(+0x66a2c) [0x7f17133aba2c] #42 /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x27e) [0x7f17169d239e] #43 /usr/lib/libglib-2.0.so.0(+0x6c1b1) [0x7f17169d41b1] #44 /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x31) [0x7f17169d41f1] #45 0x7f1718ef1cc0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x60 #46 0x7f1718e9839c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x12c #47 0x7f1718ea03a6 in QCoreApplication::exec() from /usr/lib/libQt5Core.so.5+0x96 #48 0x7f171ad93222 in Gui::Application::runApplication() from /usr/lib/freecad/lib/libFreeCADGui.so+0x15e2 #49 freecad(main+0x759) [0x5562249605d9] #50 /usr/lib/libc.so.6(__libc_start_main+0xf3) [0x7f1718851153] #51 freecad(_start+0x2e) [0x5562249608fe]
- FreeCAD infos :
OS: Manjaro Linux (GNOME/gnome)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19 (Git)
Build type: Release
Branch: master
Hash: 49e4e45ff38b0459f0f9a76df634f6da4995b731
Python version: 3.8.1
Qt version: 5.14.0
Coin version: 4.0.0a
OCC version: 7.4.0
Locale: French/Switzerland (fr_CH)