Comments (7)
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)
from krabzcam.
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.
I've added a new operation type for drag knife.
Please try it out.
Feedback is appreciated.
from krabzcam.
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.
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.
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?
from krabzcam.
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.
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)
- [Feature request] comments in gcode HOT 4
- [question] does "optimize" break assumptions about drag knife orientation? HOT 1
- [Feature request] Calculate cut time HOT 2
- lift between separate engraved paths? HOT 3
- [Feature request] multiline select generation gcode HOT 6
- [Feature request] Select paths by color HOT 7
- [Feature request] - User documentation HOT 11
- Can I modify your app for pick 1 file and generate gcode only? I cannot undestand your code HOT 1
- [Feature request] - added Roughing clearance function in profile inside and profile outside HOT 7
- Bug in dog-bone feature. HOT 2
- freezing problem HOT 2
- [Feature request] default settings HOT 3
- Supported Browsers? Not working with older browsers HOT 5
- Dogbones fail on hexagon or higher n-gon. HOT 2
- [Feature request] Raster image import resolution HOT 3
- why smaller in KrabzCAM HOT 9
- Initial position HOT 2
- Starting point outside HOT 4
- [Feature request] - window close confirmation HOT 3
- Drag Knife Operation - tool travel might need its own z-height HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from krabzcam.