Java Software Preferences File

From RepRap
Revision as of 10:59, 7 January 2010 by Adrianbowyer (talk | contribs)
Jump to: navigation, search

To get your hardware working properly you may have to tweak your software's parameters. To do this, run the RepRap software and click the purple Preferences button.

When you run the RepRap software it creates you a local copy of the distribution preferences file that you can edit, whilst preserving the original. In this way you can have your own versions of the many parameters for the machine. These will be preserved when you download new versions of the software. But you can move to the default versions at any time.

This page lists the preferences, and describes what they mean and do. It is divided into two sections: The first contains the general preference values for the entire machine, and Extruder Preferences contains the values specific to an extruder (of which there may be several, of course).

The values after each entry are the standard ones for RepRap Version II Mendel.

You will see that some parameters are described as "Legacy". These are mainly those needed for the PIC-microcontroller RepRap and not the Arduino/Sanguino-controlled one, or are otherwise no longer used.

Except for really obvious cases, parameter names have their dimensions in brackets on the end of their names.

Contents

AxisCount=3

The number of Cartesian axes in the machine. String theory aside, we live in three dimensions...

BackColourB(0..1)=0.9, BackColourG(0..1)=0.9, BackColourR(0..1)=0.9

The RGB values of the background in the graphics window.

BackFactor=2.0

A viewcone parameter needed for Java 3D, q.v.

BaudRate=19200

The communications speed between the host computer and the RepRap microcontroller.

BoundFactor=3.0

A viewcone parameter needed for Java 3D, q.v.

CommsDebug=false

Setting this true will cause each message to and from the RepRap machine also to be written to System.out.

Debug=false

Setting this true will cause each action the host makes the RepRap do to be written to System.out.

DisplaySimulation=false

This is normally set and reset by the "Display Paths" button on the RepRap control window, and so should not be hand-edited. Setting this true will cause a new window to be opened in which each segment laid down by the RepRap machine is represented as a line, so you can see the build happening on the computer's screen as each slice is being processed.

DumpX(mm)=120, DumpY(mm)=5

The position at which the extrude head can be run for a bit to purge itself.

FastSpeed(-1..255)=240

Legacy. The fastest rate that the PIC XY steppers can be stepped.

FiveD=true

This only has an effect on G-Code generation. When this is false, the software generates G-codes to control the X, Y, and Z movement of the machine and separate codes to control the extruders.

When this is true, the software generates G-codes that treat the extrusion as just another dimension. 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 from where you last were and extrude 0.7mm of filament while doing so, all at 3000 mm/minute.

FoundationLayers=-1

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.

FrontFactor=0.001

A viewcone parameter needed for Java 3D, q.v.

GCodeUseSerial=false

This is normally controlled automatically, and shouldn't be changed by the user. Setting this true causes the code to send G-codes direct to the RepRap machine (as opposed to writing them to a file) from communications port Port (see below).

IdleZAxis=true

Legacy. Causes the PIC to turn off the current to the Z-axis stepper when there is no vertical movement.

InterLayerCooling=true

Setting this true causes RepRap to turn on the cooling fan between layers to freeze/set the build material being used. See Extruder0_CoolingPeriod(s) below. It also has the effect of causing the machine to re-zero itself in X and Y between each layer. This is a good idea, so - if you don't want cooling, still set this true but set the cooling period very short (e.g. 0.1 second).

MachineColourB(0..1)=0.3, MachineColourG(0..1)=0.4, MachineColourR(0..1)=0.3

The colour of the RepRap build bed in the graphics window.

MaxXYAcceleration(mm/mininute/minute)=1200000

This is the maximum rate at which the machine can accelerate horizontally (i.e. in X and Y). As G Codes are in mm/minute, this is in the rather eccentric unit of mm/minute2. If you want to run at constant speed, or you have RepRap firmware that does not support accelerations, setting this negative will turn off XY accelerations for the whole machine (regardless of the similar values for the extruders - see below).

When this is positive, the software generates G-codes that treat the feedrate as just another dimension. That is to say, it generates code like this:

G1 X23.9 Y39.0 Z0.2526 E66.5 F1500.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 from where you last were, extrude 0.7mm of filament during the move, and accelerate from 1500.0 mm/minute to 3000.0 mm/minute while doing so. To make a movement at constant speed, simply set the feedrate first:

G1 F1500.0 ;set feedrate

