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!
Russ4262
Posts: 941
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Waterline milling update

Post by Russ4262 »

Evening Gents,

The currently open, as of this post, PR-2849 has many updates compared to current 0.19 version. It might have what you need for this application. I used your file and selected the large tapered outer face for a 3D Surface drop cutter op. I set the sample interval to 0.02mm and the step over to 10%, using the tool included with the original file. I used the brand new `Circular` cut pattern with arc optimization on. The GCode is still all G0 and G1, but the results are pretty nice.

Your project file helped me identify and fix a few more bugs. Thanks for providing it.

Russ

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19424 (Git)
Build type: Release
Branch: master
Hash: 899854ac5d643e991a1006ed75aeff93baf3d224
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)
Attachments
3D_Surface-Circular_cut_pattern_with_arc_optimization_2.png
3D_Surface-Circular_cut_pattern_with_arc_optimization_2.png (263.14 KiB) Viewed 2253 times
3D_Surface-Circular_cut_pattern_with_arc_optimization.png
3D_Surface-Circular_cut_pattern_with_arc_optimization.png (175.95 KiB) Viewed 2253 times
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

Very interesting...
Waiting for the 0.19 version to be released. 8-)
herbk
Veteran
Posts: 2657
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Waterline milling update

Post by herbk »

Giulio Buccini wrote: Sat Feb 01, 2020 10:11 am Very interesting...
Waiting for the 0.19 version to be released. 8-)
There is no need to wait for it... Just download und use it, it's not less stable at the 0.18.4 ;)
Gruß Herbert
herbk
Veteran
Posts: 2657
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Waterline milling update

Post by herbk »

Hi Russel,

That looks again very very nice.
I hope it comes soon into the AppImage to make some tests with.
Gruß Herbert
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

Hello Russel,

could you please post your FCstd file? I cannot reproduce any waterline. The programs halts on the following error:

01:07:05 Traceback (most recent call last):
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathOpGui.py", line 1156, in clicked
self.panelGetFields()
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathOpGui.py", line 1171, in panelGetFields
page.pageGetFields()
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathOpGui.py", line 236, in pageGetFields
self.getFields(self.obj)
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathWaterlineGui.py", line 68, in getFields
PathGui.updateInputField(obj, 'BoundaryAdjustment', self.form.boundaryAdjustment)
File "/tmp/.mount_FreeCAo08VTM/usr/Mod/Path/PathScripts/PathGui.py", line 57, in updateInputField
if not PathGeom.isRoughly(attrValue, value):
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'


---------------------------------------------------------------------
OS: Ubuntu 16.04.7 LTS (XFCE/xfce)
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/United States (en_US)
Attachments
Countersunk-Washer M6-3D-waterline-test.FCStd
(26.52 KiB) Downloaded 57 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 think there are a couple of bugs here.

I am not at all knowledgeable about python, but I believe the fabs() function requires a single variable, not a math operation. When I created an extra variable equal to float1 - float2 and then used that in the fabs() function that error disappeared.

There is also some problem with getOffsetArea seen after the fabs error was corrected. I am not sure how this is supposed to work, but there is a mismatch in the variable count between the function call and the function definition.

In any case I would try 3D Surface with a circular or offset tool path. In my experience 3D Surface is more reliable than Waterline.

Gene
Giulio Buccini
Posts: 541
Joined: Fri Aug 26, 2016 9:07 pm
Location: Munich - Gemany

Re: Waterline milling update

Post by Giulio Buccini »

Hi GeneFC,

how you would mill the two tapered surfaces below with two operations?

I was trying to do it by using the 3D-Surface tool but with no success... :oops:
(I would like to make around two hundreds of washers like that by using a rough cut with an endmill, and a finish cut with a ball-nose endmill.)

I enclose the FCStd file.
Selection_7551.jpg
Selection_7551.jpg (21.36 KiB) Viewed 1807 times
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Waterline milling update

Post by GeneFC »

Here is a quick test using 3D Surface. I did not modify your file. This is using the defaults for the 3D Surface, except that I selected Offset for the Cut Pattern.

Capture.PNG
Capture.PNG (46.91 KiB) Viewed 1765 times

OS: Windows 7 Version 6.1 (Build 7601: SP 1)
Word size of FreeCAD: 64-bit
Version: 0.20.25893 (Git)
Build type: Release
Branch: Master
Hash: b8c1877133c814cd801309fd0b0266a6d1e0b75e
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 »

Uh...
Thanks!
Why I was not able to get the same result last night? Maybe I was too tired...

I'm playing with the parameters but I was not able to overcome this two major issues:

1. by selecting the external tapered surface, the internal one is selected (and milled) too;
2. the milling action on the external tapered surface stops before reaching the lower circular edge (see attached image).

About 2: I'available to manually cut&past the sole part of code that I'm interested in, but it is very difficult to understand where such lines of code starts by visual inspection only...
Attachments
Selection_7552.jpg
Selection_7552.jpg (71.19 KiB) Viewed 1688 times
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: Waterline milling update

Post by chrisb »

Giulio Buccini wrote: Tue Oct 05, 2021 8:22 am 2. the milling action on the external tapered surface stops before reaching the lower circular edge (see attached image).
Set BoundaryEnforcement= false.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Post Reply