Giter Site home page Giter Site logo

krabzcam's People

Contributors

mkrabset avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

krabzcam's Issues

Supported Browsers? Not working with older browsers

Krabzcam runs great on my newer PC's, but changes made after Apr 24, 2022 broke krabzcam on older browsers. On older browsers, krabzcam Apr 24,2022 and earlier works fine, but Jun 26, 2022 and later versions just give a blank display.

Not worth a major effort, but if it is something simple it would be nice to be able to run krabzcam on the same PC controlling my router.

My router is controlled by LinuxCNC on a laptop, and unfortunately on laptops, LinuxCNC only runs on an obsolete Linux version(Debian 7). The newest browsers I have found for it are from before 2019, Firefox version 63 and Opera version 55. Both browsers work with old versions of krabzcam, but won't work with the current version.

[feature request] Rest machining

It would be nice to have a feature where you could do a pocket or any operation. With a rough large diameter bit first and only cleanup the left overs with a smaller diameter bit. This is useful for large operations with only a little text or details that must be kept. You can see an example of this functionality in Easel it is not opensource and you do need a free account. But I prefer to support open source software.

In your preview in krabzCam it's easy to see what material will be left over as the bit can't go there. Maybe it's not too much work for you to add this useful feature that will save many people much time.

License

Hello,

Firstly, awesome project. My friend and I are very impressed with the ease of use and are hoping to use it in the near future.

I was going to make a few customizations for our use case, but noticed two things:

  1. There isn't a license for the project (just for the dependencies from what I can see in 2.3b087336.chunk.js.LICENSE.txt)
  2. The JavaScript files appear to be minified

So, I am wondering if you could associate a license (perhaps in a LICENSE.txt or something similar), so that people like me know whether they are allowed to modify and/or redistribute the software, and also whether it would be possible to have the original, un-minified source files (assuming the license allowed modifications and such).

Thank you for your time.

[feature request] V-carving + inlay

It would be wonderful to see this feature in an opensource online CAM package. For the moment I use the opensource software F-engrave.

This request exists out of 2 parts:

  1. V-carving operation
    Cut the desired shape with V-Bit
    Parameters:
  • V-bit angle
  • V-bit max diameter (decides the max cutting depth)
  • Step down depth
  • If the V-bit is not able to clean all the needed stuff in one pass it can do multiple passes next to each other, you'll be left with some scallop height.
  • These lines of the scallop height can be cleaned up with a regular endmill.
  1. Wooden inlay
    Make a positive and negative shape that fit's in each other 1st step is to do a v-carve and next step you'll have to generate the part to inlay (negative part).
    An extra parameter you'll need here is the distance you have between the negative and positive part so that a saw blade can fit in.

JScut has already some sort of opensource v-carving. and F-engrave has all this functionality but their g-code is very poor it does a lot of things twice. And isn't optimized at all.

Krabzcam looks like a very promising package and I'd love to see this as my one stop project for all my 2d, 2.5d and carving and inlay work. 

I'd love to support this project anyway I can. Wheter it is by sending some Belgian beers to you, send you some money, helping where I can.

Over a few weeks I'll be teaching a CNC lesson in a FabLab where lot's others will be following remote and I'm planning to demo this project also.

[Feature request] Raster image import resolution

Firstly, KrabzCAM is a great tool - thank you.

I've been exploring the laser raster function, and it appears that when importing an image, the software imports at 1 pixel to 1mm, despite offering a much lower "write" resolution (0.25mm appears to be the default). Whilst scaling within the program is possible, that's an extra step in a workflow, and both scaling and positioning are mouse-driven (and hence a little fiddly to get exact). I would typically opt to do any raster image work (compositing multiple images, rotating, scaling, etc) in an image editor before importing to CAM.

I would suggest that having an import resolution parameter would be a useful additional feature for KrabzCAM raster image functionality. This could be implemented as an input box below the "Load PNG / JPG" button, populated with a default value.

[Feature request] comments in gcode

I saved many gcode files for a project recently, and I had trouble remembering what starting heights I chose for the operations. It might be nice to add comments into the gcode for the various operations, date/time and/or documenting the names of the SVG files used.

; generated at 2022-02-08T23:08:11.049Z
; source files: dragon.svg logo.svg
; operation laser FOLLOW_PATH_LASER 200 mm/min 255 power 
g0 x208.90916549 y9.79353371
g1 z-1.8 f400
g3 i-0.15 j0 x208.62928714 y9.86857778 f800
g1 z-2 f400
g3 i-3.0803191 j-5.63091501 x206.90343384 y10.51149669 f800
...

[Feature request] Other Pocket paterns