G1 X23.9 Y39.7 Z0.2526 E67.2;print segment

This would do exactly the same movement and extrusion, but at a constant feedrate of 1500 mm/minute.

MaxZAcceleration(mm/mininute/minute)=3000

This is the maximum rate at which the machine can accelerate vertically (i.e. in Z). As G Codes are in mm/minute, this is in the rather eccentric unit of mm/minute2. If you want to run at constant speed, or you have RepRap firmware that does not support accelerations, setting this negative will turn off Z accelerations for the whole machine.

MaximumFeedrateX(mm/minute)=3000

The fastest speed that the X axis can be driven at without stalling or missing steps.

MaximumFeedrateY(mm/minute)=3000

The fastest speed that the Y axis can be driven at without stalling or missing steps.

MaximumFeedrateZ(mm/minute)=50

The fastest speed that the Z axis can be driven at without stalling or missing steps. Note, if you're experimenting, that moving up against gravity is harder than moving down, which will lead to a slower value. Use that.

MouseTranslationFactor=50

A scaling factor for mouse movements in 3D in the graphics window.

MouseZoomFactor=50

A scaling factor for mouse movements in 3D in the graphics window.

MovementSpeedZ(0..255)=240

Legacy. The speed to move the Z axis on the PIC controlled machine.

NumberOfExtruders=3

How many extruders are in use. Note that you can use the same extruder more than once. That is to say you can copy all the parameters of Extruder0 (say), call them Extruder1, and edit them to get different behavior (leaving the address the same - see below). Then you can flip between the two when you load objects to build.

Port(name)=/dev/ttyUSB0

The port on the host computer that is connected to the RepRap machine. On Linux machines this will be something like /dev/ttyUSB0, on Windows it will be something like COM5.

RadiusFactor=0.7

Another Java 3D parameter. This sets the size of the world that you're looking at.

RememberWindowPosition=false

When set true, forces the system to put the RepRap window back where it was and the same size after you've folded it away.

RepRap_Machine=GCodeRepRap

The type of RepRap machine attached to the host computer. This decides the encoding of the information sent from the host. Valid types are: GCodeRepRap, SNAPRepRap, and Simulator.

SelectedColourB(0..1)=0.2, SelectedColourG(0..1)=0.2, SelectedColourR(0..1)=0.6

When you load an object to be printed onto the picture of the RepRap build area, then select it with the mouse so you can slide it about, this decides what colour it will change to to indicate that you have selected it.

Shield=true

When set true, this causes a wiper shield to be built alongside the parts being laid down. If the write head returns to the origin between layers, then this shield tends to remove any dribble from the nozzle before the nozzle starts laying down the part itself. Allow a blank space of 6mm in X and Y between the origin and the southwest corner of the object(s) being built for the shield to be constructed in.

SlowXYFeedrate(mm/minute)=1500.0

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).

SlowZFeedrate(mm/minute)=5.0

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.

Subtractive=false

Set this true if you have a cutting head, rather than an extruder, in your RepRap. Experimental...

UnselectedColourB(0..1)=0.3, UnselectedColourG(0..1)=0.3, UnselectedColourR(0..1)=0.3

The default colour of an object to be built when it's not selected. This is overridden by Extruder0_ColourB/G/R (see below).

WorkingLocation=reprap-wv.stl

The file containing the stl for the model of the RepRap build base that appears in the graphics window.

WorkingOffsetX(mm)=-17.3, WorkingOffsetY(mm)=-24.85, WorkingOffsetZ(mm)=-2

The position of the bottom left hand corner of WorkingLocation (see above) relative to (0, 0, 0).

WorkingX(mm)=300, WorkingY(mm)=300, WorkingZ(mm)=300

The lengths of movement in the three directions. There is a bug in the code that handles these, so they are set to a nominal 300mm each at the moment.

WorldName=RepRap-World

An internal label that is used as the root of the Java 3D graphics object tree.

XAxisAddress=2

Legacy. The address of the X-axis stepper controller for the PIC.

XAxisScale(steps/mm)=7.99735

Legacy. The number of X stepper-motor steps needed to move 1 mm for the PIC. A good way to set this is to get the machine to build a long thin brick 100 mm long and a few mm deep and high. Then measure the object with accurate vernier calipers (giving length L, say) and change this value accordingly: XAxisScalenew = XAxisScaleold.L/100.

XAxisTorque(%)=100

