Path Operations refactor branch.

Here's the place for discussion related to CAM/CNC and the development of the Path module.
mlampert
Posts: 1304
Joined: Fri Sep 16, 2016 9:28 pm

Path Operations refactor branch.

Postby mlampert » Tue Aug 15, 2017 6:01 pm

As hinted in some of the threads we've refactored almost all operations and consolidated most of the common code. All ops are now split into the op itself (which can be used in a script without UI), and the UI and command for it. The UI for all commands is structured the same and uses the same UI elements, so hopefully they become easier to use.

I had to remove some of the "extra functionality" in drilling and helix, it didn't want to get consolidated - but I think the end result works OK - at least I hope so.

This is a massive change, although most of it is mechanical. Still, it touches all full operations (no partial commands and no dressups - yet) and it would be great to get some soak time on it before we merge it into master. The change is here:

https://github.com/FreeCAD/FreeCAD/pull/929

if you have some time please give it a whirl.
And as noted in https://forum.freecadweb.org/viewtopic.php?f=15&t=23865 we're still looking for a volunteer for the what's-this functionality ;)
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Path Operations refactor branch.

Postby roivai » Sat Aug 19, 2017 7:34 am

Hi,

Finally had the time to build and test your branch.. Just quickly looked at it and it looks nice! I like the changes you made to the Drilling GUI, separating the custom locations from the features makes sense!
mlampert
Posts: 1304
Joined: Fri Sep 16, 2016 9:28 pm

Re: Path Operations refactor branch.

Postby mlampert » Sat Aug 19, 2017 4:33 pm

roivai wrote:
Sat Aug 19, 2017 7:34 am
Hi,

Finally had the time to build and test your branch.. Just quickly looked at it and it looks nice! I like the changes you made to the Drilling GUI, separating the custom locations from the features makes sense!
Thanks - very glad you like it - I was a bit concerned you would get mad at my heavy changes to drilling after all the work you put into it. :mrgreen:
mlampert
Posts: 1304
Joined: Fri Sep 16, 2016 9:28 pm

Re: Path Operations refactor branch.

Postby mlampert » Tue Aug 22, 2017 5:59 pm

PR-929 has been merged. In case you have any questions about code structure and/or functionality don't hesitate to ask.
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Path Operations refactor branch.

Postby Konstantin » Wed Aug 23, 2017 8:54 pm

Hm, is it working only with Qt4? On Qt5 with Pyside2 while opening drilling operation (with my old settings and tool library) it throws

Code: Select all

Traceback (most recent call last):
  File "/Data1/kostia/Bin/git/FreeCAD/build/Mod/Path/PathScripts/PathOpGui.py", line 94, in setEdit
    self.setupTaskPanel(TaskPanel(vobj.Object, self.deleteObjectsOnReject(), page, selection))
  File "/Data1/kostia/Bin/git/FreeCAD/build/Mod/Path/PathScripts/PathOpGui.py", line 599, in __init__
    self.featurePages.append(TaskPanelBaseLocationPage(obj, features))
  File "/Data1/kostia/Bin/git/FreeCAD/build/Mod/Path/PathScripts/PathOpGui.py", line 157, in __init__
    self.form = self.getForm()
  File "/Data1/kostia/Bin/git/FreeCAD/build/Mod/Path/PathScripts/PathOpGui.py", line 409, in getForm
    self.formLoc.baseList.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
<type 'exceptions.AttributeError'>: 'PySide2.QtWidgets.QHeaderView' object has no attribute 'setResizeMode'
And opens in sidebar only with "Translations"options. When I click Ok, then it throws another message:

Code: Select all

