SebKuzminsky / pycam

Other
340 stars 98 forks source link

Waterline doesn't make smooth cuts #147

Open yerazunis opened 5 years ago

yerazunis commented 5 years ago

Waterline finishing occsionally inserts a "step" in the surface. This is a different bug than #144 or #131.

How to reproduce (using master as of 2019-08-23 post bug-144 merge):

  1. Use that same male bending die model: bender_die_v2_top.zip

  2. Create a 6.35mm roundnose tool

  3. Create a process to do waterline milling (you can switch it temporarily to slice removal to set "conventional" milling, as bug 131 suggests), Use 1mm stepdown.

  4. Go to "Tasks" and run the waterline milling withh the roundnose tool against the bender die model.

  5. You will get a result like this. Note the "step" in the surface where no such step exists in the model (arrow points to the step). Switching the model on and off helps you see it.

Screenshot from 2019-08-23 13-05-31

  1. The bug is not present in "profile" processing, which looks outstanding, nor in "slice removal" modes. Note the lack of the step; it's all straight and smooth as it should be.

Screenshot from 2019-08-23 13-31-15

yerazunis commented 5 years ago

Hold off on debugging this - there is an interaction between how "overlap" and "stepdown" work in "Waterline" mode that may turn this bug into PEBCAK or at least something that is much easier to fix!

In particular, a stepdown of 0.5mm and overlap of 50% shows a different stepping pattern (a 2-3 step alternation), while 0.5mm and 90% overlap gives what looks like a good G-code (a bit slow but acceptable).

I'll explore more and report back.

  - Bill   
ebo commented 5 years ago

Since I had never heard/read the acronym PEBCAK before, I had to look it up ;-)

That said, if this is easily done we need to know how and at least document it (possibly stackoverflow style) or possibly capture it in a warning/error statement.

On Aug 26 2019 6:48 AM, yerazunis wrote:

Hold off on debugging this - there is an interaction between how "overlap" and "stepdown" work in "Waterline" mode that may turn this bug into PEBCAK or at least something that is much easier to fix!

  • Bill
yerazunis commented 5 years ago

It definitely seems to be an interaction between "overlap" and "stepdown".

As in if you set a stepdown of 0.25mm and a 10% overlap on a 6.35mm (1/4 inch) ball mill you get this pretty-bad stairstepping on the ramp (4 or 5 paths stepping pretty much straight down, then a lateral move of several mm (note: this takes ~20 minutes on my dualcore):

image

.... change nothing else but go to 90% overlap and you get this much-nicer looking G-code (not absolutely perfect spacing, but probably more than good enough):

image

But the solution is not that simple: if we zoom out on the 0.25mm stepdown and 90% overlap we see that the steeply sloped pylon now has some minor issues (click for big image):

image

Interestingly, the badly stairstepped 0.25mm / 10% overlap shows a single big step near the base of the pylon (and slopes the pylon pretty badly so the X-parallel face isn't X-parallel) (click for big picture):

image

So, it's a combination interaction between model, stepdown, and overlap. Let me think on this; it might be necessary to dynamically change stepdown (in Z) to guarantee that the overlap (in X and Y, or perhaps in SQRT (X ^2 + Y^2) is never violated, no matter what.

yerazunis commented 5 years ago

Oh - the 0.25mm stepdown, 10% overlap, 6.37mm ballnose tool G-code actually violates the model (tool goes inside the model - click for big image). The 0.25mm stepdown 90% overlap looks fine though:

image

ebo commented 5 years ago

Very nice torture test. Actually, you might be able to make a smaller clipped version of this for a unit/regression test. It is also good to catch the violation!

On Aug 28 2019 4:23 PM, yerazunis wrote:

Oh - the 0.25mm stepdown, 10% overlap, 6.37mm ballnose tool G-code actually violates the model (goes inside it - click for big image):

image