Adaptive Path/CAM Operation

Here's the place for discussion related to CAM/CNC and the development of the Path module.
dubstar-04
Posts: 257
Joined: Mon Mar 04, 2013 8:41 pm

Re: Adaptive Path/CAM Operation

Postby dubstar-04 » Mon Aug 27, 2018 2:49 pm

@kreso-t

I have compiled your branch:

OS: Ubuntu 18.04.1 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14444 (Git)
Build type: Unknown
Branch: master
Hash: 52cf88810b14fed1342c4c2cb94c3b2ca8238b52
Python version: 2.7.15rc1
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18
Locale: English/UnitedKingdom (en_GB)

I cant seem to get it to clear all the edges.

File attached.
AdaptiveCPPError.png
AdaptiveCPPError.png (128.92 KiB) Viewed 251 times
Attachments
TortureTest2.FCStd
(800.65 KiB) Downloaded 8 times
kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Mon Aug 27, 2018 4:01 pm

dubstar-04 wrote:
Mon Aug 27, 2018 2:49 pm
@kreso-t

I have compiled your branch:

OS: Ubuntu 18.04.1 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14444 (Git)
Build type: Unknown
Branch: master
Hash: 52cf88810b14fed1342c4c2cb94c3b2ca8238b52
Python version: 2.7.15rc1
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18
Locale: English/UnitedKingdom (en_GB)

I cant seem to get it to clear all the edges.

File attached.

AdaptiveCPPError.png
Hi,

Sorry, I did not seem to push to git all the fixes I did yesterday and which are related to this problem (I did that today, but it seems that you pulled before that) Can you pls. try to pull new version, rebuild, and try again.
Thx,
BR
dubstar-04
Posts: 257
Joined: Mon Mar 04, 2013 8:41 pm

Re: Adaptive Path/CAM Operation

Postby dubstar-04 » Mon Aug 27, 2018 4:41 pm

kreso-t wrote:
Mon Aug 27, 2018 4:01 pm
dubstar-04 wrote:
Mon Aug 27, 2018 2:49 pm
@kreso-t

I have compiled your branch:

OS: Ubuntu 18.04.1 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14444 (Git)
Build type: Unknown
Branch: master
Hash: 52cf88810b14fed1342c4c2cb94c3b2ca8238b52
Python version: 2.7.15rc1
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.9.1.oce-0.18
Locale: English/UnitedKingdom (en_GB)

I cant seem to get it to clear all the edges.

File attached.

AdaptiveCPPError.png
Hi,

Sorry, I did not seem to push to git all the fixes I did yesterday and which are related to this problem (I did that today, but it seems that you pulled before that) Can you pls. try to pull new version, rebuild, and try again.
Thx,
BR
Its working for the torture test although the rapids violate the solid model.
AdaptiveFixed.png
AdaptiveFixed.png (178.73 KiB) Viewed 239 times
I have found a new problem with this model:
AdaptiveMarker.png
AdaptiveMarker.png (145.13 KiB) Viewed 239 times
I will PM you a link to the model as its a clients model and I can't share it publicly.

Thanks,

Dan
kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Mon Aug 27, 2018 5:27 pm

dubstar-04 wrote:
Mon Aug 27, 2018 4:41 pm
...
I have found a new problem with this model:

AdaptiveMarker.png

I will PM you a link to the model as its a clients model and I can't share it publicly.

Thanks,

Dan
Hi Dan,

