Shkolik / Foamcut

FoamCut Workbench
GNU Lesser General Public License v2.1
5 stars 0 forks source link
addon freecad freecad-addon freecad-workbench workbench

FoamCut Workbench

Interface example

A FreeCAD External Workbench for creating Gcode for 4 and 5 axis CNC foam cutting machine.

Originally it based on set of macros written by Andrei Bezborodov (HardRock) - member of FreeCad community. His idea was build 5 axis foam cutter and use FreeCad as a platform to produce output for this machine. Since he has no time to continue development further I decided to step in. Hopefully our effort will be appreciated.

So far there are many limitation but I'm working on fixes. If you want to contribute to this project - you highly welcome! Enjoy!

Installation

Automatic Installation

Not available for now

Manual Installation

Linux:

cd ~/FreeCAD/Mod/ 
git clone https://github.com/Shkolik/Foamcut.git

Windows:

cd %APPDATA%\FreeCAD\Mod 
git clone https://github.com/Shkolik/Foamcut.git

When you restart FreeCAD, "FoamCut" workbench should now show up in the workbench dropdown list.

Video Tutorial

Quick workflow example: FoamCut workflow

Old tutorials (using macro), but workflow is the same (in Russian). ЧПУ пенорезка на 5 осей. Подготовка задания в FreeCAD.

Example file

Example file to play with workbench

Tools

machineIcon Init Machine

Creates machine configuration

Config example

pathIcon Create path

Creates path by 2 given opposite edges. Opposite faces also supported - command will try to find opposite edges and create a path for each edge pair.

Path example

projectionIcon Create projection

Creates projection path from selected single edge, multiple edges or face. Projection is basically emulation of 2 axis macine with 4 axis. Can be used for preparing foam blocks, cutting "hershi-bar" wings or decorative signs. Projection and Path objects cannot be mixed in a same route. Command will create projection for each edge.

Projection example

moveIcon Create move path

Creates path from selected vertex in specified direction

Move example

joinIcon Join

Creates path between 2 selected vertices

Join example

enterIcon Enter

Creates enter path from safe height to selected vertex

Enter example

exitIcon Exit

Creates exit path to the safe height from selected vertex

Exit example

rotationIcon Rotation

Rotate selected body around 5th axis

Rotation example

routeIcon Route

Creates a cutting route from selected paths and rotations. Objects should be selected in a right order before executing command. Kerf compensation currently supported and kerf direction can be specified for each object (except Rotation, Path and Projection) independently or for whole route.

Route example

gcodeIcon Generate Gcode

Generates Gcode and save it to the specified file

gcodeIcon Mirror Gcode

Mirror selected GCODE file around YZ plane. Useful for cutting symmetrical pieces like wing consoles. At the moment there is no validation or changing metadata in resulted files - be careful using this command.

Limitations/TODO

Discussion

Please offer feedback or connect with the developer via the dedicated FreeCAD forum thread.

License

GNU Lesser General Public License v2.1