PathCircularHoleBase(135).opExecute()
PathCircularHoleBase(243).findHoles(obj: <Document object> shape: <Solid object at 0x1687361e50>)
PathCircularHoleBase.DEBUG: search for holes larger than tooldiameter: None: 
PathCircularHoleBase.DEBUG: shape is not planar
PathCircularHoleBase.DEBUG: face candidate: <Face object at 0x1687e05390> is drillable 
PathCircularHoleBase.DEBUG: Found hole feature Extrude.Face5
PathCircularHoleBase.DEBUG: face candidate: <Face object at 0x1687e05310> is drillable 
PathCircularHoleBase.DEBUG: Found hole feature Extrude.Face6
PathCircularHoleBase.DEBUG: face candidate: <Face object at 0x16872d6420> is drillable 
PathCircularHoleBase.DEBUG: Found hole feature Extrude.Face7
PathCircularHoleBase.DEBUG: holes found: [{'d': 23.577702000000002, 'enabled': True, 'feature': <Face object at 0x1687e05390>, 'featureName': 'Face5', 'y': 30.036739, 'x': 50.446617}, {'d': 18.910881999999987, 'enabled': True, 'feature': <Face object at 0x1687e05310>, 'featureName': 'Face6', 'y': 45.171574, 'x': 89.849396}, {'d': 12.905672047333898, 'enabled': True, 'feature': <Face object at 0x16872d6420>, 'featureName': 'Face7', 'y': 42.301178, 'x': 21.220718}]
PathCircularHoleBase(224).setDepths(Drilling, 10.0, 0.0, BoundBox (0, 0, 0, 114.378, 71.788, 10))
PathCircularHoleBase.DEBUG: setDepths(Drilling): z=0.00 -> 10.00 bb.z=0.00 -> 10.00
PathCircularHoleBase(224).setDepths(Drilling, 10.0, 0.0, BoundBox (0, 0, 0, 114.378, 71.788, 10))
PathCircularHoleBase.DEBUG: setDepths(Drilling): z=0.00 -> 10.00 bb.z=0.00 -> 10.00
Generates path, options in Data tab looks ok, exports without visible problems. Didn't try yet other tools.