Legacy. The power to sent to the X-stepper coils. This is now controlled by a potentiometer on the stepper controller board.

XYReZeroInterval(mm)=-1

Repeatedly stop building and re-zero the X and Y axes against the opto endstops after this distance of movement. Set this negative to suppress this behaviour. See also InterLayerCooling above.

YAxisAddress=3

Legacy. The address of the Y-axis stepper controller for the PIC.

YAxisScale(steps/mm)=7.99735

Legacy. The number of Y stepper-motor steps needed to move 1 mm in the PIC. See XAxisScale above for how to set this.

YAxisTorque(%)=100

Legacy. The power to sent to the Y-stepper coils. This is now controlled by a potentiometer on the stepper controller board.

ZAxisAddress=4

Legacy. The address of the Z-axis stepper controller in the PIC.

ZAxisScale(steps/mm)=320

Legacy. The number of Z stepper-motor steps needed to move 1 mm in the PIC. Look up the pitch of the threads in the corner of your RepRap machine (the standard ones, M8, have a pitch of 1.25 mm), then divide the number of steps your Z stepper takes for one revolution by that value.

ZAxisTorque(%)=100

Legacy. The power to sent to the Z-stepper coils. This is now controlled by a potentiometer on the stepper controller board.




Extruder Preferences

Extruder0_Address=0

The address of the extruder. These addresses are used by the RepRap firmware to decide what physical device the host is talking to.

Extruder0_AngleSpeedFactor(0..1)=0.5

Legacy. Go faster round angles/changes of direction in the path according to this: relative speed = 1 - 0.5*(1 + cos(angle))*AngleSpeedFactor.

Extruder0_AngleSpeedLength(mm)=-1

Legacy. The distance either side of a change of direction to speed up for. Set this negative to suppress this behaviour.

Extruder0_ArcCompensationFactor(0..)=8

When the extruder moves in an arc, too much material is laid down on the inside, and not enough on the outside. See this page for an explanation of what this does.

Extruder0_ArcShortSides(0..)=1

When the extruder moves in an arc, too much material is laid down on the inside, and not enough on the outside. See this page for an explanation of what this does.

Extruder0_Beta(K)=550.0

Legacy. The beta value of the thermistor used to measure the temperature of the extruder in the PIC. For a non-PIC controllers set this to 550.0 regardless of what thermistor you actually use.

Extruder0_Capacitor(F)=0.000003

Legacy. The capacitor value in the PIC controller used to time the resistance of the thermistor. For a non-PIC controller set this to 0.000003 regardless of what thermistor you actually use.

Extruder0_ColourB(0..1)=0.6, Extruder0_ColourG(0..1)=0.3, Extruder0_ColourR(0..1)=0.3

The colour of objects made by the material in this extruder in the graphics window.

Extruder0_CoolingPeriod(s)=0.1

The time to turn the cooling fan on between layers. Set this negative to suppress cooling between layers. See InterLayerCooling above.

Extruder0_EvenHatchDirection(degrees)=45

The angle in degrees to use to infill even-numbered layers.

Extruder0_ExtrudeRatio(0..)=1

If you are using the 4D firmware, this decides how much extrudate actually to lay down for a given movement. Thus if you set this to 0.7 and the head moves 100mm, then 70mm of extrudate will be deposited in that move. You can use this to control how fat or thin the extrudate trail is, though the machine should be set up so that this factor is 1.0.

Extruder0_ExtrusionBroadWidth(mm)=2.0

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.

Extruder0_ExtrusionDelayForLayer(ms)=600

For the first use of the extruder in a layer the time delay between turning on the extruder motor and starting to move the extruder to lay down material. See also ValveDelayForLayer (below).

Extruder0_ExtrusionDelayForPolygon(ms)=500

For the second and all subsequent use of the extruder in a layer the time delay between turning on the extruder motor and starting to move the extruder to lay down material. See also ValveDelayForPolygon (below).

Extruder0_ExtrusionFoundationWidth(mm)=2

The gap between the infill zig-zag pattern used to fill the interior of the foundations (if any).

Extruder0_ExtrusionHeight(mm)=0.3

The depth of each layer. This value should be the same for all extruders in the machine at any one time.

Extruder0_ExtrusionInfillWidth(mm)=0.6

The gap between the infill zig-zag pattern used to fill the interior of an object when fine infill is being used.

Extruder0_ExtrusionLastFoundationWidth(mm)=2

