This page is about the Roland iModela desktop cnc milling machine.
Fab Modules with iModela support
This is a compiled version of an old version of Fab Modules (kokompe.cba.mit.edu) with support for the Roland iModela ready to be deployed. (C source code is missing except for path_rml_imodela.c)
Quick changes added to provide support for the iModela
This instructions are provided in order to port the changes to the current version of Fab Modules.
The iModela has a printer driver. You can add it to your computer as a regular printer and select "Raw queue" on the printer drivers. That is the same setup as for the Roland Vinyl Cutter (.camm). "Raw Queue" is by default on the drivers list on Ubuntu and under the CUPS admin in Mac OS http://localhost:631
The fab_send module knows which file to send where depending on the file extension. That is not a really good solution in the case you have two different machines which communicate different but use the same file. This is the case of the MDX-20 that runs on .rml and uses the serial port and the iModela, which uses the same extension but the printer driver described above.
To solve this issue in an easy but not nice way we used the *.imodela extension for the *.rml files we want to send to the iModela. That is not a problem because the file extension is meaningful less for the machine to operate.
To be able to create the files with another extension we created a file called make_png_imodela which does runs the path_rml_imodela (see below about units) and saves the output with the .imodela extension. Notice that is not a clean solution for maintenance but it works.
The Roland MDX-20 units are based on 1/40 mm, however the iModela uses a 1/100 mm unit base system. This implies a small change in the path_rml.c. The new file is path_rml_imodela.c.
The iModela does not have physical buttons for adjusting the Z 0. This must be done by software as in the XY axis. See rml_moveimodela and panel_path_imodela. See also how the units are changed from 1/40mm to 1/100mm here also.
For RML commands reference: File:RML1 Command GuideENVer100.pdf