To ensure, that it is not some old settings problem I removed everything in .FreeCAD directory, started again (and found that window layout stayed as I left it. So, window layout is stored somewhere else?)
Extruded simple part from sketch with three holes, Created Job. (With standard tool set by default) I selected face on part, pressed Drilling operation button, it caused same error as first. Removed drilling operation and standard tool, opened tool library, created 10mm diam drill with 118° cutting angle (I am a bad boy), added this tool controller. Pressed Drilling operation button and then it crashed with this :

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /usr/lib/libc.so.6(+0x33940) [0x7fcc7b36e940]
#1  0x7fcc7c718150 in QMapDataBase::rotateLeft(QMapNodeBase*) from /usr/lib/libQt5Core.so.5+0x40
#2  0x7fcc7c7182f4 in QMapDataBase::rebalance(QMapNodeBase*) from /usr/lib/libQt5Core.so.5+0xc4
#3  0x7fcc7c718863 in QMapDataBase::createNode(int, int, QMapNodeBase*, bool) from /usr/lib/libQt5Core.so.5+0x63
#4  /usr/lib/qt/plugins/styles/breeze.so(+0x3c676) [0x7fcc60d0f676]
#5  /usr/lib/qt/plugins/styles/breeze.so(+0x177ae) [0x7fcc60cea7ae]
#6  /usr/lib/qt/plugins/styles/breeze.so(+0x604e5) [0x7fcc60d334e5]
#7  0x7fcc7d5f97ef in QWidget::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0xc7f
#8  0x7fcc7d6e8053 in QLineEdit::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0xa3
#9  0x7fcc7d5b6e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x9c
#10  0x7fcc7d5be926 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x2a6
#11  0x7fcc82d7cc98 in Gui::GUIApplication::notify(QObject*, QEvent*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x88
#12  0x7fcc7c88fbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x120
#13  0x7fcc7d5f4db5 in QWidget::ensurePolished() const from /usr/lib/libQt5Widgets.so.5+0x65
#14  0x7fcc7d6e2b9e in QLineEdit::sizeHint() const from /usr/lib/libQt5Widgets.so.5+0x2e
#15  0x7fcc8303b29a in Gui::InputField::InputField(QWidget*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x18a
#16  0x7fcc82d87ded in Gui::WidgetProducer<Gui::InputField>::Produce() const from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x1d
#17  0x7fcc8228b392 in Base::Factory::Produce(char const*) const from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADBase.so+0x212
#18  0x7fcc8305559f in Gui::WidgetFactoryInst::createWidget(char const*, QWidget*) const from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0xf
#19  0x7fcc8305abf2 in Gui::UiLoader::createWidget(QString const&, QWidget*, QString const&) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0xa2
#20  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x67a583) [0x7fcc830b3583]
#21  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6897e5) [0x7fcc830c27e5]
#22  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6953b0) [0x7fcc830ce3b0]
#23  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x67974f) [0x7fcc830b274f]
#24  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x681d0d) [0x7fcc830bad0d]
#25  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6858d5) [0x7fcc830be8d5]
#26  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6955d9) [0x7fcc830ce5d9]
#27  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x689a8e) [0x7fcc830c2a8e]
#28  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6953b0) [0x7fcc830ce3b0]
#29  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x67974f) [0x7fcc830b274f]
#30  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x681d0d) [0x7fcc830bad0d]
#31  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6858d5) [0x7fcc830be8d5]
#32  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6955d9) [0x7fcc830ce5d9]
#33  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x689a8e) [0x7fcc830c2a8e]
#34  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6953b0) [0x7fcc830ce3b0]
#35  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x67974f) [0x7fcc830b274f]
#36  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x682709) [0x7fcc830bb709]
#37  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x6796be) [0x7fcc830b26be]
#38  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so(+0x680777) [0x7fcc830b9777]
#39  0x7fcc8305b887 in Gui::UiLoaderPy::load(Py::Tuple const&) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x457
#40  0x7fcc8305d13e in Py::PythonExtension<Gui::UiLoaderPy>::method_varargs_call_handler(_object*, _object*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x1be
#41  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x35a) [0x7fcc81e7467a]
#42  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x2d5) [0x7fcc81ed54c5]
#43  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x19) [0x7fcc81eef8f9]
#44  /usr/lib/libpython2.7.so.1.0(+0x15450f) [0x7fcc81ee250f]
#45  /usr/lib/libpython2.7.so.1.0(PyRun_StringFlags+0x66) [0x7fcc81ee4276]
#46  0x7fcc8305a816 in Gui::PySideUicModule::loadUi(Py::Tuple const&) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x246
#47  0x7fcc8305cc5a in Py::ExtensionModule<Gui::PySideUicModule>::invoke_method_varargs(void*, Py::Tuple const&) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x3a
#48  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADBase.so(method_varargs_call_handler+0x177) [0x7fcc8225f4f7]
#49  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x35a) [0x7fcc81e7467a]
#50  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0xeaf) [0x7fcc81e751cf]
#51  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x2d5) [0x7fcc81ed54c5]
#52  /usr/lib/libpython2.7.so.1.0(+0xb469e) [0x7fcc81e4269e]
#53  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#54  /usr/lib/libpython2.7.so.1.0(+0xe261e) [0x7fcc81e7061e]
#55  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#56  /usr/lib/libpython2.7.so.1.0(+0xc5947) [0x7fcc81e53947]
#57  /usr/lib/libpython2.7.so.1.0(+0xa4614) [0x7fcc81e32614]
#58  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#59  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5ccd) [0x7fcc81e79fed]
#60  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0xeaf) [0x7fcc81e751cf]
#61  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x2d5) [0x7fcc81ed54c5]
#62  /usr/lib/libpython2.7.so.1.0(+0xb469e) [0x7fcc81e4269e]
#63  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#64  /usr/lib/libpython2.7.so.1.0(+0xe261e) [0x7fcc81e7061e]
#65  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#66  /usr/lib/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x30) [0x7fcc81ed4bd0]
#67  0x7fcc82d2e1e4 in Py::Callable::apply(Py::Tuple const&) const from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x14
#68  0x7fcc830063d7 in Gui::ViewProviderPythonFeatureImp::setEdit(int) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x4a7
#69  0x7fcbdbab1427 in Gui::ViewProviderPythonFeatureT<PathGui::ViewProviderPath>::setEdit(int) from /Data1/kostia/Bin/git/FreeCAD/build/Mod/Path/PathGui.so+0x17
#70  0x7fcc82fe434a in Gui::ViewProvider::startEditing(int) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x3a
#71  0x7fcc82fff308 in Gui::ViewProviderPy::startEditing(_object*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x58
#72  0x7fcc82fff437 in Gui::ViewProviderPy::staticCallback_startEditing(_object*, _object*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x37
#73  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x35a) [0x7fcc81e7467a]
#74  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0xeaf) [0x7fcc81e751cf]
#75  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x2d5) [0x7fcc81ed54c5]
#76  /usr/lib/libpython2.7.so.1.0(+0xb469e) [0x7fcc81e4269e]
#77  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#78  /usr/lib/libpython2.7.so.1.0(+0xe261e) [0x7fcc81e7061e]
#79  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fcc81ea00e3]
#80  /usr/lib/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x30) [0x7fcc81ed4bd0]
#81  /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADBase.so(PP_Run_Method+0xe7) [0x7fcc82314697]
#82  0x7fcc82293839 in Base::InterpreterSingleton::runMethodVoid(_object*, char const*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADBase.so+0x29
#83  0x7fcc82dac370 in Gui::PythonCommand::activated(int) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x90
#84  0x7fcc82dafecb in Gui::Command::invoke(int) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x7b
#85  0x7fcc7c8bf786 in QMetaObject::activate(QObject*, int, int, void**) from /usr/lib/libQt5Core.so.5+0x886
#86  0x7fcc7d5b0543 in QAction::triggered(bool) from /usr/lib/libQt5Widgets.so.5+0x43
#87  0x7fcc7d5b2d66 in QAction::activate(QAction::ActionEvent) from /usr/lib/libQt5Widgets.so.5+0xd6
#88  /usr/lib/libQt5Widgets.so.5(+0x3128dc) [0x7fcc7d77d8dc]
#89  0x7fcc7d77db45 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) from /usr/lib/libQt5Widgets.so.5+0xf5
#90  0x7fcc7d75c22b in QToolButton::mouseReleaseEvent(QMouseEvent*) from /usr/lib/libQt5Widgets.so.5+0xb
#91  0x7fcc7d5f8d68 in QWidget::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x1f8
#92  0x7fcc7d75c2c5 in QToolButton::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x35
#93  0x7fcc7d5b6e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x9c
#94  0x7fcc7d5beea1 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x821
#95  0x7fcc82d7cc98 in Gui::GUIApplication::notify(QObject*, QEvent*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x88
#96  0x7fcc7c88fbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x120
#97  0x7fcc7d5bde2a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib/libQt5Widgets.so.5+0x1da
#98  /usr/lib/libQt5Widgets.so.5(+0x1a8f51) [0x7fcc7d613f51]
#99  /usr/lib/libQt5Widgets.so.5(+0x1ab691) [0x7fcc7d616691]
#100  0x7fcc7d5b6e4c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x9c
#101  0x7fcc7d5be926 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x2a6
#102  0x7fcc82d7cc98 in Gui::GUIApplication::notify(QObject*, QEvent*) from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x88
#103  0x7fcc7c88fbd0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x120
#104  0x7fcc7cdf21e4 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /usr/lib/libQt5Gui.so.5+0x704
#105  0x7fcc7cdf3d46 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/libQt5Gui.so.5+0x136
#106  0x7fcc7cdcb4ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Gui.so.5+0xac
#107  /usr/lib/libQt5XcbQpa.so.5(+0x99cc1) [0x7fcc70ed5cc1]
#108  /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x2e7) [0x7fcc7654ba57]
#109  /usr/lib/libglib-2.0.so.0(+0x4ac88) [0x7fcc7654bc88]
#110  /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7fcc7654bd1c]
#111  0x7fcc7c8ea061 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x61
#112  0x7fcc7c88dffb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x13b
#113  0x7fcc7c897048 in QCoreApplication::exec() from /usr/lib/libQt5Core.so.5+0x98
#114  0x7fcc82d29c23 in Gui::Application::runApplication() from /home/kostia/Bin/git/FreeCAD/build/lib/libFreeCADGui.so+0x1153
#115  ./FreeCAD(main+0x61f) [0x40b7f43af]
#116  /usr/lib/libc.so.6(__libc_start_main+0xea) [0x7fcc7b35b4ca]
#117  ./FreeCAD(_start+0x2a) [0x40b7f4f8a]
OS: "Manjaro Linux"
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11907 (Git)
Build type: Release
Branch: master
Hash: 5996ebcf61e518bb0124a6e95ebb03543907a7b5
Python version: 2.7.13
Qt version: 5.9.1
Coin version: 3.1.3
OCC version: 7.1.0
Locale: C/Default (C)

