Waterline milling update

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!
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

GeneFC wrote: Wed Oct 06, 2021 9:24 pm That is the way it is supposed to work.
You invented the concept of rough and finish. It has nothing to do with multi-pass or single-pass.
Well, this is how machinists usually mill stuff since many years. As I know...
GeneFC wrote: Wed Oct 06, 2021 9:24 pm The multi-pass does the entire job, not just the "rough" portion. The single-pass does the entire job, not just the "finish" portion.
This is exactly what I meant: this approach is wrong, because between the two phases you need to change the type and the size of the milling bit. At least, this what 99,99% of machinists usually do...
GeneFC wrote: Wed Oct 06, 2021 9:24 pmDepending on the shape and the material I sometimes use multi-pass if the cut size would be too aggressive and other times I use single pass if my setup can handle the load.
This approach could be useful to cut chocolate or soft foam. :D

More than this, how it is possible that you use the multi-pass in such manner??? If I run the Freecad job-simulator I can clearly see that there are a lot of useless cuts and tool traveling! It takes forever to cut a dime reduced to the dimension of an atom, IMO.

Maybe I'm too tired this evening, but I tried to load the generated gcode on NC Viewer and what I see has no sense for me.
Please, could you try to go to https://ncviewer.com and load/run the attached g-code?
Have some sense for you?

Maybe are you using some special development version?
Attachments
Countersunk-Washer M6-3D-waterline-test_cb_2.txt
(256.53 KiB) Downloaded 48 times
Last edited by Giulio Buccini on Wed Oct 06, 2021 10:39 pm, edited 2 times in total.
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

The generated code with the multi-pass option is doing the same cuts again and again!
I.e. it repeats for uncountable times the same single-pass sequence. :shock:
Selection_7566.jpg
Selection_7566.jpg (372.36 KiB) Viewed 2244 times
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

After setting

Backplot Options -> Hide toolpath after position -> ON

(and setting a side-view on NC Viewer) I discovered that I was wrong. The useless repetead cuts are not like in the cycle

Code: Select all

for x=1 to 11 {
    cut external layer x
    for y=1 to 15 {
         cut internal layer y
         }
    }
but more something like

Code: Select all

for x=1 to 11 {
    cut external layer x
    for y=1 to X {
         cut internal layer y
         }
    }
Selection_7567.jpg
Selection_7567.jpg (89.7 KiB) Viewed 2217 times
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Waterline milling update

Post by GeneFC »

I am not using a special version, and I did not write the code.

I am just explaining how it works.

If you want something else then make a feature request.

Gene
chrisb
Veteran
Posts: 54197
Joined: Tue Mar 17, 2015 9:14 am

Re: Waterline milling update

Post by chrisb »

Giulio Buccini wrote: Wed Oct 06, 2021 10:14 pm
GeneFC wrote: Wed Oct 06, 2021 9:24 pm That is the way it is supposed to work.
You invented the concept of rough and finish. It has nothing to do with multi-pass or single-pass.
Well, this is how machinists usually mill stuff since many years. As I know...
This is how I understood Gene: You introduced the equivalence of Multipass<=>finishing and Singlepass<=>roughing. Alas, Multipass and Singlepass mean something completely different:

SinglePass: Go down to the surface of the object in a single pass
MultiPass: Go down to the surface of the object according to the StepDown value which results in multiple passes. And of course does this include the milling path of the SinglePass.

There is no way to change the tool in the middle of an operation, that's not the idea of an operation.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Russ4262
Posts: 952
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Waterline milling update

Post by Russ4262 »

Giulio Buccini wrote: Sun Oct 03, 2021 11:10 pm ... The programs halts on the following error: ...
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathGeom.py", line 92, in isRoughly
return math.fabs(float1 - float2) <= error
<class 'TypeError'>: unsupported operand type(s) for -: 'float' and 'NoneType'[/i]
...
Evening sir.
I have submitted what appears to the fix for what looks like the actual cause of that error, PR #5097, [Path] Fix Waterline error due to invalid arguments in getOffsetArea() calls.