The gap between the infill zig-zag pattern used to fill the interior of the last layer of the foundations (if any).

Extruder0_ExtrusionOverRun(mm)=-1

The distance before the end of a sequence of infill or outline depositions to turn off the extruder motor. See also ValveOverRun (below). Set this negative to keep running to the end.

Extruder0_ExtrusionPWM(0..1)=0.8

This controls the current to the extruder stepper motor, and hence its power. It sets the PWM ratio for the drive electronics. A value of 1 gives maximum current (be very careful not to burn out motors and control electronics with high values). A value of 0 disables the motor.

Extruder0_ExtrusionSize(mm)=0.7

The width of the filament laid down by the extruder.

Extruder0_ExtrusionSpeed(mm/minute)=3000

This sets the rate at which the extrudate exits the nozzle in millimeters per minute when the extruder is running in thin air (i.e. not building, or running the delay at the start of a layer or polygon - see above).

Legacy. On PIC-based extruders it sets the PWM signal to send the extruder motor, as a fraction of 255. See also Extruder0_t0 (below).

In either case, if there is no motor in use, set this negative.

Legacy. On earlier extruders it sets the PWM signal to send the extruder motor, as a fraction of 255. See also Extruder0_t0 (below).

Extruder0_ExtrusionTemp(C)=190

The temperature to run the extruder at. 190oC is a good temperature for polylactic acid. For ABS use 240oC.

Extruder0_FastXYFeedrate(mm/minute)=3000.0

The fastest that this extruder can plot. This is the speed that the system will accelerate writing up to when accelerations are enabled. The system takes the minimum of this vale and the equivalent value for the machine overall when extruding.

Extruder0_InFillMaterialType(name)=PLA-infill

The name of the extruder material to use for infill. This is commonly the same actual extruder used for the outline shell, but this separate logical extruder allows you to set different parameters for infill and outline. Or you can outline in one material and infill with another, of course.

Extruder0_IncrementedStart=false

Legacy. When plotting a layer, start each polygon one edge further round on successive layers. This stops all the start points lining up for a vertically-sided object and can improve quality. See also RandomStart below. This parameter is ignored from software revision 3201, when the starting of outline from within solid was implemented.

Extruder0_InfillOverlap(mm)=0.2

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.

Extruder0_InfillSpeed(0..1)=1

The fraction of the fastest extruder XY speed to do the infill at. See also FastXYFeedrate (above).

Extruder0_LowerFineLayers(0...)=2

Give this many layers at the bottom of the object fine infill.

Extruder0_MaterialType(name)=PLA

The name of the material in use.

Extruder0_MaxAcceleration(mm/minute/minute)=1200000.0

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 vale and the equivalent value for the machine overall when extruding.

Extruder0_MaxSpeed(0..255)=255

Legacy. The maximum value of Extruder0_ExtrusionSpeed (see above) for the PIC. If you have an extruder motor with a rated voltage below 12v this allows you to protect it. For 12v motors, just set this to 255.

Extruder0_MinimumZClearance(mm)=-1

When moving over the build bed while not laying down material, don't move below this height. If you set this negative, then the head stays at the same level all the time for each layer. That's to say it doesn't lift for fast no-print moves. For some materials (ABS and PLA, for example) this can give a quicker and better result. For others (polycaprolactone, for example) it makes a mess...

Extruder0_NozzleClearTime(s)=10

Legacy. When nozzle wiping, run the extruder for this time between layers to get it working again. No longer used. See "Shield" above.

Extruder0_NozzleWaitTime(s)=0

Legacy. After clearing, wait for this time before doing anything else. No longer used. See "Shield" above.

Extruder0_NozzleWipeDatumX(mm)=22.4

Legacy. The X coordinate to move to at the start of the nozzle-wipe sequence. No longer used. See "Shield" above.

Extruder0_NozzleWipeDatumY(mm)=4

Legacy. The Y coordinate to move to at the start of the nozzle-wipe sequence. No longer used. See "Shield" above.

Extruder0_NozzleWipeEnabled=false

Legacy. Set false to suppress nozzle wiping. No longer used. See "Shield" above.

Extruder0_NozzleWipeFreq=1

Legacy. How many times to wipe the nozzle. No longer used. See "Shield" above.

Extruder0_NozzleWipeStrokeX(mm)=0

Legacy. How far to move in X to wipe the nozzle. No longer used. See "Shield" above.

