Anyone interested in V-Engraving?

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
roerich_64
Veteran
Posts: 1465
Joined: Thu May 21, 2015 7:00 pm
Location: Ostfriesland

Re: Anyone interested in V-Engraving?

Post by roerich_64 »

-alex- wrote: Tue May 07, 2019 10:34 pm
I guess mlampert has some interest about RPI, so:
mlampert wrote: ping
See you,
Alex
I am also very interest. I send the gcode with RPi 3 b+ and bCNC to grbl 5x from https://github.com/fra589/grbl-Mega-5X on MEGA 256

Walter
Die Liebe wird siegen, denn sie ist unzerstörbar :) ;)
spanner888
Posts: 326
Joined: Tue May 28, 2019 10:51 am

Re: Anyone interested in V-Engraving?

Post by spanner888 »

+1. Have done a dozen or so engraves on underpowered generic 3040, now getting my own CNC going & wanting to also do fair bit of engraving. Looking forward to see how your approach to single line fonts goes!
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Anyone interested in V-Engraving?

Post by sliptonic »

I'm really happy with it. The feature is essentially done but requires openvoronoi to be installed and building /installing for py3 is still a challenge so I'm not merging yet. If you're curious, the code is here :

https://github.com/sliptonic/FreeCAD/tr ... ure/vcarve
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: Anyone interested in V-Engraving?

Post by freman »

This looks pretty good in the vid. This looks well worth testing.

Do I need to do a complete build of your tree (about 3h on this box) can I just drop the relevent files from
FreeCAD/src/Mod/Path/PathScripts/

Any particular version requirements for openvoronoi?


thanks.
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Anyone interested in V-Engraving?

Post by sliptonic »

freman wrote: Sat Jun 08, 2019 9:57 am
Do I need to do a complete build of your tree (about 3h on this box) can I just drop the relevent files from
FreeCAD/src/Mod/Path/PathScripts/

Any particular version requirements for openvoronoi?
The .ui files require compiling into the resource. Everything else is python. If you're on linux and have ccache installed, only the first build should take a long time. After that, it will only compile things that have changed and be much faster.

Best bet on openvoronoi is mlampert's py3 branch: https://github.com/mlampert/openvoronoi ... on-3-build
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: Anyone interested in V-Engraving?

Post by freman »

thanks , yes Linux, ccache.

can I just drop FreeCAD/src/Mod/Path/PathScripts/ from your tree into my 0.19 from a couple of weeks back and let make pick up what it needs to build?

I have installed openvoronoi from github with standard options. Using py 2.7 is there any need to get mlampert's version?
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: Anyone interested in V-Engraving?

Post by freman »

I built form vcarve git yesterday and original openvoronoi, it failed opening path WB. So I uninstalled and got mlampert's version. This similarly fails to open WB correctly. I don't get any path tools on the tool bar.

Code: Select all

Workbench failure 
'module' object has no attribute 'PathToolController'
Do I also need the random shape and glyph tool repos, those options were not built.

Maybe I need to do a clean rebuild after changing openvoronoi?
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Anyone interested in V-Engraving?

Post by sliptonic »

The tool controller has been recently refractor to take out some gui dependency and let appveyor work better. Theres another pr pending but automatic builds are failing for other reasons. Give this a couple days and try again.
User avatar
freman
Veteran
Posts: 2201
Joined: Tue Nov 27, 2018 10:30 pm

Re: Anyone interested in V-Engraving?

Post by freman »

OK, thanks for the heads-up. I'm keen to see it but there's no rush, I think I'll stripping the gantry tomorrow to rework the bearing block.

Pls ping this thread when it's good to build again.
lordeldor
Posts: 5
Joined: Sun Jun 18, 2017 4:40 am

Re: Anyone interested in V-Engraving?

Post by lordeldor »

I am really interested in this.

I took some time to pull your patches from github and apply them to a copy of 18.3. I installed openvoronoi from mlamperts python 3 branch and I was able to confirm at least some of the python tests for openvoronoi worked.

Unfortunately when I use the vcarve option in the path workbench it crashes. When I review the stack trace I see the application died while executing openvoronoi code.

Code: Select all

