AptProgrammingForEMC - rmu75/linuxcnc-wiki GitHub Wiki
upload:Apt360.png [[home page at sourceforge]]
upload:Apt360-Axis-Spirograph.png upload:spiro1.jpg
"Around 1999 or 2000, I learned that there was a computer language named Apt (automatic programming tool) that was the basis for most modern CAM systems. I also found out that there was source code available for this system. But, alas, the source was only available for VAX systems, which I had no access to. Well, fast forward to 2006, and the aptos project...."
ramblings from DF- more to come on this story
the Hitchhikers Guide to the Galaxy might have said:
*APT programming language is a high-level computer programming language used to generate instructions for numerically controlled machine tools. The name is derived from the acronym for Automatically Programmed Tool.
I ran across a cool project that is dedicated to resurrecting the old APT processor here: [Aptos]
It seems that this project has inspired someone to write a viewer for APT (VAPT) and it can be found here: [Vapt]
(Note: the latest version of Vapt (0.2.6) never got uploaded to the Vapt page (0.2.1), but it did get uploaded to the aptos project page. More info on this shortly.)
This isn't a web link but, we have been hanging out in the freenode #cam channel (probably used to be dedicated to web cameras or something else : )
I was able to get both projects to run on Ubuntu Dapper and have been pretty pleased with what they can do. -DF
(Anyone else have more to say here about tested OS versions? Virtualbox?)
You might want to create an ~/aptos directory to contain the rest of the directories.
Download and untar the three Aptos files from sourceforge into the ~/aptos directory, they will have version numbers attached.
At this writing, the latest known are:
[apt360-1.0.2], [postp-0.2.1], and [vapt-0.2.6]
Note that this most recent vapt seems to be missing a version number in compressed form, but it reveals itself after expanding. You might want to rename the tar file from vapt.tar.gz to vapt-0.2.6.tar.gz after downloading it if you plan to save it for future uses.
Notes on installing apt360 (If you don't already have "build-essentials", this would be a good time to install it/them.)
Fulfill apt360 and postp dependencies (by using apt-get, synaptic, aptitude, etc.)
Install all of these: libf2c , bison , flex
Maybe install dxflib (was at http://www.ribbonsoft.com/dxflib_downloads.html and more recently at http://www.qcad.org/en/dxflib-downloads )
(not necessary just to use apt360, and even post .tap files, this is only for the optional 'posting' of dxf files. )
Install apt360: in the ~/aptos/apt360-n.n.n directory, do:
./configure
(if a warning scrolls by about "no gsl lib, can't TABCYL", then install gsl-lib and gsllib0-dev.)
make
sudo make install
(I had to use sudo for this, your results may vary.)
Notes, problems, comments:
Ubuntu 7.10: There are some problems - maybe related to the stock terminal that comes with it. The configure and make scripts are getting mangled.
Install postp:
postp has a python installer, so, within the postp directory:
sudo python setup.py install --prefix=/usr/local
Install vapt:
vapt has a python installer, so, within the vapt directory:
sudo python setup.py install --prefix=/usr/local
Fulfill vapt dependencies (by using apt-get, synaptic, aptitude, etc.)
install python-dev (development version of python)
install pyopengl (some problems, python-opengl-togl seems to be broken in Ubuntu 7.10)
Now create the two main symbolic links (change any of these if as needed if you want to switch between versions):
ln -s ~/aptos/apt360-1.0.2/ ~/aptos/apt360
ln -s ~/aptos/postp-0.2.1/ ~/aptos/postp
Then go inside the apt360-n.n.n directory and create a symbolic link to the directory in which vapt resides.
ln -s ~/aptos/vapt-0.2.6/ ~/aptos/apt360-1.0.2/vapt
If you try to run vapt (first time) and you get an error about "install missing python-tk", install it, and the related -debug also.
Now if you try to run vapt (second time) and you get an error about "can't find package Togl", congratulations, you're getting close!
Togl is on Sourceforge, so go [here] and install the dependencies needed, You may already have Tk, Tcl, etc.
Also install everything connected with libxmu- there are several, but they're all small.
You can install Togl from the download directory you're storing it in, or from wherever you wish.
Download and install Togl (1.7 for now, more on this later), then run ./configure and look at the errors.
Install whatever is needed to fix the error (Google helps). Keep re-running ./configure until it will complete without errors.
Do the same thing with make, but every time you install another thing, go back and re-run ./configure so ./configure knows about it.
Then try to start vapt, look at the errors that occur, and Google them to learn what to install next. Keep at it until vapt will start and display a screen.
Now, on to the fun part....
*apt360 is a traditional Unix command line based tool
It takes input from a file with apt instructions (.apt, see image) and outputs CL instructions to the terminal screen (see image).
*In the .apt file, directives can be added to produce extra output, like gcode and or dxf files.
*Such directives can produce a .tap (gcode) or .dxf file (dxf not working 2007 02 10)
*Though apt360 is the project name and the folder name, 'apt' is the command
*usage:
apt /path-to-your-apt360-dir/examples/test.apt
- could produce "test.apt" or "test.dxf" (depending on the post processor directive(s) in 'test.apt' )
- it also produces a stream of cutter location (CL) instructions that can be viewed with Vapt
- to view the cutter location (CL) information you can use Vapt (read on)
Editing example *.apt source file
upload:apt-src-file.png
Example cutter location output from apt
upload:apt-CL-output.png
*vapt is a tool to show you the tool path and geometry
*it has a built in editor with tabs so that you can edit apt or g-code
*it will show you cutter location (sorry, no animated tools anymore)
*usage:- just type "vapt"
Example Output of VAPT
upload:vapt5.jpg
http://www.nfrpartners.com/nfraptlang.htm
upload:spirograph.apt
upload:apt360_examples.tar.gz
TutorAptToAxis