Giter Site home page Giter Site logo

Comments (7)

risacher avatar risacher commented on May 25, 2024 1

I used this again for a different project and didn't see any of this jaggy-ness.

Attached is the first cut I did with the KrabzCAM drag knife feature. (Logo of my son's hockey team)

KrabzCAM-drag-knife

from krabzcam.

mkrabset avatar mkrabset commented on May 25, 2024

Thanks for the input!
I'll see what I can come up with, but no promises.

Currently I'm thinking something like a follow-path operation, but with parameters:

  • dragOffset (How far behind center is the tip of the knife)
  • cutDepth (Depth when cutting)
  • swivelDepth (Depth when swiveling)
  • feedRate
  • plungeRate
  • minSwivelAngle (Minimum turn angle for doing the 'corner action')

I guess for multiple path operations I will need to assume that the tool-angle is preserved during rapid moves.
Does this sound reasonable? (I don't have any experience with drag-knives)

from krabzcam.

mkrabset avatar mkrabset commented on May 25, 2024

I've added a new operation type for drag knife.
Please try it out.
Feedback is appreciated.

from krabzcam.

risacher avatar risacher commented on May 25, 2024

First, you are amazing, and I'm very impressed both with the drag_knife operation and with krabzcam in general.

I think the assumption that the tool-angle is preserved during rapid moves is a good assumption - it the only reasonable assumption. There are machines called "tangent knives" that actually use the A axis to set the blade direction, but I ain't got one o' those.

Minor bug: Any "g1 z0" moves are specified as "g1 z0 fnan", which breaks the gcode. I did a find-replace of "fnan" for "f100" in the gcode, and its running like a champ on my sainsmart genmitsu right now.

from krabzcam.

mkrabset avatar mkrabset commented on May 25, 2024

Thanks for your nice words!
I made my own little 3d-printed dragknife to test it out.
A bit tricky to set up, but quite interesting to see it in action.

The "g1 z0 fnan" bug should be fixed now.
Happy cutting!

from krabzcam.

risacher avatar risacher commented on May 25, 2024

The actual result of my first cut with the dragknife operation came out well, but the path it cuts seems surprisingly jerky around curves, as if it's constantly over-correcting? Is this expected?

Screenshot from 2021-02-02 10-27-04

from krabzcam.

mkrabset avatar mkrabset commented on May 25, 2024

I would say this is expected.
There is quite a bit of math involved. :-)
Typically we start with a bezier curve, which is converted into a sequence of circular arc-segments and lines, given a tolerance limit for error.
(You can toggle showing these arcs by pressing 'c' while in the 2d viewport)
This interpolation often causes a tiny shift in direction when going from one segment to the next. This shift gets amplified by the tool-offset, causing these seemingly big adjustments in direction.

I'm not sure how best to achieve this, but I guess the more circular and smooth these bends are, the less adjustments required.

As you can see below, it is possible to join two circular segments with different radiuses without getting any adjustment at all.
bilde

It might help opening your SVG in inkscape and remove unnecessary path-nodes, or use the 'simplify path' feature.
(You can play with 'simplification threshold' in Edit / Preferences / Behaviour)

Hope this is helpful.

from krabzcam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.