Thread 1 (Thread 0x7fca3e1b6780 (LWP 16840)):
[KCrash Handler]
#6  0x00007fc9d0830bde in ovd::VoronoiDiagram::repair_face(unsigned int, std::pair<void*, void*>, std::pair<unsigned int, unsigned int>, std::pair<unsigned int, unsigned int>) () from /usr/lib64/python3.6/site-packages/openvoronoi.so
#7  0x00007fc9d083e2fe in ovd::VoronoiDiagram::insert_line_site(int, int, int) () from /usr/lib64/python3.6/site-packages/openvoronoi.so
#8  0x00007fc9d0808ea3 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<bool (ovd::pyovd::VoronoiDiagram_py::*)(int, int), boost::python::default_call_policies, boost::mpl::vector4<bool, ovd::pyovd::VoronoiDiagram_py&, int, int> > >::operator()(_object*, _object*) () from /usr/lib64/python3.6/site-packages/openvoronoi.so
#9  0x00007fca0fbf6945 in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib64/libboost_python-3.6.so.1.65.0
#10 0x00007fca0fbf6af8 in ?? () from /usr/lib64/libboost_python-3.6.so.1.65.0
#11 0x00007fca0fbfd2a3 in boost::python::handle_exception_impl(boost::function0<void>) () from /usr/lib64/libboost_python-3.6.so.1.65.0
#12 0x00007fca0fbf5216 in ?? () from /usr/lib64/libboost_python-3.6.so.1.65.0
#13 0x00007fca48eb4609 in _PyObject_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#14 0x00007fca48f8578e in ?? () from /usr/lib64/libpython3.6m.so.1.0
#15 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#16 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#17 0x00007fca48f855d4 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#18 0x00007fca48f85855 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#19 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#20 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#21 0x00007fca48f855d4 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#22 0x00007fca48f85855 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#23 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#24 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#25 0x00007fca48f855d4 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#26 0x00007fca48f85855 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#27 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#28 0x00007fca48f849af in ?? () from /usr/lib64/libpython3.6m.so.1.0
#29 0x00007fca48f85855 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#30 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#31 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#32 0x00007fca48f85a1e in PyEval_EvalCodeEx () from /usr/lib64/libpython3.6m.so.1.0
#33 0x00007fca48ee5275 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#34 0x00007fca48eb4418 in PyObject_Call () from /usr/lib64/libpython3.6m.so.1.0
#35 0x00007fca48f8799c in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#36 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#37 0x00007fca48f8dbe9 in _PyFunction_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#38 0x00007fca48eb46ee in _PyObject_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#39 0x00007fca48eb495c in _PyObject_Call_Prepend () from /usr/lib64/libpython3.6m.so.1.0
#40 0x00007fca48eb4418 in PyObject_Call () from /usr/lib64/libpython3.6m.so.1.0
#41 0x00007fca4959e1ce in App::FeaturePythonImp::execute() () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#42 0x00007fc9f0736e70 in App::FeaturePythonT<Path::Feature>::execute() () from /usr/lib64/freecad/lib64/Path.so
#43 0x00007fca49559733 in App::DocumentObject::recompute() () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#44 0x00007fca49513278 in App::Document::_recomputeFeature(App::DocumentObject*) () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#45 0x00007fca4951b2c8 in App::Document::recompute() () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#46 0x00007fca49582a22 in App::DocumentPy::recompute(_object*) () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#47 0x00007fca49582b07 in App::DocumentPy::staticCallback_recompute(_object*, _object*) () from /usr/lib64/freecad/lib64/libFreeCADApp.so
#48 0x00007fca48f07cad in _PyCFunction_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#49 0x00007fca48f85972 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#50 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#51 0x00007fca48f849af in ?? () from /usr/lib64/libpython3.6m.so.1.0
#52 0x00007fca48f85855 in ?? () from /usr/lib64/libpython3.6m.so.1.0
#53 0x00007fca48f8aec3 in _PyEval_EvalFrameDefault () from /usr/lib64/libpython3.6m.so.1.0
#54 0x00007fca48f8545a in ?? () from /usr/lib64/libpython3.6m.so.1.0
#55 0x00007fca48f8dbe9 in _PyFunction_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#56 0x00007fca48eb46ee in _PyObject_FastCallDict () from /usr/lib64/libpython3.6m.so.1.0
#57 0x00007fca48eb495c in _PyObject_Call_Prepend () from /usr/lib64/libpython3.6m.so.1.0
#58 0x00007fca48eb4418 in PyObject_Call () from /usr/lib64/libpython3.6m.so.1.0
#59 0x00007fca49d9864c in Gui::TaskView::TaskDialogPython::accept() () from /usr/lib64/freecad/lib64/libFreeCADGui.so
#60 0x00007fca49d8dd06 in Gui::TaskView::TaskView::accept() () from /usr/lib64/freecad/lib64/libFreeCADGui.so
#61 0x00007fca48164fae in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#62 0x00007fca488cda60 in ?? () from /usr/lib64/libQt5Widgets.so.5
#63 0x00007fca48164fae in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#64 0x00007fca4882e412 in QAbstractButton::clicked(bool) () from /usr/lib64/libQt5Widgets.so.5
#65 0x00007fca4882e61a in ?? () from /usr/lib64/libQt5Widgets.so.5
#66 0x00007fca4882f9cf in ?? () from /usr/lib64/libQt5Widgets.so.5
#67 0x00007fca4882fba5 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#68 0x00007fca487850d8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#69 0x00007fca48745861 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#70 0x00007fca4874cedf in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#71 0x00007fca49ba5c58 in Gui::GUIApplication::notify(QObject*, QEvent*) () from /usr/lib64/freecad/lib64/libFreeCADGui.so
#72 0x00007fca4813cb22 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#73 0x00007fca4874c1e0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#74 0x00007fca4879f8df in ?? () from /usr/lib64/libQt5Widgets.so.5
#75 0x00007fca487a27ef in ?? () from /usr/lib64/libQt5Widgets.so.5
#76 0x00007fca48745861 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#77 0x00007fca4874cc98 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#78 0x00007fca49ba5c58 in Gui::GUIApplication::notify(QObject*, QEvent*) () from /usr/lib64/freecad/lib64/libFreeCADGui.so
#79 0x00007fca4813cb22 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#80 0x00007fca454cb9ac in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#81 0x00007fca454ccde5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#82 0x00007fca454a8ceb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#83 0x00007fca3c34777a in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#84 0x00007fca439f049e in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#85 0x00007fca439f0738 in ?? () from /usr/lib64/libglib-2.0.so.0
#86 0x00007fca439f07cc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#87 0x00007fca4818dca3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#88 0x00007fca4813bafb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#89 0x00007fca48143772 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#90 0x00007fca49b3930f in Gui::Application::runApplication() () from /usr/lib64/freecad/lib64/libFreeCADGui.so
#91 0x000055897fe088df in main ()
Any chance you could confirm which openvoronoi release/commit worked for you with python 2 in case I decide to try a new build with python 2 next?
Post Reply