All of the machine configuration data is stored in a file called machines.xml in the ReplicatorG application folder. This is an XML file that contains configuration data for each machine in an easily readable/editable format.
<machines> Element
This is the top level element of your XML file. All of the indivdual machines need to be contained within this element. There should be only one <machines> element in your machines.xml configuration file.
<machine> Element
This element represents each individual machine, and must be the child of the <machines> element. It contains the various machine parameters, including the <driver> element.
Properties
None.
Child Elements
<name> - Since 0001
This is the name of the machine that will be used in the Machine -> Drivers dropdown menu. It a very simple element that only contains a string that specifies the name of the machine.
<geometry> - Since 0001
This is for configuring and specifying the machine geometry. This includes information on the type of positioning system used, the resolution on each axis, working volume, etc. It currently doesn't actually do much, but it is intended for future usage and automatic machine configuration. Please refer to the geometry section for a full description of the available configuration options.
<driver> - Since 0001
This is the driver configuration element. It specifies which driver to use and how that driver is to be configured. Please refer to the drivers section for a full description of the available configuration options.
Example
An example <machine> configuration is below:
<machine> <name>3-Axis Simulator</name> <geometry type="cartesian"> <axis id="x" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="y" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="z" length="300" maxfeedrate="100" scale="320"/> </geometry> <tools> <tool name="Generic Extruder" type="extruder" material="abs" motor="true" floodcoolant="true" mistcoolant="true" fan="true" valve="true" collet="true" heater="true"/> </tools> <clamps></clamps> <driver name="null"> <!-- use a fake driver --> <speedup>20</speedup> <!-- amount to speed up print process: 1 = realtime, 2 = 2x, 10 = 10x, etc. --> </driver> </machine>
<driver> Element
This element contains the driver configuration data for your specific machine. It must be a child element of a <machine> element. Each driver can have wildly different configuration options, which are described in fuller detail on each driver's information page. You can read more about them in the.
The type of driver is specified by the name property. The name determines which driver class is loaded, and must reference a valid driver that the current ReplicatorG understands. An example driver config is below:
<driver name="null"> <!-- use a fake driver --> <wait>25</wait> <!-- in milliseconds --> </driver>
Example Configuration File
Here is the example file that currently ships with ReplicatorG:
<machines> <!-- do not remove this machine configuration!!! --> <machine> <name>3-Axis Simulator</name> <geometry type="cartesian"> <axis id="x" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="y" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="z" length="300" maxfeedrate="100" scale="320"/> </geometry> <tools> <tool name="Generic Extruder" type="extruder" material="abs" motor="true" floodcoolant="true" mistcoolant="true" fan="true" valve="true" collet="true" heater="true"/> </tools> <clamps></clamps> <driver name="null"> <!-- use a fake driver --> <speedup>20</speedup> <!-- amount to speed up print process: 1 = realtime, 2 = 2x, 10 = 10x, etc. --> </driver> </machine> <!-- end protected configuration --> <machine> <name>Darwin</name> <geometry type="cartesian"> <axis id="x" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="y" length="300" maxfeedrate="1000" scale="11.4485"/> <axis id="z" length="300" maxfeedrate="100" scale="320"/> </geometry> <tools> <tool name="Lasercut Extruder v1.0" type="extruder" material="abs" motor="true" floodcoolant="false" mistcoolant="false" fan="true" valve="false" collet="false" heater="true"/> </tools> <clamps></clamps> <driver name="serialpassthrough"> <!-- optional, defaults to first serial port found. <portname>COM1</portname> --> <!-- optional, defaults to 19200. <rate>19200</rate> --> <!-- optional, defaults to 8. <parity>8</parity> --> <!-- optional, defaults to 1. <databits>1</databits> --> <!-- optional, defaults to N. <stopbits>N</stopbits> --> </driver> <warmup> (homing routing) G91 G1 Z10 F75 G1 X-999 Y-999 F2000 G92 X0 Y0 (set xy as home) M104 S200 M108 S20 M101 G04 P10000 M103 G04 P5000 G1 X150 Y150 G1 Z-10 F75 G92 X0 Y0 Z0 (ready to print) </warmup> <cooldown> M104 S20 G91 G1 Z10 F50 </cooldown> </machine> </machines>