Last weekend I played around with a pen holder on my CNC. and I tried using krabzCam for generating g-code. For drawing = engraving lines it's perfect. But for filling (=pocketing, I guess) the drawing it works kind of.
image
image

It would be cool that the pocket feature would have other strategies as well like:
Line:
image
Trianagle:
image
Grid: = cross hatch

This might go two ways:

  1. extended clearing strategies for pocketing
  2. extended clearing strategies for pocketing + new specific operations for plotters
    With a few nice features like cross hatching, hatching, ... this can go quite far:
    image

Please let me know what you think.

Kind regards
Bruce

Drag Knife Operation - tool travel might need its own z-height

Hi Marius,

I'm trying to use the drag knife operation in Krabzcam. One issue I am having is that when the tool needs to travel to another path, it does so at the default / non-cut z-height (in my case it's 0). For some reason this travel movement still cuts the material. I'm trying to cut a vinyl masking sheet. I understand this could be because of inaccurate setup of the machine ie bed that is not 100% level, but I'm cutting a 0.2mm thickness material. My setup is a hobby setup, so the bed may not be level to .01 mm accuracy ๐Ÿ˜ต.

It would be nice if there is a field for the drag knife operation to be able to specify the travel z-height to ensure that during travel the tool/cutter is away from the material. I believe on line 70-71 on the g-code (and is probably another one since it needs to travel to the next path). I think this is more of a feature request, rather than a bug. Thanks!

SVG:
test-b-96.svg.zip

G-Code:
dragknife.nc.zip

travel-cutting

Upper case G-code

First of all, thanks for this great program! Finally there is a modern alternative to MakerCAM that is as easy to use.

I ran into a small issue with Smoothieboard: it ignores the lower case g-codes generated by KrabzCAM. Could KrabzCAM be made to output g-codes in upper case?

I could make a pull request for this, but it seems the repository does not have the source code of the project. Do you intend to release this as open source some time?

profile outside, order has changed

Hi, it seems the order has changed, when I do profile outside it'll do the larger outside of the object then come in and do the inside cut outs, it used to do the inside object cut outs first and then the outside

why smaller in KrabzCAM

Why are SVG files 33% smaller when imported into KrabzCAM?
This bug makes it very difficult to scale things correctly.

Possible to avoid G02 and G03 (arc moves)?

Hello again,

Our machine is supposed to support G02 and G03, but it often rejects them for reasons I haven't yet determined.

Is it possible to have a checkbox under "Operations" to prevent G02 and G03 commands being generated? In other words, instead of generating a single command for a curve with I and J parameters, generate a series of commands for short lines which approximate the curve?

This may be a significant amount of work, and I am not sure how many people would benefit.

I will test the output of krabzcam on our machine and see if it works with G02 and G03.

Thank you.

lift between separate engraved paths?

Beautiful work!

Would it be possible to return the cutter to the safety height while traveling between unconnected SVG components in engraving mode? Right now, travel between components is at whatever the current cutting depth is, as is the lead-in from home to the initial cut point.

(Or is there a reason why this is a desirable behavior? I can't think of a reason, but sometimes I'm dense!)

If I get the chance I'll dive under the hood and see if I can tweak this myself - small price to pay for the great work you've done on this so far!

Dogbones fail on hexagon or higher n-gon.

The dogbone feature is really nice, but it fails if more than 5 inside angles. You can see it by placing an n-gon and doing an inside profile with dogbones enabled. N-gons with 3,4,5 sides work fine and have dogbones in all corners. Hexagon only puts dogbones in 3 corners. If more than 6 sides, then no dogbones are done.

Starting point outside

Hi, how i can choose the starting point for outside profile milling ? because the starting point actually are not good for me.

Thank you

Editing parameters of generated toolpaths

Is it possible to edit a generated toolpath?
What I'm looking for is a feature to select a generated toolpath and edit the settings for that specific toolpath.

Thanks in advance
This is a very nice looking project and I hope I can replace JScut by this pretty project.

Keep up the great work.

[Feature request] Plasma paterns

Hello

I was thinking about something. One day I'd love to hook up a plasma cutter to my cnc machine.
Therefore it would be interesting to have a little extra in the toolpaths. a start point that you can choose on the in or outside of your object. something like this: https://torchmate.com/cad-cam-7-8-9/FAQs-Tool-Paths

This could be as simple as a little straight line that is placed at every vector that is customizable for the in and outside.

Do you consider this as something usefull?

Thanks in advance

Safety Height Issue

