Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

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!
Post Reply
evoud3
Posts: 9
Joined: Tue May 05, 2020 4:43 pm

Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by evoud3 »

I noticed that when doing an Experimental Waterline toolpath, the toolpath stops half the cutter diameter before an edge, as expected. When I try to get the toolpath over the edge using a positive Boundary Adjustment, the newly generated toolpath also sends the cutter into internal features by the same amount. Is this expected?

For the 3D surface there are seperate Internal Features Adjustment and Boundary Adjustment settings.

OS: Arch Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.20940 (Git)
Build type: Release
Branch: master
Hash: 99ec5924d1e12b3b01ad753a37b5b119999c489d
Python version: 3.8.2
Qt version: 5.14.2
Coin version: 4.0.0a
OCC version: 7.4.0
Locale: English/United States (en_US)
RatonLaveur
Posts: 991
Joined: Wed Mar 27, 2019 10:45 am

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by RatonLaveur »

There's an option in the data tab called "Enforce Boundaries". It is set to true by default and will make your tool path operate conservatively (i.e. not too close to the edge of the selected feature.

If you set it to False, that should solve your problem more adequately.

Tell us how it goes.
evoud3
Posts: 9
Joined: Tue May 05, 2020 4:43 pm

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by evoud3 »

Thanks for the speedy reply, but that option doesn't exist in my version of FreeCAD. It's the 0.19 from Github that I compiled yesterday.

Screenshot of data tab included. The 'Boundary Adjustment' setting is also missing in the data tab, even though it exists in the Waterline Operation settings, screenshot attached.
Attachments
waterline-experimental-data-tab.png
waterline-experimental-data-tab.png (67.85 KiB) Viewed 1306 times
waterline-experimental-settings.png
waterline-experimental-settings.png (21.75 KiB) Viewed 1306 times
RatonLaveur
Posts: 991
Joined: Wed Mar 27, 2019 10:45 am

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by RatonLaveur »

Mhhh. Color me surprised, baffled, flabbergasted....
If you can, send us the file will you?
evoud3
Posts: 9
Joined: Tue May 05, 2020 4:43 pm

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by evoud3 »

Yes, not the exact file, but a test shape that shows the issue for me. Also added three screenshots of the toolpaths.
waterline-experimental-normal.png
waterline-experimental-normal.png (8.41 KiB) Viewed 1229 times
This is the normal Waterline Experimental behaviour.

waterline-experimental-boundary-adjustment.png
waterline-experimental-boundary-adjustment.png (9.15 KiB) Viewed 1229 times
Boundary adjustment of 0.5 mm (for a 1.0 mm endmill), clearly moving the cutter into internal features.

waterline-experimental-stock-enlarged.png
waterline-experimental-stock-enlarged.png (6.17 KiB) Viewed 1229 times
My current workaround is to increase the stock dimensions in the direction where I want the cutter to clear the edge. Not ideal if other operations depend on stock size; I create multiple parts and path jobs for the different operations.


I've tried the Dogbone dressup, this works but it's tedious to remove large amounts of unwanted bones at locations where you don't want the cutter to cut into internal features.

I've tried the Boundary Dressup as an alternative to increasing the stock size (even though I assume it can only limit the toolpaths already generated, not expand them?). But using Boundary Dressup gives me an error:

Code: Select all

Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundaryGui.py", line 211, in setEdit
    self.setupTaskPanel(panel)
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundaryGui.py", line 222, in setupTaskPanel
    panel.setupUi()
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundaryGui.py", line 167, in setupUi
    self.updateStockEditor(-1, False)
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundaryGui.py", line 142, in updateStockEditor
    setupFromBaseEdit()
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundaryGui.py", line 116, in setupFromBaseEdit
    self.stockFromBase = PathJobGui.StockFromBaseBoundBoxEdit(self.obj, self.form, force)
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 341, in __init__
    super(StockFromBaseBoundBoxEdit, self).__init__(obj, form, force)
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 289, in __init__
    self.setupUi(obj)
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathJobGui.py", line 407, in setupUi
    self.form.linkStockAndModel.setChecked(True)
