Ramp entry (helix) too steep

Here's the place for discussion related to CAM/CNC and the development of the Path module.
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Ramp entry (helix) too steep

Postby roivai » Sun May 20, 2018 12:34 pm

Hi,

The ramp/helix dressup is quite dummy. The helix algorithm simply looks for a straight down non-rapid movement and a closed loop of constant-Z movement after that. If such condition is found, it is replaced with a helix covering the depth of the original Z depth. So because the original operation (profile in this case) is made so that the first move is made from safe height to the first step depth as a continuous feed move, the helix dressup has nothing else to do than to replace the whole depth with a helix. Like said, lowering the safe height close to the surface of the stock is the best way to avoid cutting too much air right now. Do all the operations have the Start Depth parameter? It maybe could be done that the plunge movements above that height are simply ignored by the dressup.. I'll try to play with that idea some night next week..

roivai
herbk
Posts: 1538
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Ramp entry (helix) too steep

Postby herbk » Sun May 20, 2018 6:57 pm

Hi roivai.
roivai wrote:
Sun May 20, 2018 12:34 pm
Do all the operations have the Start Depth parameter?
yes, each operation has a Start Depht.
Gruß Herbert
cahlfors
Posts: 62
Joined: Tue Jan 24, 2012 8:27 pm
Location: Sweden

Re: Ramp entry (helix) too steep

Postby cahlfors » Sun May 20, 2018 7:32 pm

roivai wrote:
Sun May 20, 2018 12:34 pm
It maybe could be done that the plunge movements above that height are simply ignored by the dressup..
Would that address the steepness issue?
FreeCAD-daily/Ubuntu or Mint
Mendel 3d-printer/pronterface
HeeksCAM
LinuxCNC
Optimum BF20L mill
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Ramp entry (helix) too steep

Postby roivai » Mon May 21, 2018 8:04 pm

cahlfors wrote:
Sun May 20, 2018 7:32 pm
Would that address the steepness issue?
I think it would. I tried that out and it works quite OK (based on the paths shown here, no actual machining or even simulation tried..)

So I added a parameter to the dressup to ignore movements above start depth of the base object. To test I created a helix and exaggerated the clearance height a bit:
2018-05-21-225047_1920x1080_scrot.png
2018-05-21-225047_1920x1080_scrot.png (27.46 KiB) Viewed 623 times

Now, with the ignore option enabled, the first round of the helix is not steep, but the tool is taken directly down to the start depth and the first loop of the helix is started:
2018-05-21-225044_1920x1080_scrot.png
2018-05-21-225044_1920x1080_scrot.png (27.7 KiB) Viewed 623 times
Would that be something useful? It is still rough at the edges, I'm sure, but I can try to test it a bit more and then generate a Pull Request for others to try as well. One question already comes to mind: Is there an easy method already made to look for the Start Depth (or any other parameter) of the underlying operation in case of nested dressup? For example, if I first add Tags dressup and ramp entry above that, the base operation of the ramp dressup does not have the Start Depth parameter.. Or do I just need to iterate until there is no Base.Base.Base..? :)
herbk
Posts: 1538
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Ramp entry (helix) too steep

Postby herbk » Mon May 21, 2018 8:41 pm

Hi roivai,
looks good!

Because i have had problems with "creating holding tags before a a ramp entry" in the past (it's some time gone since...), for me i stick to the rule "holding tags at last"...
Did you change the behavior of the first round only by the helical ramp or at every ramp style?
Gruß Herbert
mlampert
Posts: 1330
Joined: Fri Sep 16, 2016 9:28 pm

Re: Ramp entry (helix) too steep

Postby mlampert » Mon May 21, 2018 9:20 pm

roivai wrote:
Mon May 21, 2018 8:04 pm
... One question already comes to mind: Is there an easy method already made to look for the Start Depth (or any other parameter) of the underlying operation in case of nested dressup? For example, if I first add Tags dressup and ramp entry above that, the base operation of the ramp dressup does not have the Start Depth parameter.. Or do I just need to iterate until there is no Base.Base.Base..? :)
`PathDressup.baseOp` is what you're looking for - although, it might not be what the user wants. There might be dressups that have specifically altered the StartDepth before the ramp entry ....

In cases like this I would probably introduce a new parameter to the ramp entry op so users can select the depth at which they want to start the ramp.
mlampert
Posts: 1330
Joined: Fri Sep 16, 2016 9:28 pm

Re: Ramp entry (helix) too steep

Postby mlampert » Mon May 21, 2018 9:26 pm

herbk wrote:
Mon May 21, 2018 8:41 pm

Because i have had problems with "creating holding tags before a a ramp entry" in the past (it's some time gone since...), for me i stick to the rule "holding tags at last"...
That is definitely a good rule and I highly recommend it (and use it religiously). I can't think of a reason why anybody would want to dress up holding tags - but I'm sure somebody will come up with one ;).
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Ramp entry (helix) too steep

Postby roivai » Tue May 22, 2018 12:35 pm

herbk wrote:
Mon May 21, 2018 8:41 pm
Hi roivai,
looks good!

Did you change the behavior of the first round only by the helical ramp or at every ramp style?
I changed all the ramp/helix entry methods.

mlampert wrote:
Mon May 21, 2018 9:20 pm

`PathDressup.baseOp` is what you're looking for - although, it might not be what the user wants. There might be dressups that have specifically altered the StartDepth before the ramp entry ....

In cases like this I would probably introduce a new parameter to the ramp entry op so users can select the depth at which they want to start the ramp.
Yes - a new parameter would be probably the best - maybe setting it to the PathDressup.baseOp.StartDepth when the dressup is created. I will try to create a pull request tonight or tomorrow
cahlfors
Posts: 62
Joined: Tue Jan 24, 2012 8:27 pm
Location: Sweden

Re: Ramp entry (helix) too steep

Postby cahlfors » Tue May 22, 2018 7:27 pm

Applause! :D
FreeCAD-daily/Ubuntu or Mint
Mendel 3d-printer/pronterface
HeeksCAM
LinuxCNC
Optimum BF20L mill
roivai
Posts: 117
Joined: Thu Feb 02, 2017 5:29 pm
Location: Oulu, Finland

Re: Ramp entry (helix) too steep

Postby roivai » Tue May 22, 2018 7:35 pm

Here's the commit:
https://github.com/pekkaroi/FreeCAD/com ... de0a25a53f

So now the dressup contains new parameters IgnoreAbove (true/false) and IgnoreAboveDepth. (Please, come up with better names). The IgnoreAboveDepth is set to the start depth of the base op when the dressup is created, but it does not follow the depth any more, user can set it to whatever. On very limited testing it seems to work fine, but as always, there are probably some hiccups I missed. Any comments before I make a PR?