CAD and CAM Software: Difference between revisions
Line 162: | Line 162: | ||
docker run -p 8000:8000 joesantos/laserweb:latest | docker run -p 8000:8000 joesantos/laserweb:latest | ||
TBD | TBD | ||
- How to use "local" IPA? | |||
- firewall | |||
== [[PyCAM]] == | == [[PyCAM]] == |
Revision as of 19:10, 27 April 2024
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...
- First impression
This shows the basic usage: https://www.youtube.com/watch?v=UCTDbdJotHY
FAQ
Open paths
I ran into an issue where LaserWeb kept ignoring paths while other worked just fine.
I tested this:
- Milling Pocket won't work
- Milling Cut would work
- Read https://github.com/LaserWeb/LaserWeb4/issues/456
How I solved this:
- Remove fill
- Add stroke (Hairline)
- Identify gap (Tipp: if two points are in the same location, they appear greyish)
- Close gap
It's that easy! Took me the better part of an hour to figure out…
Installation on OpenSUSE (as Webserver)
#1st Attempt
See: https://github.com/LaserWeb/LaserWeb4/wiki/1.3-Installation-on-Linux
zypper install npm zypper in chromium zypper in git zypper in gcc-c++ cd /usr/local git clone https://github.com/LaserWeb/lw.comm-server.git cd lw.comm-server npm install node-gyp npm install @serialport/parser-readline npm install -g npm-check-updates npm-check-updates -u npm install npm audit fix npm install
(unfinished)
noc:/usr/local/lw.comm-server # node server
/usr/local/lw.comm-server/server.js:31
const Readline = SerialPort.parsers.Readline;
^
TypeError: Cannot read properties of undefined (reading 'Readline')
at Object.<anonymous> (/usr/local/lw.comm-server/server.js:31:37)
at Module._compile (node:internal/modules/cjs/loader:1378:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1437:10)
at Module.load (node:internal/modules/cjs/loader:1212:32)
at Module._load (node:internal/modules/cjs/loader:1028:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:142:12)
at node:internal/main/run_main_module:28:49
Node.js v21.6.2
noc:/usr/local/lw.comm-server #
#2nd Attempt
See: https://github.com/LaserWeb/LaserWeb4
zypper install docker systemctl enable docker systemctl start docker docker run -p 8000:8000 joesantos/laserweb:latest
TBD
- How to use "local" IPA? - firewall
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
bCNC
https://github.com/vlachoudis/bCNC
Not tested yet.
grbl gru
Not tested yet.
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