For specific properties of the CNC machine used in this project, follow the links below:
http://www.sourcegraphics.com/3dsystems/roland_asd/mdx540.asp
http://www.rolanddga.com/products/milling/mdx540/default.asp#subNavTop
RML Code User Guide (code for CNC machine): http://www.reportlab.com/docs/rml2pdf-userguide.pdf
RML Code User Guide #2: http://www.reportlab.com/docs/rml-for-idiots.pdf
There are two options for programming the CNC machine. The first consists of issuing commands directly from a port on the front of the machine. The drawback with such a method is that the type of the port is unknown. Our group has sought assistance in the matter from the manufacturers of the CNC machine, Roland DG Corporation. Unfortunately, the company has not responded as of yet. The second option consists of manipulating the driver software used to communicate with the CNC machine. Relative to interfacing through the port, this method is of greater difficulty as it requires more experience with the driver as well as additional programming experience. Given that there has been little response from the manufacturer, more focus has been put into the second option. Thus far, a basic python program has been written in order to keep track of position and time values. The position values specifically reference the location of the spindle of the CNC machine at a specific time. The program hitherto stated only has changing time values, however, as information from the software driver is necessary to specify the respective x, y, and z values of the CNC machine. Once the software driver has been manipulated to allow for direct communication with the CNC machine (as opposed to communication through a proprietary program),the program written need only call upon the values necessary. Hence, the main programming focus has become to find a way to communicate with the driver software in an efficient way.