Should I recompile FreeCAD with Qt4? (actually It would mean compiling again all qtwebkit, vtk-qt4 and so on,) Or it is not related with Pyside2 and Qt5?
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Path Operations refactor branch.

Postby Konstantin » Wed Aug 23, 2017 9:14 pm

Little update: I've found additional settings file in ~/.config/FreeCAD directory. Deleted it to. Now repeated all steps in previous message except didn't change cutting edge angle: no crash, only error output. So, crash is caused by checking angle.
mlampert
Posts: 1304
Joined: Fri Sep 16, 2016 9:28 pm

Re: Path Operations refactor branch.

Postby mlampert » Wed Aug 23, 2017 9:25 pm

Thanks for the feedback!

Seems there is some difference between QT4 and 5 API about the header resizing:
https://stackoverflow.com/questions/427 ... -to-qt-5-8

The debug messages seem OK, except I should set logging level back to info - note to self: should not submit code with modules on debug log level.
I'll try to reproduce the cutting edge angle issue.
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Path Operations refactor branch.

Postby Konstantin » Wed Aug 23, 2017 9:37 pm

mlampert wrote:
Wed Aug 23, 2017 9:25 pm
Thanks for the feedback!

Seems there is some difference between QT4 and 5 API about the header resizing:
https://stackoverflow.com/questions/427 ... -to-qt-5-8
So there is no way to make it working for both? They just changed it without backward compatibility?
The debug messages seem OK, except I should set logging level back to info - note to self: should not submit code with modules on debug log level.
I'll try to reproduce the cutting edge angle issue.
So... There will be drilling operation window again? Or will there be way to choose holes by hand? Or it will just put it in every hole in my part?
mlampert
Posts: 1304
Joined: Fri Sep 16, 2016 9:28 pm

