CAD and CAM Software

From Wurst-Wasser.net
Jump to navigation Jump to search

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 svg and then to the tabs of the operation), AppImage/Binary for the popular systems.

JSCut.org

💡 Tipps:
  • If you're creating your own SVG, make sure the pockets are "closed paths", meaning "areas", not open paths. Also use only infill, no stroke!
  • Adding tabs with Inkscape:



ℹ️ JSCut is awesome, but has downsides:
  • Can't create tabs (or won't work at the time of testing)
  • Won't cut open-ended paths, only closed paths. Will close path if open with strange results
  • jscut ignores stroke and follows the actual path not the visible dimensions (Say you (using Inkscape)have a square 100x100mm and stroke 10mm, then jscut will cut 5/5 to 5/95 to 95/95 to 95/5! → Design in Inkscape W/O STROKE (only fill)!

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:

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!

https://blendercam.com/

gcad3d

NOT TESTED YET!

https://www.gcad3d.org/

Other Software (yet to test)

krabzcam

NOT TESTED YET! Looks much like jscut, but a bit more sophisticated.

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:

PreferencesGeneralUnit SystemMetric small parts & CNC

  • Create Job:
    1. Select solid 2. Choose Path-Workbench 3. Create Job
  • Choose solid:
    Freecad solid choose gcode ksnip 2024-02-15 13-35-40.png
  • Set

Output to grbl

  • Create tools as needed:

PathToolbit 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

  1. Open the STL file
  2. Select object

PartCreate shape from mesh

  1. Select new object

PartConverte 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

Footer

  • Links
    • TBD