2022-06-25 08:47:06 +01:00
|
|
|
|
---
|
|
|
|
|
title: My CNC machining workflow
|
|
|
|
|
date: 2015-05-28 19:01:33
|
2023-08-12 23:33:16 +01:00
|
|
|
|
tags: []
|
2023-08-13 09:15:23 +01:00
|
|
|
|
series: [cnc]
|
2022-06-25 08:47:06 +01:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Hello ! Today we'll talk about driving CNC machines, toolpaths and
|
|
|
|
|
Debian, so stay tuned ! I have a separate old PC for driving the CNC
|
|
|
|
|
machine via parallel port. This is, as they say, the Only Proper Way and
|
|
|
|
|
It Was Always Like That. I'm thinking about changing this to
|
|
|
|
|
USB+[grbl](https://github.com/grbl/grbl) in the future then ;) Up
|
|
|
|
|
till now, my workflow went as follows;
|
|
|
|
|
|
|
|
|
|
- Do the research and drawing/parts modeling in FreeCad, on my main workstation
|
|
|
|
|
- Export to e.g. DXF
|
|
|
|
|
- Import in HeeksCad
|
|
|
|
|
- Design machining operations, export gcode
|
|
|
|
|
- Copy gcode to a network drive
|
|
|
|
|
- Switch the monitor and keyboard to the one of the old PC
|
|
|
|
|
- Open gcode in LinuxCNC and go
|
|
|
|
|
|
|
|
|
|
What happens if it's not perfect at first try though ?! Most commonly the issue is with the
|
|
|
|
|
toolpath, like I want to change feeds or speeds or depth of cut, rarely
|
|
|
|
|
it is with the part itself, fortunately. It may have something to do
|
|
|
|
|
with the fact that I'm mostly working with other people's parts for now
|
|
|
|
|
;) Anyway, to do any correction I need to switch back to the main
|
|
|
|
|
workstation, correct in Heeks, re-export to the network drive and switch
|
|
|
|
|
back, reimport. Not very annoying but not very convenient either. But
|
|
|
|
|
wait. What if...I install Heeks on the old PC ?! It's running
|
|
|
|
|
[LinuxCNC](http://linuxcnc.org/) realtime distro, which is based on
|
|
|
|
|
Debian wheezy. Heeks packages are available prepackaged for Ubuntu only.
|
|
|
|
|
With the help of the
|
|
|
|
|
[documentation](https://code.google.com/p/heekscad/wiki/BuildDebianPackages)
|
|
|
|
|
and the comments there and in other corners of the internet I was able
|
|
|
|
|
to get this little script done:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
set -v
|
|
|
|
|
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get -y install liboce-visualization-dev libwxgtk2.8-dev libgtkglext1-dev python-dev build-essential bzr git libboost-dev libboost-python-dev subversion debhelper cmake liboce-ocaf2 liboce-ocaf-dev oce-draw
|
|
|
|
|
mkdir heeks_build
|
|
|
|
|
cd heeks_build
|
|
|
|
|
svn checkout http://libarea.googlecode.com/svn/trunk/ libarea
|
|
|
|
|
cd libarea
|
|
|
|
|
dpkg-buildpackage -b -us -uc
|
|
|
|
|
cd ..
|
|
|
|
|
sudo dpkg -i libarea*.deb python-area*.deb
|
|
|
|
|
svn checkout http://heekscad.googlecode.com/svn/trunk/ heekscad
|
|
|
|
|
cd heekscad
|
|
|
|
|
dpkg-buildpackage -b -us -uc
|
|
|
|
|
cd ..
|
|
|
|
|
sudo dpkg -i *heeks*.deb
|
|
|
|
|
svn checkout http://heekscnc.googlecode.com/svn/trunk/ heekscnc
|
|
|
|
|
cd heekscnc
|
|
|
|
|
dpkg-buildpackage -b -us -uc
|
|
|
|
|
cd ..
|
|
|
|
|
git clone https://github.com/aewallin/opencamlib.git
|
|
|
|
|
cd opencamlib
|
|
|
|
|
bzr branch lp:~neomilium/opencamlib/packaging debian
|
|
|
|
|
dpkg-buildpackage -b -us -uc
|
|
|
|
|
cd ..
|
|
|
|
|
sudo dpkg -i python-ocl*.deb
|
|
|
|
|
sudo dpkg -i heekscnc*.deb
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run this on your LinuxCNC machine and that's it. It will download and
|
|
|
|
|
build all the dependencies and Heeks CAD and CAM packages. This way, my
|
|
|
|
|
current workflow goes more like this:
|
|
|
|
|
|
|
|
|
|
- Do the research and drawing/parts modeling in FreeCad, on my main workstation
|
|
|
|
|
- Export to e.g. DXF to a network drive
|
|
|
|
|
- Switch the monitor and keyboard to the one of the old PC
|
|
|
|
|
- Import in HeeksCad
|
|
|
|
|
- Design machining operations, export gcode
|
|
|
|
|
- Open gcode in LinuxCNC and go
|
|
|
|
|
- Repeat last 2 steps if necessary - no machine switching
|