Hi
I'm a previous MakerCam user and I'v been testing KrabCam today and noticed a few issues or oversights

  1. Safety Height
    Its best treat the safety hieght or z axis the same as the x and y axis as 0. So when the x and y and z are at 0,0,0 the cutting bit is at your start point and above the piece as set by the user. So when the cutting bit reaches the target depth it will raise back to 0 move safely over your peice to the next shape to be cut and plunge to begin the second shape.
  2. Size Issue
    When a .svg file is imported into KrabCam I've notice a decrease in the graphic's dimensions, it imports at about 33% smaller than the original artwork. Obviuosly this is a problem especially if you're an engraver like myself who needs to engrave on very small objects and fit into exact spaces.
  3. Offline Version
    Also it would be great to have an offline version that stands alone installed on one's computer to future avoid what just happen with MakerCam or internet problems. I'd be more than happy to buy a downloadable version of KrabCam

Hope this helps
Chris

Adding a speed parameter

Hello, thank you for this wonderful.
I just tried it out and figured that no speed parameter was existing which results in a GCODE file with an unset M3 parameter.
Which is problematic since it means the mill will not turn at all and will break (at least in a CNC cut with a FOLLOW_PATH operation).

There might be a reason for the missing speed parameter in the UI?
If not I would recommend adding a field Speed [...] rpm and using this parameter during the generation of the GCODE "M3 S10000" for example if the user sets the speed to 10000RPM

Thanks!

Initial position

Hi, congrats for the nice job!

I need to know after I create a GCode file, where I need to setup my CNC initial point,
Upper Letf,
Upper right
Centre
Bottom Letf ou Bottom right?

Camotics simulates fin down-letf side and NCviewer from upper left...

Thanks alot

[Feature request] Calculate cut time

One feature I've found extremely useful in other CAM software is the ability to add the cut/travel distance and divide by the respective feed rates to calculate how long the cut will take. Thanks for considering this feature. Awesome work!

M3 vs M4 for laser

