Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Here's the place for discussion related to CAM/CNC and the development of the Path module.
User avatar
Kunda1
Posts: 5801
Joined: Thu Jan 05, 2017 9:03 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby Kunda1 » Thu Sep 05, 2019 5:26 am

looks like he still tunes in to FC, thanks to @sliptonic
http://www.anderswallin.net/2019/05/fre ... envoronoi/
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
freman
Posts: 678
Joined: Tue Nov 27, 2018 10:30 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby freman » Thu Sep 05, 2019 8:26 am

Russ, thanks for the outline of how this works. Looking the notes at the top of PathSurface.py , maybe I should have used line. Though this seems to alternate just a often as zig-zag.

Previously, a 3D surface path on any of the upper surfaces flowed everywhere which, while not ideal, did mean I could post process ( awk ) to crop out all paths below the bottom of my cylindrical cut and it would just dip around the edge and thus clean the whole surface. I could also crop out all below zero to get a surface cut from the same file. It now seems that it does limit to the surface I selected but I have the perennial FC problem of it not clearing up the edge because it's scared of air and unused stock.

If I try to select one of the planar faces it now fails to produce a path ( again this used to over run everywhere irrespective of where I clicked )

Code: Select all

Free Select
Surfacing Select Mode
PathOpGui.ERROR: Faces are not supported
Traceback (most recent call last):
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 104, in setEdit
    self.setupTaskPanel(TaskPanel(vobj.Object, self.deleteObjectsOnReject(), page, selection))
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 115, in setupTaskPanel
    panel.setupUi()
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 1024, in setupUi
    self.panelSetFields()
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 996, in panelSetFields
    page.pageSetFields()
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 234, in pageSetFields
    self.setFields(self.obj)
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathSurfaceGui.py", line 90, in setFields
    self.setupCoolant(obj, self.form.coolantController)
<type 'exceptions.AttributeError'>: 'PySide.QtGui.QWidget' object has no attribute 'coolantController'
Free Select
Traceback (most recent call last):
  File "/~/freecad19-master-build/Mod/Path/PathScripts/PathOpGui.py", line 947, in reject
    FreeCAD.ActiveDocument.removeObject(self.obj.Name)
<type 'exceptions.ReferenceError'>: Cannot access attribute 'Name' of deleted object
Although supporting 3D on individual faces/surfaces seems the logical way to go, this is actually a bit less useful than it was before.

Can you explain the errors on the planar surface. Is there any reason it cannot cope with the most trivial 3D geometry conceivable ?

I am creating quite complex part which will need 3D surface to flow over the whole thing. ( I can not have a dozen different facets each with thier own tool path and little bits left in all the corners ). Is it still possible for it to just flow everywhere as it did before?

thx.
User avatar
Russ4262
Posts: 222
Joined: Sat Jun 30, 2018 3:22 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby Russ4262 » Thu Sep 05, 2019 2:38 pm

@RatonLaveur,
Thanks for adding a much needed "finishing pass" to my earlier response. I appreciate the technical support and greater CNC experience and expression provided.

Russ
User avatar
Russ4262
Posts: 222
Joined: Sat Jun 30, 2018 3:22 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby Russ4262 » Thu Sep 05, 2019 3:03 pm

@Freman,
freman wrote:
Thu Sep 05, 2019 8:26 am
maybe I should have used line. Though this seems to alternate just a often as zig-zag.
I owe the FC community an apology for leaving the PathSurface in an incomplete state. All the patterns available are not all active (really available). I tossed them in the list as an ambitious vision of where PathSurface is headed. Line is the only available, complete pattern available in the list. Zig-zag will be a slight mutation of line when complete, just adding the rotation factor (around Z-axis).
freman wrote:
Thu Sep 05, 2019 8:26 am
Previously, a 3D surface path on any of the upper surfaces flowed everywhere... Is it still possible for it to just flow everywhere as it did before?
This original functionality should still be available. I'm not in front of a FC loaded computer now, so I'll have to look later at what settings values are required to extend the perimeter limits of the 3D Surface scan beyond the physical part (into the stock, or even beyond the stock). This should still be possible. I say this referring to the daily 0.19.xxx FC version, not 0.18.3 or previous.

