3D Printer Reprap Preferences
The original documentation for the Reprap application Preferences is located at http://reprap.org/wiki/Java_Software_Preferences_File. This page attempts to clarify their function and interactions.
This page is a work in process and contains large parts of text taken from the above source, which is covered by the Free Documentation License 1.2.
Communications with Printer
The communications speed between the host computer and the RepRap printer.
Setting this true will cause each message to and from the RepRap machine also to be written to System.out. This will also log the GCode as it is written to the temp file when generating GCode; this logging can slow down the GCode generation quite a bit.
The serial port on the host computer that is connected to the RepRap machine. On our system this is /dev/ttyUSB0.
Printer Geometric Parameters
The position at which the extrude head can be run for a time to purge itself. See Extrudern_Purge below.
The position to which the machine will move at the end of a build.
WorkingX(mm)=200, WorkingY(mm)=200, WorkingZ(mm)=140
The limits of movement in the three directions.
Printer Performance Parameters
The XY performance parameters here are in effect when moving with no extrusion. If an extruder is on, the corresponding parameters for the Extrusion Profile are also considered, and the lower of the speeds/accelerations from the two calculations is use.d
This is the maximum rate at which the machine can accelerate horizontally (i.e. in X and Y). When this is positive, the software generates G-codes that treat the feedrate as just another dimension which changes proportionally as the move progresses. That is to say, in code like
G1 X23.9 Y39.7 Z0.2526 F3000.0
the second line is saying move to the specified coordinates, and accelerate from 1500.0 mm/minute at the start of the move to 3000.0 mm/minute while doing so. A movement at constant speed is done by setting the feedrate first with no coordinate change, then moving with a G1 command with no F word.
This is a nonstandard interpretation of the F word on move commands. In most CNC machines, the machine itself can manage acceleration, and will try as much as possible to perform each move at (and never above) the feedrate specified on the that move. However, our printer cannot manage its own acceleration, so the feedrate changes must be spoonfed in the GCode using this setting.
This is the counterpart to MaxXYAcceleration for the Z axis.
MaximumFeedrateX(mm/minute)=3000, MaximumFeedrateY(mm/minute)=3000, MaximumFeedrateZ(mm/minute)=50
The fastest speeds that the X, Y, and Z axes can be driven at without stalling or missing steps.
When accelerating in X and Y, this decides what speed the machine can do as a standing start. That is to say, at this speed the steppers won't lose steps if they just start running. Thus it is also the speed at which the machine goes round a right-angled corner, for example (as that stops X and starts Y, or vice versa).
When accelerating in Z, this decides what speed the machine can do as a standing start. That is to say, at this speed the steppers won't lose steps if they just start running.
Extrusion Control Model
When this is true, the software generates G-codes that treat the extrusion as just another dimension called the E axis. That is to say, it generates code like this:
G1 X23.9 Y39.0 Z0.2526 E66.5 F3000.0 ;print segment
G1 X23.9 Y39.7 Z0.2526 E67.2 F3000.0 ;print segment
So, for example, the second line is saying move 0.7mm in Y and extrude 0.7mm of filament while doing so, all at 3000 mm/minute.
The ratio between the requested extrusion length and the geometric movement length is determined by the Extrudern_ExtrudeRatio.
When this is false, the software generates special codes to control the extruders by setting their extrusion speed (using Gxxx) and starting/stopping extrusion (using Mxxx) as required.
Overall Print Settings
This sets the temperature to set the heated bed to but our printer is not equipped with a heated bed so this setting has no effect other than altering the GCode.
The number of layers of material to put down under the object being built before building proper starts. Set this to -1 to suppress the laying down of foundations. The structure of the foundation is determined by the Foundation Structure Settings in the Extrusion Profile selected for the object to be printed.
Causes an interlayer cooling cycle to occur between each layer, which consists of homing the printer in X and Y, and delaying for Extrudern_CoolingPeriod (TBD: for which Extrusion Profile?) before starting the next layer. If we had a cooling fan it would be run during this cooling period.
Tries to optimize the movement of the RepRap machine when generating GCode files so the printer can run a bit faster, but at the expense of slower GCode generation.
When set true, this causes a wiper shield to be built alongside the parts being laid down, to try to remove dribble than occurs between the end of one layer and the start of the next, especially in InterLayerCooling is selected. This shield requires 6mm in X and Y between the origin and the southwest corner of the object(s) being built.
Specifies the number of Extrusion Profiles, and thus the number of families of Extrudern_Xxxx settings.
Setting this true will cause each action (TBD: What's an 'action'?) the host makes the printer do to be written to System.out.
Extrusion Profile Preferences
In the Preferences, all the settings for each Extrusion Profile are linked by its number between 0 and NumberOfExtruders-1 which is embedded within the setting name.
Extruder Profile Name
The name by which this Extrusion Profile is know when loading an object into the 3D viewer and when referenced as the Infill or Support Extrusion Profile.
General Physical Extrusion Properties
The address of the extruder. These addresses are used in Tn GCode commands to tell the printer which physical extruder to use. This is always followed by a M113 to set the extruder motor current.
Delay time in addition to the XY homing time between layers. Set this negative to minimize the delay. See InterLayerCooling above.
The temperature to run the extruder at. We have ABS filament, for which 220°C is close to correct.
This sets the rate at which the extrudate exits the nozzle in millimeters per minute when the extruder is running in thin air.
The time to run the extruder to purge it; this happens at the dump location (see above). In FiveD mode, this is multiplied by Extrudern_ExtrusionSpeed to get the number of E units to extrude in a purge operation.
The time to reverse the extruder motor when it is turned off, drawing the extrudate back into it and reducing dribble. In FiveD mode, this is multiplied by Extrudern_ExtrusionSpeed to get the number of E units to extrude in this drawback operation and its reverse when extrusion begins again.
Extruder Geometric Parameters
This is used to compensate for the fact that when laying down an arc path, the extruder path is not exactly on the centreline of the extruded bead.
This determines how short consecutive line segments should be before they are treated as arcs for the purposes of Extrudern_ArcCompensationFactor.
In FiveD mode, this determines the ratio of E axis motion to geometric motion. This essentially stretches or compresses the extruded bead, which in turn alters its cross-sectional area. TBD: This probably affects ExtrusionHeight, but does it affect ExtrusionSize, or does the GCode generation compensate?
The depth of each layer. This value should be the same for all extruders in the machine at any one time.
The width of the filament laid down by the extruder. Note that this does not necessarily match the orifice size of the extruder nozzle. Beads extruded into open air tend to be larger than the orifice due to viscous flow effects, and (TBD: true?) the ExtrudeRatio will also affect this value.
When doing in-air non-extruding movements, lift the extruder by this distance above the surface being created. This will slow building down, and is not normally needed
Extrudern_OffsetX(mm)=0, Extrudern_OffsetY(mm)=0, Extrudern_OffsetZ(mm)=0
The offset of the extruder from (0, 0, 0) when the printer is homed. This is used to get multiple physical extruders in registration. Since we only have one physical extruder, these should always be zero.
Extruder Performance Parameters
When the extruder reverses to retracts its filament (and moves forward from a retraction) there is almost no resistance to the filament's movement, so it can move fast. This is the speed to use for these. See also Extrudern_Reverse(ms).
The fastest that the XY motion can be when using this extruder. Thus would typically be limited by the extrusion speed itself. The printer takes the lower of this limit and the global Maxiumum FeedRates when moving with this extruder on.
The fastest acceleration that this extruder can handle. Set this negative if the extruder must write at a constant speed. The system takes the minimum of this value and the equivalent value for the machine overall when extruding.
The speed that the machine can do a standing start from when using this extruder. That is, turning on the X and/or Y steppers with the extruder on at this speed will not lose extruder steps. The GCode uses the lower of this and the global SlowXYFeedRate when this extruder is on.
Settings not relevant because we use FiveD mode
This should remain at -1 (the default) to use the extruder's on-board potentiometer to set the extruder stepper current.
3D View window settings
Extrudern_ColourB(0..1)=0.6, Extrudern_ColourG(0..1)=0.3, Extrudern_ColourR(0..1)=0.3
The colour of objects made by the material in this extruder in the 3D View window.
Shell (Outline) Extrusion Properties
Normally (when this is 1) RepRap puts one outline round each layer before infilling it. You can create multiple outlines (or none) by changing this value.
The fraction of the fastest extruder XY speed to do the outline at. See also FastXYFeedrate (above).
When set true, this causes the system to start plotting outline patterns around objects from in the middle of their hatch infill, using a few of the hatch lines to do this. At the end of the outline, the head moves back to the start point. This means that the outline is clean, without dribble at the start and end. That happens in the middle of the solid, where it usually doesn't matter. Setting this false suppresses this behaviour, and the outlines are plotted as-is.
Infill Extrusion Properties
These properties control how this Extrusion Profile behaves when generating Infill.
The angle in degrees to use to infill even-numbered layers.
The gap between the infill zig-zag pattern used to fill the interior of an object when coarse infill is being used. Set this negative to suppress coarse infill.
The gap between the infill zig-zag pattern used to fill the interior of an object when fine infill is being used. (TBD: When do we get "broad" vs. "fine" infill?)
The amount to make the infill and outline overlap. This causes the two to weld together. You can set it negative and make a gap instead.
The fraction of the fastest extruder XY speed to do the infill at. See also FastXYFeedrate (above).
Foundation Structure Settings
(TBD: Does foundation generation use the object's primary Extrusion Profile or its Infill one?) (TBD: If there is more than one object and they do not all use the same Extrusion Profile, which one is used for foundations?)
The gap between the infill zig-zag pattern used to fill the interior of the foundations (if any).
The gap between the infill zig-zag pattern used to fill the interior of the last layer of the foundations (if any).
Infill and Support selection
These settings name the Extrusion Profiles to use for Infill and Support on objects which use this Extrusion Profile. Either of these can be set to null to turn off Infill or Support, or can name themselves to use the same Extrusion Profile for Infill or Support.
The name of the Extrusion Profile to use for infill.
The name of the Extrusion Profile to use to support overhangs made from this material.