Extruder0_NozzleWipeStrokeY(mm)=10

Legacy. How far to move in Y to wipe the nozzle. No longer used. See "Shield" above.

Extruder0_NumberOfShells(0..N)=1

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.

Extruder0_OddHatchDirection(degrees)=-45

The angle in degrees to use to infill odd-numbered layers.

Extruder0_OffsetX(mm)=0, Extruder0_OffsetY(mm)=0, Extruder0_OffsetZ(mm)=0

The offset of the extruder from (0, 0, 0) when the extruder is parked in X and Y. This is used to get multiple extruders in registration.

Extruder0_OutlineSpeed(0..1)=0.9

The fraction of the fastest extruder XY speed to do the outline at. See also FastXYFeedrate (above).

Extruder0_PauseBetweenSegments=false

If true, wait for the user to mouse-click between each straight line segment being laid down. Very much for debugging.

Extruder0_Purge(ms)=10000

The time to run the extruder to purge it. This happens at the dump location (see above).

Extruder0_RandomStart=false

Legacy. When plotting a layer, start each polygon at a random vertex on successive layers. This stops all the start points lining up for a vertically-sided object and can improve quality. See also IncrementedStart above. This parameter is ignored from software revision 3201, when the starting of outline from within solid was implemented.

Extruder0_Reverse(ms)=400

The time to reverse the extruder motor when it is turned off, drawing the extrudate back into it and reducing dribble.

Extruder0_Rz(ohms)=4837

Legacy. The resistance of the thermistor used to measure the temperature of the extruder at 0oC for the PIC. For a non-PIC controller set this to 4837 regardless of what thermistor you actually use.

Extruder0_SeparationFraction(0..1)=0.8

When building foundations, make the level of the last foundation layer this fraction of a layer thickness above the previous one. This leaves a slightly bigger gap under the part being built, making it easier to separate the two.

Extruder0_SeparationSpeed(mm/minute)=3000

The rate to extrude from the nozzle to make a layer that will more easily separate from the one below. Typically this is slower than the ordinary extrude speed, giving a thinner filament.

Extruder0_ShortLength(mm)=-1

Legacy. For line segments this long or shorter speed up according to ShortSpeed (below). Set negative to suppress this behaviour.

Extruder0_ShortSpeed(0..1)=1

Legacy. For line segments under ShortLength (above) lay down at this fraction of the fastest extruder XY speed.

Extruder0_SlowXYFeedrate(mm/minute)=1500.0

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 at this speed will not lose steps.

Extruder0_SupportMaterialType(name)=PLA-support

Not yet supported (though the code's in there commented out awaiting debugging...)

The name of the material to use to support overhangs made from this material. You can set this the same as the material itself, then it will use the material to support itself. But - even if you want this - you will probably want different parameters (such as infill width) for the support build. To do this just copy all the material extruder's parameters, changing the extruder number and material name. You will then have two logical extruders driving the same physical extruder and can set their parameters as differently as you like.

If you don't want support material to be used at all under overhangs for this material, set Extruder0_SupportMaterialType(name)=null.

Extruder0_UpperFineLayers(0...)=2

Give this many layers at the top of the object fine infill.

Extruder0_ValveDelayForLayer(ms)=200

For extruders with valves. For the first use of the extruder in a layer the time delay between opening the extruder valve and starting to move the extruder to lay down material. See also ExtrusionDelayForLayer (above).

Extruder0_ValveDelayForPolygon(ms)=200

For the second and all subsequent use of the extruder in a layer the time delay between opening the extruder valve and starting to move the extruder to lay down material. See also ExtrusionDelayForPolygon (above).

Extruder0_ValveOverRun(mm)=-1

The distance before the end of a sequence of infill or outline depositions to close the extruder valve. See also ExtrusionOverRun (above). Set this negative to run to the end.

Extruder0_ValvePulseTime(ms)=-500

The time to pulse the valve to open or close it. Set this negative if no valve is in use.

Extruder0_hb(C)=20

Legacy. The base temperature for PIC extruder heater power settings. This is usually room temperature. This is not used in the Arduino.

Extruder0_hm(C/pwr)=0.86

Legacy. The equilibrium temperature of the extruder for one PWM increment (out of 255) driving the heater. This is not used in the Arduino.

Extruder0_t0(0..255)=0

Legacy. The PWM value below which the extruder motor will not turn. See ExtrusionSpeed (above).