<class 'AttributeError'>: 'PySide2.QtWidgets.QWidget' object has no attribute 'linkStockAndModel'
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundary.py", line 114, in execute
    inside  = edge.common(boundary).Edges
<class 'AttributeError'>: 'NoneType' object has no attribute 'common'
1000.38 <App> Document.cpp(3715): Failed to recompute small_slots_3_f19#DressupPathBoundary: 'NoneType' object has no attribute 'common'
Recompute failed! Please check report view.
Traceback (most recent call last):
  File "/usr/lib/freecad/Mod/Path/PathScripts/PathDressupPathBoundary.py", line 114, in execute
    inside  = edge.common(boundary).Edges
<class 'AttributeError'>: 'NoneType' object has no attribute 'common'
1004.71 <App> Document.cpp(3715): Failed to recompute small_slots_3_f19#DressupPathBoundary: 'NoneType' object has no attribute 'common'
Recompute failed! Please check report view.
Attachments
small-slots-3-f19.FCStd
(34.3 KiB) Downloaded 33 times
evoud3
Posts: 9
Joined: Tue May 05, 2020 4:43 pm

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by evoud3 »

I just noticed not all properties are displayed by default, I had to right-click in the properties tab and then select 'Show all'.

Now I do have the group 'Selected Geometry Settings'. However:

- Increasing Boundary Adjustment still cuts into internal features
- Settings Boundary Enforcement to 'False' doesn't extend the toolpath to cut 'till the edge
- Changing Internal Features Adjustment and/or Internal Features Cut doesn't seem to affect the toolpath at all
Russ4262
Posts: 953
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by Russ4262 »

Good morning and welcome to the forum, Evoud3!
evoud3 wrote: Wed May 06, 2020 12:04 pm I just noticed not all properties are displayed by default, I had to right-click in the properties tab and then select 'Show all'.

Now I do have the group 'Selected Geometry Settings'. However:

- Increasing Boundary Adjustment still cuts into internal features
- Settings Boundary Enforcement to 'False' doesn't extend the toolpath to cut 'till the edge
- Changing Internal Features Adjustment and/or Internal Features Cut doesn't seem to affect the toolpath at all

The `Experimental` algorithm is just that, experimental, at this point. This is its initial rollout to the public. It is lacking in many ways.

The `Selected Geometry Settings` section of properties is hidden by design. Those properties are not activated for the operation, yet. That section will be activated when the ability to limit the operation to selected faces is commissioned. Should sub-sections of those properties be activated, they will be made available to the user by default.
evoud3 wrote: Tue May 05, 2020 4:54 pm ... When I try to get the toolpath over the edge using a positive Boundary Adjustment, the newly generated toolpath also sends the cutter into internal features by the same amount. Is this expected?
...
Yes, it is expected in the operations current development state. No, it is not the desired final capability. Your desire to extend the cutter beyond the boundary of the model to clear edges is on the envisioned list of features.

Thanks for raising the question here in the forum. I think you will find a lot of helpful members here in the forum.

Russell
evoud3
Posts: 9
Joined: Tue May 05, 2020 4:43 pm

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by evoud3 »

Thanks! And more thanks for your work on the Path workbench! I'll keep my eyes peeled for upcoming features.
Russ4262
Posts: 953
Joined: Sat Jun 30, 2018 3:22 pm
Location: Oklahoma
Contact:

Re: Experimental Waterline 'Boundary Adjustment' without cutting into internal features (0.19 git)

Post by Russ4262 »

On behalf of the entire International Society of Path Workbench Critics Contributors and Developers, you are welcome.

We hope you find it purposeful, practical, and profitable, but in no tenaciously tangible, nor terrifically tiny way, preposterous.

Good day, Sir.

Russell
Post Reply