It was the problem with the duplicate edge detection in this case. It's fixed now and pushed to git.
Selection_018.png
Selection_018.png (224.61 KiB) Viewed 231 times
Also you will probably need to increase accuracy (slider "Accuracy vs Performance" should probably be full to the left) in this case as it is a very small model with very fine details. Also I would suggest if you can simulate this toolpath somehow before actually running it on CNC as some parts (where the two cleared areas meet each other) look a bit strange to me (it's hard to tell sometimes if they are OK without actually running the simulation)

BR,
Kreso
kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Mon Aug 27, 2018 5:52 pm

... this part here got me worried for a second:
Selection_021.png
Selection_021.png (149.99 KiB) Viewed 227 times
but it seem to be ok, the area there was already cleared by previous passes :
Selection_022.png
Selection_022.png (131.82 KiB) Viewed 227 times
K.
kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Mon Aug 27, 2018 6:42 pm

schnebeck wrote:
Mon Aug 27, 2018 8:05 am
@kreso-t

Hi,

would it be possible to have FreeCAD fork and https://github.com/kreso-t/FreeCAD_Mod_ ... e_Path-Cpp in sync? The latter is easy to build and use with freecad daily ppa. Hopefully Adaptive Path is soon part of the main branch repo of FreeCAD :D

Bye

Thorsten
Hi Thorsten,

The fixes from FreeCAD fork have been merged into the FreeCAD_Mod_Adaptive_Path-Cpp, however as I mentioned before this is not completely the same version as in FreeCAD fork, so some things may not work exactly the same.

BR,
Kreso
dubstar-04
Posts: 257
Joined: Mon Mar 04, 2013 8:41 pm

Re: Adaptive Path/CAM Operation

Postby dubstar-04 » Mon Aug 27, 2018 7:26 pm

kreso-t wrote:
Mon Aug 27, 2018 5:27 pm
dubstar-04 wrote:
Mon Aug 27, 2018 4:41 pm
...
I have found a new problem with this model:

AdaptiveMarker.png

I will PM you a link to the model as its a clients model and I can't share it publicly.

Thanks,

Dan
Hi Dan,

It was the problem with the duplicate edge detection in this case. It's fixed now and pushed to git.

Selection_018.png

Also you will probably need to increase accuracy (slider "Accuracy vs Performance" should probably be full to the left) in this case as it is a very small model with very fine details. Also I would suggest if you can simulate this toolpath somehow before actually running it on CNC as some parts (where the two cleared areas meet each other) look a bit strange to me (it's hard to tell sometimes if they are OK without actually running the simulation)

BR,
Kreso
Nice work fixing it so quickly!!

Is there anything that can be done about the 'linking moves' where the tool rises between sections?
Peek 2018-08-27 20-25.gif
Peek 2018-08-27 20-25.gif (605.53 KiB) Viewed 216 times
kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Mon Aug 27, 2018 7:46 pm

dubstar-04 wrote:
Mon Aug 27, 2018 7:26 pm
...
Is there anything that can be done about the 'linking moves' where the tool rises between sections?

Peek 2018-08-27 20-25.gif
Yea, I noticed that it sometimes raises the tool unnecessarily - I kept it this way for now cause it does not happen that often and the simple solution I had for this may then be unsafe in some situations. It seems to happen more often with small models and small mills/tools. I'see what I can do about it tomorrow.

BR,
Kreso
User avatar
sgrogan
Posts: 5050
Joined: Wed Oct 22, 2014 5:02 pm

Re: Adaptive Path/CAM Operation

Postby sgrogan » Mon Aug 27, 2018 9:46 pm

kreso-t
Posts: 103
Joined: Sat Aug 04, 2018 2:32 pm

Re: Adaptive Path/CAM Operation

Postby kreso-t » Tue Aug 28, 2018 2:35 pm

sgrogan wrote:
Mon Aug 27, 2018 9:46 pm
Updated Win Build https://github.com/sgrogan/FreeCAD/releases/tag/kreso-t
Thx sgrogan,

Path workbech in general seem to have some more incompatibility issues with py3, i.e. I can't create Path Job, getting the error:

Code: Select all

Running the Python command 'Path_Job' failed:
Traceback (most recent call last):
  File "F:\Downloads\FreeCAD_0.18.14446-kreso-t_Conda_Py3QT5-WinVS2016_x64\Mod\Path\PathScripts\PathJobCmd.py", line 119, in Activated
    self.Execute(dialog.getModel(), dialog.getTemplate())
  File "F:\Downloads\FreeCAD_0.18.14446-kreso-t_Conda_Py3QT5-WinVS2016_x64\Mod\Path\PathScripts\PathJobCmd.py", line 91, in getModel
    return filter(lambda obj: obj.Label == label, FreeCAD.ActiveDocument.Objects)[0]

'filter' object is not subscriptable
I can try and fix those things in my branch, however as they are not in any way related to adaptive feature, not sure if I should proceed with that or there are plans to fix that in the FreeCAD master?

i.e. this line 91 in PathJobCmd.py:

Code: Select all

    return filter(lambda obj: obj.Label == label, FreeCAD.ActiveDocument.Objects)[0]
should be replaced with the following in order to work with py3 (behaviour of filter method has been changed in py3):

Code: Select all

    return list(filter(lambda obj: obj.Label == label, FreeCAD.ActiveDocument.Objects))[0]
BR,
K.