Modern versions of GRBL have a "laser" mode, which makes a distinction between M3 and M4 for laser operations. (See
https://github.com/gnea/grbl/wiki/Grbl-v1.1-Laser-Mode)

M3 turns the laser on in constant-power mode.
M4 is "dynamic power mode" and "will automatically adjust laser power based on the current speed relative to the programmed rate. It essentially ensures the amount of laser energy along a cut is consistent even though the machine may be stopped or actively accelerating."

This could be handled in a post-processing step, but it might also be convenient if there was a way to do it right in KrabzCAM.

[Feature request] - User documentation

Hello,
I use KRABZCAM all the time in my YouTube videos
more and more subscribers find it really interesting and I understand them
I wanted to know if there was a detailed documentation of all the commands
Cordially

[question] does "optimize" break assumptions about drag knife orientation?

In the comments on #2 you indicated that you assumed that the drag knife would stay in the same orientation during fast moves (which I think is right.). But the "optimize" button re-orders all the fast moves... so maybe the assumptions about blade orientation are wrong after a fast move if it's been optimized. Does the "optimize" function re-compute the drag knife corner actions while it is optimizing the fast moves?

[feature request] Automatic dogbone

Kiri:moto has a feature which I find pretty pleasant to have.
Where it checks whether if an end-mill can reach into a corner or not. If this is not possible it automatically places a dogbone in the corner if this option is enabled.
This is nice for two scenarios:

  1. If you forgot to add dog-bones or extra clearance
  2. If you take a random design from the internet, designed for laser cutting instead of cnc routing.

reverse cleanup bug

Hi
I met a bug recently with the cleanups
the pocket is ok but the cleanups are done outside
here are some captures that will be more meaningful
Capture_decran_2024-03-18_a_17 35 06
Capture_decran_2024-03-18_a_17 35 46

[Feature request] default settings

Hi,
I have only just discovered Krabzcam and I must say, it is absolutely brilliant - thanks for creating it.
I built myself a CNC router many years back now and I have been searching for a suitable app to use with it ever since and finally I have found it!

Anyway, what for me would improve it even more would be a way to get it to import my default settings.json file at startup (when running it locally). I don't believe there is a way to do this at present?
and if it were possible to add my own custom footer and header lines to the gcode it produces

[Feature request] Pocket + enable finishing pass

Yesterday when I was doing pockets with krabzCam.
I was thinking it would make it a lot more attractive to have finishing passes if it were easier to create one.
As I understand it, it's possible to to do a pocket with: "Roughing clearance (mm)" set, and after that do a "Profile inside" operation. To clean the whole cut at once.

Wouldn't it be easier to have something like two extra inputs:

  1. check box "Enable finishing pass"
  2. when the "Enable finishing pass" checkbox is enabled an extra text-input-box appears: "Finishing pass width (mm): "

So when you enable [1] and enter 0.2mm into [2] you'll first do a pocket with a clearance of 0.2mm from the sides. Next you'll do a profile inside for this last 0.2mm from [2] and cut these at full-depth. To get rid of all the Z lines.

Do you think this could be useful?

Reloading deleted path/svg

Hey, First of all, Krabzcam is excellent! Many thanks for it. I write for Hackspace magazine and I shall probably be mentioning it in an article in the next few months. One small issue I have found with it is that if you delete a selected path or svg you then can't reload the same file until you reload the page or close and reopen. It's the same on your github.io hosted version or on my local download.

Massive kudos to you again. Easy to approach CAM is a massive part of making CNC stuff more accessible.

SVG parsing misses some "loose ends"

I rendered some text in Inkscape with the Hershey Text (1-stroke) extension, and the font "EMS Readability". The resulting paths look fine in Inkscape, but when imported into Krabzcam, some of the letters are missing parts, such as "H", "h", "T" (et al.) I speculate that this is a problem with the SVG parsing code.

Attached example file demonstrates. (It has been renamed to a .txt file because GitHub doesn't like .svg)

alpha-test-svg.txt

[Feature request] Select paths by color

I usually generate SVG files as input to Krabzcam in Inkscape. I think it would be useful to be able to select paths by color in Krabzcam so that I can indicate in Inkscape that different parts are intended for the same operation. For example, in Inkscape, I might put all the dark laser engraves in blue, and all the light engraves in red. Or similar for different CNC depths, whatever.

[feature request] Itterate optimize gcode

The optimize gcode button in krabzcam is a fantastic feature but often I see my self clicking this button 30 times to see if it will find an even better optimization. It would be nice if there would be an input box where you could enter the number of times you'd like to run the optimization. This is not very high on my I want this feature list. If this is appreciated I can try to add it myself.

Feature request: drag knife corner actions

I'd like to use KrabzCAM for a drag knife (I use a CB09/CB09U Graphtec Blade Holder in a CNC engraver).

Since the cutting tip of a drag knife literally drags behind the center of motion, compensating actions need to be made to either close paths or square corners. I believe these are generally called "corner actions".

As a reference, Donek Tools offers a free gcode processor to add corner actions, but it's implemented as Excel macros. (ugh) https://donektools.com/free-cnc-router-software/#corner-actions

SVG parsing issue

krabzcam-parse-example.svg.gz

For unknown reasons, when the attached file is loaded into Krabzcam, one of the "soot sprites" is in the wrong place. Ungzip the attached file, and compare it in Inkscape vs Krabzcam.

Bug in dog-bone feature.

    I'm trying to use the dog-bone feature and I discovered an issue.

outside profile: (no dog-bones are generated) (project attached)
profile outside.json.gz
image

profile outside inconsistent behavior: outside inconsistent.json.gz
image

Profile inside [dia = 10mm] (no dog-bones are generated) prof-inside-10mm.json.gz
image

Profile inside [dia = 1mm] (dog-bones are generated) with the default diameter it works)
image

dogbone test
dogbone test.zip

Can you please have a look at this?
Do you might know a work around or a quick fix?
I'm taking a day off soon to have some time with the CNC machine I'm planning on making this:
image
I included a part of the design file I plan on cutting out. So you can test this. I'm planning on using a 8mm and 3.175mm router bit.
extensive test file v0.1a.zip

Thanks in advance and keep up the good work!

Originally posted by @geobruce in #12 (comment)

What are default units?

Great software! But, when I open a DXF file with an object of known size, it appears at a different size in the main window.

For example, I have a square with rounded corners that I'd like to cut. The overall size of the square is 43 mm in QCAD but it appears in krabzcam as just under 26.5 mm to a side. I know that units are arbitrary, but it would be nice if one unit in DXF is the same as one unit in krabzcam.

Have I missed something? I've tried uploading the DXF here to illustrate the problem, but Github won't allow it.

Thank you.

[Feature request] - tool management

Hi marius,

I wanted to know if you had planned to make a strawberry bank function in order to record the characteristics of the strawberries that you could select after in the course editing and displayed in the comments G-CODE
I know it represents a big development

if there was already a "tool name" field which would be displayed in the G-CODE comment this would allow the opening of the G-CODE in CANDLE or others to easily have the information when opening

Have a good day

Interior paths not generated

When I import my SVG and select profile outside for cutting it only generates the paths for the outer squares and not the inner shapes. Not sure if this is a problem with the SVG file or if I didn't specify a parameter. Here is a zip file of the SVG and a screenshot of issue.
map.svg.zip
Screen Shot 2021-11-08 at 12 06 35 PM

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.