---
As to your error message included, it looks related to a coolant controller. This might be newly added to PathWB after I set the project aside; it doesn't look familiar to me. I have not kept abreast of all the PRs - improvements or fixes.

Thanks for working to improve FC, @Freman.

Russell
RatonLaveur
Posts: 341
Joined: Wed Mar 27, 2019 10:45 am

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby RatonLaveur » Thu Sep 05, 2019 3:26 pm

At the risk of being dramatic in an "un-freecad" way, you owe nothing to anyone and that's the end of it.

We're grateful for any support and energy anyone puts into this community and software but it is never expected of anyone to do anything.

Back to more practical matters: yeah coolant management was recently added. There's a topic, and a PR not so far from here.
User avatar
Kunda1
Posts: 5801
Joined: Thu Jan 05, 2017 9:03 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby Kunda1 » Thu Sep 05, 2019 3:37 pm

Russ4262 wrote:
Thu Sep 05, 2019 3:03 pm
I owe the FC community an apology for leaving the PathSurface in an incomplete state.
it's done when it's done... -old FreeCAD adage
;)
Thanks for all you work and participation
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
freman
Posts: 678
Joined: Tue Nov 27, 2018 10:30 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby freman » Thu Sep 05, 2019 4:37 pm

Thanks for the reply Russ
Line is the only available, complete pattern available in the list.
Looking through the code it seems that it is intended to flip min and max of each line to ensure it cuts in the same direction. This does not seem to be happening on my file. I've only scratched the surface in understanding the code, so far, so I have no idea why not at this stage.

re. coolant error: I read the notes at the top of pathSurface.py about new props and deleted the offending path. It works fine now.

Again, please don't apologise but maybe some comments or FIXMEs in the code would help keep track of what unfinished scaffolding code and what is expected to work and would be helpful in picking up where things are and plugging a few gaps.
dubstar-04
Posts: 393
Joined: Mon Mar 04, 2013 8:41 pm
Location: Manchester, UK
Contact:

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby dubstar-04 » Thu Sep 05, 2019 4:45 pm

freman wrote:

Code: Select all

self.setupCoolant(obj, self.form.coolantController)
<type 'exceptions.AttributeError'>: 'PySide.QtGui.QWidget' object has no attribute 'coolantController'
The coolantController error is my fault! :(

Fixed with This PR: https://github.com/FreeCAD/FreeCAD/pull/2496

Sorry about that.
User avatar
freman
Posts: 678
Joined: Tue Nov 27, 2018 10:30 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby freman » Thu Sep 05, 2019 6:59 pm

Thanks dubstar,

maybe you can test a little with this file which was showing some problems. I won't list them unless you request it, just try creating a few 3dSurface paths, altering and deleting them. Several oddities and a crash here. Plus the pesky coolant thing.

since this is supposed to be doing "line" and in principal this should already be doing constant direction cuts, maybe you could confirm whether you see this. I don't : see the existing path.

@Russ, I did manage to recreate the 'spill everywhere' path I had before by selecting all faces. My bad.

BTW paths are getting labelled "Surface" , would it be clearer in the tree if they were labelled 3DSurface since that is the name of the tool which made them ?

thx.
Attachments
cylindrical-3D-surface-probs.FCStd
(73.98 KiB) Downloaded 5 times
User avatar
freman
Posts: 678
Joined: Tue Nov 27, 2018 10:30 pm

Re: Ticket #4111 - climb / conventional (inconsistent cut direction in 3Dsurface)

Postby freman » Thu Sep 05, 2019 10:02 pm

A little advice please.

I wanted to try tinkering with code a bit and made a trivial string change in freecad-source/src/Mod/Path/PathScripts/PathSurface.py , I saved and ran cmake then make which mostly wizzed though unchanged stuff but printed a msg showing it was copying my file to freecad-build/Mod/Path/PathScripts, I see the destination file's timestamp has changed.

That was exactly what I was expecting but when I open FreeCAD I do not see my new text.

obj.CutMode = ['unConventional', 'Climb']

I see the .pyc timestamp has also changed about 4s later than PathSurface.py

Presumably this is the text which is seen on all the path tools which offer the choice. Why don't is see it in the GUI?