Re: Path Operations refactor branch.

Postby mlampert » Wed Aug 23, 2017 9:53 pm

Konstantin wrote:
Wed Aug 23, 2017 9:37 pm
mlampert wrote:
Wed Aug 23, 2017 9:25 pm
Thanks for the feedback!

Seems there is some difference between QT4 and 5 API about the header resizing:
https://stackoverflow.com/questions/427 ... -to-qt-5-8
So there is no way to make it working for both? They just changed it without backward compatibility?
The debug messages seem OK, except I should set logging level back to info - note to self: should not submit code with modules on debug log level.
I'll try to reproduce the cutting edge angle issue.
So... There will be drilling operation window again? Or will there be way to choose holes by hand? Or it will just put it in every hole in my part?
I have a fix for it - can't test it for QT5 at the moment because I don't have a setup for it. If you want you can give it a try: https://github.com/mlampert/FreeCAD/tre ... or-fallout

This issue is specific to drilling and helix - so it probably prevents you from getting the proper task panels. Once fixed you should be back in business ;)
Konstantin
Posts: 261
Joined: Wed Jul 23, 2014 10:10 am

Re: Path Operations refactor branch.

Postby Konstantin » Wed Aug 23, 2017 9:58 pm

mlampert wrote:
Wed Aug 23, 2017 9:53 pm
The debug messages seem OK, except I should set logging level back to info - note to self: should not submit code with modules on debug log level.
I'll try to reproduce the cutting edge angle issue.


I have a fix for it - can't test it for QT5 at the moment because I don't have a setup for it. If you want you can give it a try: https://github.com/mlampert/FreeCAD/tre ... or-fallout

This issue is specific to drilling and helix - so it probably prevents you from getting the proper task panels. Once fixed you should be back in business ;)
Ok. I will test it tomorrow. It's past midnight here. :)