For the sake of informing users, I can say from my experience that the Waterline operation is likely to be the least supported of all the operations available. It is rough to say the least, and the implementation and algorithm are not what most users are hoping for. This is just my observation and opinion.

Thanks for reporting errors here in the forum.

Russell
Russ4262
Posts: 952
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Waterline milling update

Post by Russ4262 »

Evening all.
If I may, I would like to step into the recent conversation here with some solutions, if you will permit me.
  • Yes, the `Multi-pass` setting includes the same final cut that the `Single-pass` produces. This is by design, more or less, as @ChrisB explained.
  • To create a true roughing pass, then the user needs to use `Multi-pass` and set the `Depth Offset` value, so as to leave a final layer of stock to be cleared by a subsequent finishing pass (`Single-pass`) operation. I have no experience with the depth of a finish passes.
  • Yes, the overall `Multi-pass` operation repeats some of the circular paths for various reasons. For the time being, this is by design, and this design is not for efficiency, but simplicity in the code when it was created. I agree, these repetitive passes should be removed, but that will take work on the algorithm. I don't have time to commit to this now.
  • To remove the external vertical ups and downs, users need to adjust the step-over value and the sample interval and boundary adjustments to find a happy set of values. I know, this is not ideal, but it is the current state of the situation.
Thanks,
Russell

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.25465 (Git)
Build type: Release
Branch: Master_0fcd0c
Hash: 0fcd0cec445c5c6f668f7303087271710e407e3b
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United States (en_US)
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

Thanks for the clarifications Russel.

As it is, the 3D surface tool is just a "proof of concept". This already a big result, unfortunately that is not enough, even for a small batch production (my original idea).
I hoped that with some "magic/hidden" tweaks it could be adapted to obtain a productive instrument for micro workshop like mine. But this seems not possible at the moment.

I will write down my g-code manually.
Maintaining custom code will be a real PITA for sure, even in case of minor adjustments at the shape size. For this reason I will try to support the process with a parametric spreadsheet that will calculate the main/crucial geometries of toolpath way-points for me. Any idea/suggestion about that will be greatly appreciated

Thanks to everyone for the posts.
bmsaus4ax
Posts: 258
Joined: Sat Nov 14, 2020 9:16 pm
Location: Bargara, Queensland, Australia UTC+10

Re: Waterline milling update

Post by bmsaus4ax »

Giulio Buccini wrote: Thu Oct 07, 2021 9:47 am
I will write down my g-code manually.
Maintaining custom code will be a real PITA for sure, even in case of minor adjustments at the shape size. For this reason I will try to support the process with a parametric spreadsheet that will calculate the main/crucial geometries of toolpath way-points for me. Any idea/suggestion about that will be greatly appreciated
While there may not be a single one step operation, you can still get very close using a series of lesser operations if you add on surfaces to build fake models and manipulate other standard operations.

This will not be totally free of 'air cuts' but can be much more friendly than full manual programming.

A group of operations within a Job can be posted out as a single program.

Attached a couple of options in a modification of one of the previously uploaded files.
( The 'float' related error in Waterline seems to go away if you do recompute on the operation.).
.
OS: Ubuntu 20.04.3 LTS (ubuntu:GNOME/ubuntu)
Word size of FreeCAD: 64-bit
Version: 0.20.25943 (Git) AppImage
Build type: Release
Branch: master
Hash: a65464b722a846bd2999aa2fecdff1132b15b297
Python version: 3.9.7
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.2
Locale: English/Australia (en_AU)
Attachments
Countersunk-Washer M6-3D-waterline-test_cb_2_1.FCStd
(86.46 KiB) Downloaded 41 times
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Waterline milling update

Post by GeneFC »

Giulio Buccini wrote: Wed Oct 06, 2021 10:14 pm This approach could be useful to cut chocolate or soft foam. :D
I use this approach on stainless steel as well. Should I change my process to use chocolate? Either milk or wine would probably work well as a coolant. :roll:

This specific item looks like a lathe job. Why are you making washers on a mill. :?:

Gene
Post Reply