CAD and CAM Software
Designing your product
Inkscape
In the 3D-world I prefer the simple OpenSCAD and in 2D it's the also fairly simple Inkscape which is free and awesome, too! ;)
- Basic usage is pretty easy, just try it. If in doubt, there's plenty of manuals and tutorials online
- Inkscape add CNC tabs
Creating GCODE
Overview
Tool | Still maintained | Ease of use | Functionality | Comment |
---|---|---|---|---|
JSCut.org | no | ***** | ***-- | Missing/broken tabs operation, otherwise great, especially for newbies! |
LaserWeb4 | yes | ***** | ***** | Similar zu JSCut, can do tabs (add them as path to/as svg and then to the tabs of the operation), AppImage/Binary for the popular systems. |
JSCut.org
💡 | Tipps: |
ℹ️ | JSCut is awesome, but has downsides:
More about JSCut: https://www.youtube.com/watch?v=dVgf0Hf91vA Since JSCut isn't developed any more, try using it's successor: Laserweb |
- Create SVG with Inkscape
- Launch https://jscut.org/
- Open SVG
- Set units correctly (in my case mm)
- Set speeds and diameters, material strength and so on...
- Select object
- Generate operation
- Preview
- Repeat operation-generation for all your objects
- Download
- Hope for the best :)
Creating Tabs With JSCut
This is how it should work: https://www.youtube.com/watch?v=lwCatZ6q2Vw
Unfortunately this functionality seems to be broken on [1]…
cam-cpp.js is unavailable; tried the following paths: js/cam-cpp.js http://api.jscut.org/js/cam-cpp.js on https://jscut.org
…I installed my own server:
- wget https://github.com/tbfleming/jscut/archive/refs/heads/gh-pages.zip
- unzip gh-pages.zip
wget https://github.com/tbfleming/web-cam-cpp/archive/refs/heads/master.zip
noc:/srv/www/htdocs/jscut # make cd cpp && em++ cam.cpp hspocket.cpp separateTabs.cpp vEngrave.cpp -I ../../boost_1_56_0 -std=c++11 --memory-init-file 0 -fcolor-diagnostics -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-logical-op-parentheses -s
ASSERTIONS=0 -s ALLOW_MEMORY_GROWTH=1 -s SAFE_HEAP=0 -s DISABLE_EXCEPTION_CATCHING=1 -s FORCE_ALIGNED_MEMORY=1 -s NO_EXIT_RUNTIME=1 -s EXPORTED_FUNCTIONS="['_hspocket', '_separateTabs', '_vPocket']" -o ../js/cam-cpp.js -O3 --llvm-lto 1
/bin/sh: line 1: em++: command not found make: *** [Makefile:63: default] Error 127 noc:/srv/www/htdocs/jscut #
Ooookay...
wget https://github.com/emscripten-core/emsdk/archive/refs/heads/main.zip unzip main.zip cd emsdk-main/ ./emsdk install latest ./emsdk activate latest
Adding this to .bash_profile:
PATH=$PATH:/root/emsdk-main:/root/emsdk-main/upstream/emscripten:/root/emsdk-main/node/16.20.0_64bit/bin EMSDK=/root/emsdk-main EMSDK_NODE=/root/emsdk-main/node/16.20.0_64bit/bin/node
Which lead to...
em++: error: --memory-init-file is no longer supported
Then I removed the line from Makefile
em++: error: invalid command line setting `-sFORCE_ALIGNED_MEMORY=1`: forced aligned memory is not supported in fastcomp
Removed it, too.
./cam.h:22:10: fatal error: 'boost/polygon/polygon.hpp' file not found
Which lead to...
wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz tar xzf boost_1_84_0.tar.gz mv cpp/boost ../boost_1_56_0
THEN I IT COMPILED! UNBELIEVABLE! And no errors in UI!
But the created gcode seems to be b0rken, so this plan is out of the window.
It's 10 years old and its over. Whats the successor? (LaserWeb4)
LaserWeb4
Laserweb seems to be a very active project...TBD STILL TESTING
- First impression: Much more powerful than jscut. For now, I prefer the simpler JSCut!
- Second Impression: JSCut does honor visibility of layers and paths. LaserWeb doesn't.
- Third Impression: I like the material/tool library. And it can create tabs the way JSCut does/did/should (converting from drawed objects).
This shows the basic usage: https://www.youtube.com/watch?v=UCTDbdJotHY
PyCAM
Still needs python 2.7 and seems to abandoned since 2019.
Blender CAM
NOT TESTED YET!
gcad3d
NOT TESTED YET!
Other Software (yet to test)
krabzcam
NOT TESTED YET! Looks much like jscut, but a bit more sophisticated.
- Launch: https://mkrabset.github.io/krabzcam/index.html
- Manual: https://mkrabset.github.io/krabzcam/manual/manual.html
FreeCAD
See also
Do:
- Make sure you played with Inkscape-SVGs and jsCut enough to understand the basics, otherwise handling (the much more complex FreeCAD) will be very frustrating…
- Launch FreeCAD
- Make sure you have already created proper solids (see above)!
- Make sure units are ok:
Preferences → General → Unit System → Metric small parts & CNC
Output to grbl
- Create tools as needed:
Path → Toolbit Library Editor
- Remove default tool
- Choose Tool, set # to 1
- Set H/V speed
- TBD TBD TBD
Converting STL to solids in FreeCAD
See also: https://forum.freecad.org/viewtopic.php?t=14136
- Open the STL file
- Select object
Part → Create shape from mesh
- Select new object
Part → Converte to solid
Sending GCode
What works fine for me:
- cncjs
- UGS (on my old T60 w/o visualization, might be an issue with the old machine)
- not tested yet: LaserWeb
- Links
- TBD