DriverSoftware

From RepRap
Revision as of 11:36, 22 July 2015 by Glenn (talk | contribs) (to wiki linkformat)
Jump to: navigation, search


You might also want to look at User Manual: Host Software. Perhaps some or all of that page should be merged into this page. (Discuss)

Contents

Introduction

Opening.png

NOTE: RepRap host is not the latest software, for the most popular software see Printrun.


This page describes the host-computer software that allows you to load parts to be printed and that generates files from them to be sent to a RepRap machine.

The host software works in two steps:

  1. Load parts to be printed, and generate RepRap G-Code instructions from them, saving those G-Codes in a file.
  2. Load up a resulting G-Code file and send it to a RepRap machine to print it.

Both steps are described on this page.

When you run the RepRap Java software it opens these two windows. The one on the left is a console that allows you to set up objects to be printed, to print them, and also to control the RepRap machine interactively. The one on the right is a plan view of the base of the machine onto which you can load STL files of the parts that you want to make, and then position them where you want the machine to make them.

There are a set of videos below showing how to service the machine and how to get good-quality parts.

The software is on Github here. Installation instructions for that are here.

The source files are on Github here. Installation instructions for them are here.

Firmware

There are two suites of RepRap firmware that are designed to be completely compatible with the RepRap Host software described on this page. They are here:

Five D GCode Firmware

RepRap Java Host Sprinter



Loading things to print, then saving them as G-Codes

Load-object.png

The Load STL/CSG Button

Typically you start by clicking on the blue "Load STL/CSG" button. This will put up a file-selector window, which you can use to find and select the STL file that represents the thing that you want to build (CSG will be discussed in a moment).

The thing will be loaded at the origin (bottom left). A pop-up window (shown) will appear for you to select how many copies of the thing to make, and what extruder to use to make them. Select the extruder you want for the surface of the object. (Relating infill and support extruders to surface extruders is described below.)

You can rotate the view of the RepRap machine's base in the right-hand window with the left mouse button. The middle button zooms the view, and the right button slides it sideways or up and down.

Using CSG

In addition, the RepRap host software allows you to bypass the rather flaky and un-robust STL format for generating prints, and use much more robust CSG files from OpenSCAD directly instead. This is handled completely automatically once you have generated the appropriate CSG file.

To do that, design (or download someone else's published design for) a model to be printed in OpenSCAD. Export the model from OpenSCAD as an STL file in the usual way (Design->Export as STL...). Call it, say, my_model.stl. In addition, export the CSG representation of the model (Design->Export as CSG) to a file called my_model.csg in the same folder as the STL file you saved. (In older versions of OpenSCAD you have to select Design->Display-CSG-tree..., then copy and paste all the text in the window that pops up into the file my_model.csg.)

When you then load the STL file into the RepRap host software as described immediately above, the CSG file will also automatically be found and loaded too. The software will then use the STL file just to render its picture of the object on the build tray. All the slicing, outlining, and infilling code that actually prints the model will work directly with the CSG representation and won't use the STL data at all. This is both faster and much more reliable than using STL files to print with.

You don't have to use CSG. The software will work just with STL files alone. But CSG is an extra option.

So far the supported OpenSCAD primitives are cubes, cylinders (including frustums and cones), and spheres. We will soon add extruded polygons, extruded imported DXFs, polyhedra, and imported STL files (in that order, which is also the order of difficulty of doing it...). Note that the final one of those will implicitly (there's a mathematical joke there somewhere) allow any STL file to be converted to CSG.


Putting things where you want

Position-object.png

Normally you will not want to build the part right at the origin. If you point at the part with the mouse and left-click, it will change colour, indicating that it has been selected. You can then slide it about the base with the right mouse button to the position you want to build it in. The grid squares on the green base have 20 mm sides. You can rotate the selected object in 90o clicks about the X and Y coordinate axes by <ctrl> X, <ctrl> Y; <ctrl> Z rotates in 45o increments around Z. The last is to allow you to align an object at 45o and set up the infill (see even hatch direction and odd hatch direction) to cross hatch in the X and Y directions. This produces the same result as aligning the object with the coordinate axes, but reduces the energy used by the RepRap machine (most of the time, only one axis is being driven, rather than both). It also runs quieter. If your STL file was in inches you can scale the selected object to millimeters by multiplying by 25.4 with <ctrl> I. To delete the selected object use the <DELETE> key.

To release the selected object, left-mouse-click on any other part of the green base. You will then be able to use the mouse to zoom, rotate and slide everything as one again.


Printing more than one thing at once

Print-order-1.png

You can load several STL files to build at once, either of different objects, or multiple copies of the same object. Just click on the blue "Load STL" button again, then position them in different places. Leave a gap of about 5mm between different objects to be built. Make sure that previously-loaded objects are not selected when you load a new one (loading new objects attached to previous ones is a special feature for printing in multiple materials that is described below).

If you have several STL files loaded in a pattern that you may want to use again, you can save the whole lot by selecting the "Save RFO" button. RFO files are a standard RepRap file format (described here) for saving collections of objects positioned on the machine's build base. Any CSG files that you are using will be saved in the RFO file as well, and will be re-acquired automatically when you re-load it.

By default parts are printed in the order in which you load them. But when you have multiple parts loaded it is sometimes hard to remember what that order is. If you select one of the parts, typing <ctrl> N (next) will show you the next in the printing order. The sequence cycles: when you get to the last one, it moves on to the first. If no part is selected, <ctrl> N selects the first to be built.

If you want to reorder the build sequence, type <ctrl> R (reorder). Then select the parts in turn with the mouse in the order that you want them built. The system will highlight them as you go along so you can remember what you've done. When you select the penultimate part it, then the ultimate part, are automatically added to the new order and the highlighting is reset. You can use <ctrl> N to check your new order.

The picture on the right shows a reasonable ordering. Put the highest parts near the origin, and the lowest furthest away. Generate an order so that there are no long moves between parts. If you do all the low parts together (order numbers 9 through 16) when they are finished the machine will simply move straight past them. Try to start and end up back near the origin.

Print-order-2.png

You can also load one or more RFO files with the "Load RFO" button, select individual parts in them, move them about, or delete them, add extra STL files, and then save the lot as an RFO file again.

Finally, you can change the material that a part is made from by selecting it then typing <ctrl> M (material). A material selector will come up to allow you to specify a different material. (The selector is the same as the one that you used to specify material when the part was loaded, but with the number-of-copies option disabled.)


Printing things made from more than one material

Two-materials.png

This picture shows two interlocking but separate shapes designed in Art of Illusion. If you position them both so the base (blue) shape is at the origin and the other part is in the correct relative position, and then save both as separate STL files, you can load them into the RepRap host software preserving the correct positions relative to each other, and build them from different (or the same) material. In this case, the dove-tail would cause the materials to interlock.


Dove.png

First load the STL of the shape that is the base or reference object. Choose the material to make it from, then select it (so it changes colour) but leave it at the origin where it was loaded.

Then load the second STL for the second shape and choose its material. It will be positioned in the correct (i.e. designed) position relative to the first, and they will both be locked together in this relative positioning.


Dove-tail.png

If you select the base shape, you can then move the composite object about the build base as one thing to the position where you want to build it.

If you save one or more of these combined objects as an RFO file, they will be re-loaded in the correct orientation and position when you subsequently read that file in.

This facility depends on the CAD system that was used to design the objects recording the X, Y and Z coordinates of the objects that you design actually at the place in the CAD system's coordinate system where you designed them when it writes them as STL files. Beware - not all CAD systems do this.


Infill and support

You will see that there are a number of tabs on the console labelled Extruder_n. The RepRap host software is capable of dealing with multiple physical extruders depositing multiple materials. In addition, one physical material may have several logical extruders associated with it. These logical extruders can have different parameters associated with them, so that, for example, one might be used to extrude material-A finely for the surfaces of a part to be printed, another might be used to extrude material-A coarsely for quick solid infill of the part, and a third might extrude material-A in a deliberately weak pattern to form a support for overhangs that can easily be broken away. Alternatively, you can outline in material-A, infill in material-B and support with material-C.

You can change all the many parameters of each extruder by clicking on "Preferences".

In the preferences for each extruder are fields containing the names of two other extruders: InFillMaterialType(name) and SupportMaterialType(name). These are the extruders to use to build infill pattens and support patterns respectively for the material for the extruder that names them. See the description of preferences for full details. To turn infill or support off for a particular material, change the appropriate field to say "null" (without the quotes).

The standard distribution of the host software is set up to print with polylactic acid (PLA). You will usually select "PLA" as the material to build with. This will build the object loaded in PLA and do support calculations for overhangs.

There is also a material with the name "PLA-no-support". This is identical to "PLA" except that it suppresses the calculation of supports. If you know your object needs no support to print, select this - then the software will run faster as it has fewer calculations to do.

Microlayering

The RepRap Host Software allows you to set different layer heights for different extruders (which may correspond to different materials, or different settings for the same material). This allows you, for example, to outline an object with a very fine layer height (thus reducing the staircase effect on surfaces and producing much smoother vertical faces) whilst infilling with a much coarser height, thus working faster.

To use this start by getting the machine working well with all extruders set to have the same height. Choose a height that is easy to subdivide (such as 0.24 mm or 0.36mm) rather than one that isn't (such as 0.25 mm). 24 and 36 have many more prime factors than 25.

Then, to plot outlines as fine layers, select the default outline materials (PLA and PLA-no-support) from the Preferences Menu, and set their layer heights to the value you want - say 0.08 mm.

That is one-third the height you used to get the machine working (0.24mm), so also set Extruder0_ExtrudeRatio(0..) to 0.3333. This will extrude one third the material for a given distance than it did before.

Finally, you may want to increase the value of Extruder0_SurfaceLayers(0..N). This will ensure that upward and downward facing surfaces get finely infilled to a sufficient depth to give a good result.

You must always set extruder heights to simple integer multiples of each other. Thus if the thickest material is 0.24mm thick, others can be 0.01, 0.02, 0.03, 0.04, 0.06, 0.08, 0.12 and (of course) 0.24mm thick.

Alternatively there is a default microlayering RepRap properties file in the lib folder in the distribution called reprap-microlayering.properties that will get you started.

Sending the G-Codes to a file

When you are happy with the layout, select the "Send GCodes to file" option, and then select "Print". This will put up another file-selector window to allow you to specify the G-Code file that you want to save the results in.

If you wish, before selecting "Print" you can select "Display paths". This will open a graphics window that will show the paths that the machine will follow to make each Z-slice of the objects being printed.

You can also select "Pause at end of layer". This pauses the generation of output at the end of each layer to allow you to inspect the slice pattern. Continue/Cancel buttons will be displayed as each layer is about to be written to allow you to continue or to cancel the whole process.

If you have debugging turned on (See Preferences) then comments will be written into the GCode file saying what each line does. That will more-or-less double the size of the file. If you turn debugging off you will get almost no comments: a couple of header comments will be written into the file saying when it was computed and how big the object being printed is, and a comment line will be written at the start of each new layer to track that.

When the GCode file has been written, exit the program with the "Exit" button.

To print your GCode file that you just generated on your RepRap machine, see the next section.

The control console tabs

If you are going to control your RepRap machine interactively, or get it to print a pre-computed G-Code file, plug the RepRap machine's USB cable into the computer before starting this host software.

The Print tab

Print.png

Here is a list of all the buttons and options on the "Print" tab, and what they do.

Load GCode

To activate this, you will have to select "Print computer GCodes" or "Print SD card GCodes" (see below).

If you have created a GCode file (as above, or from elsewhere) this allows you to load it for actual printing on the machine. You will be shown a file selector window to choose your GCode file. When you have specified this, just hit "Print/slice".

If you have selected "Print computer GCodes" the software will look on your computer for the GCode file. If you have selected "Print SD card GCodes" the software will look on the RepRap machine's SD card for the GCode file.

Load STL/CSG

This lets you select STL and OpenSCAD CSG files to load onto the RepRap's base for printing, as described above.

Load RFO and Save RFO

These allow the loading, printing, and saving of several multiple-material objects all in one go. (See above.)

Save SCAD

This allows you to save the set of parts you've laid out on the tray as an OpenSCAD model.

It prompts you to specify a directory. All the STL files you have on the tray are copied into that, then the software creates an OpenSCAD program in that directory that moves the STLs to the right place and takes their set union. That is to say, the entire tray is then a single OpenSCAD object, which you can, for example, then write out as a single STL file.

PCB

This is RepRap's printed circuit making facility. For more details see this wiki page.

Print computer GCodes

Select this to put the program in its mode where it sends a pre-computed G-Code file to the RepRap machine to print it. When you select this, the STL and RFO buttons will be greyed-out, as they are not active in this mode. This allows you to send a G Code file from your computer to the RepRap machine.

Print SD card GCodes

This is just like Print computer GCodes immediately above, except that it sets the system to look on your RepRap machine's SD card for G Code files.

Send GCodes to file

Select this to put the program in its mode where it takes STLs or RFOs that you have loaded, slices them, and saves the commands to the RepRap machine needed to build them as G-Codes. When you select this, the GCode button will be greyed-out, as it is not active in this mode.

Pause at end of layer

Selecting this check-box will cause the software to pause at the end of each layer it makes from loaded STL or RFO files. At the start of the next layer a small window is displayed to allow you to instruct the software to continue (you can also cancel the build at such points).

This button has no effect when building an object from a GCode file. This is because in general there is no way to tell from the contents of such a file where one layer ends and the next begins. But see the "Pause" button below.

Display paths

This opens a small graphics window in which the pattern of each layer is displayed as it is computed and saved to a G-Code file.

Preferences

Selecting this will open a tabbed window that will allow you to edit all the many parameters that control the operation of the RepRap machine. These parameters are described here. You can have multiple preferences files, and there is a selector at the top of the preferences window to allow you to flip between them. They are stored in a directory called .reprap in your home directory. Any file in that directory with a name ending in .properties will be treated as a preferences file. The default is reprap.properties.

Print/slice

If you have loaded STL files or an RFO file this causes them to be sliced layer by layer and converted to a G Code file, which is saved. If you have loaded a GCode file from the computer's disc or the RepRap machine's SD card, this causes it to be printed on the RepRap machine.

Pause

When the RepRap machine is building something, this causes the machine to pause. The pause doesn't happen instantly as the control signals sent to the machine are held in a short buffer, and the pause button can have no effect until the buffer is exhausted.

The "Pause" button becomes a "Resume" button once the machine has paused.

Stop!

At the moment this does the same as "Pause" above. We are working on getting it to stop the RepRap machine instantly.

Exit

This exits the program.

Progress indicators

At the bottom of the tab are the name of the file being printed, and a set of build-progress indicators. These give an estimate of the time the build will take, when it will end, and a layer count. There is also a progress bar.

The XYZ tab

Xyz.png

The XYZ tab allows you to move your RepRap machine around directly for testing, experimenting, and servicing.

The three numbers down the left are for you to type coordinates in as a target to go to. Selecting "Go" will then cause the RepRap machine to move to that position.

The arrow keys nudge the axes by the distance specified in the "Nudge size" box at the bottom.

The "Home" buttons cause the corresponding axis to drive to its low-value endstop position and to zero its coordinate. There is also a "Home all" button that homes all three axes at once.

The "Sto" buttons store the current coordinate in the field on the right, and the "Rcl" button recalls that coordinate to become the target for a subsequent click of the "Go" button. This is particularly useful if you are in mid-build and have paused the RepRap machine. You can store the position where the machine paused ("Sto all") then move it about to do things like cleaning the extruder. Finally put it back where it paused ("Rcl all" followed by "Go") then resume the build.

The "Axis speeds" are (I hope) self-explanatory. Note that these only control the axis speeds for the buttons in this tab. When you are saving G-Codes or using them to build an object, the software will use the speeds you set in the preferences file, and ignore the values in these boxes.

If you check the "Plot using extruder" box and subsequently click "Go", the machine will plot the line using the selected extruder rather than just moving.

The heated bed controls are on the right. If you have a heated bed on your RepRap these allow you to set its temperature, to monitor it, and to turn it on and off. The temperature monitoring function only works when you are controlling the machine interactively. When you are printing a G-Code file the temperature is not updated (because the system would have to interleave temperature requests into the stream of G-Codes that it is sending to the machine from the file, which would slow it down).

Note that the target temperature that initially appears in this box is the default one for the bed (defined in the preferences file), and that changing the value in this box does not change the default; also, that default is what will be used for builds (as with speeds above). To change the default, select "Preferences" in the "Print" tab.

The Extruder tabs

Extrude.png

The extruder tabs allow you direct control over the RepRap machine's extruders. It is important to note that while different Extruder configurations may refer to different physical extruders, by default the standard extruder configurations refer to different modes of operation or materiel handling for a single extruder, the extruder at address 0. By default Extruder1 provides the configuration for PLA-support and Extruder2 the configuration for PLA-infill. It is important to ensure as you change your Extruder configuration that key values such as ExtrusionSize and ExtrusionHeight are the same for different materiel and extrusion types on the same extruder.

The tabs are divided into three sub-panels:

Temperature

This displays the current temperature of the extruder at the top. This temperature is updated every five seconds or so at all times when the RepRap machine is not transmitting a G-Code file to the machine to build.

The target temperature allows you to set what temperature you want. Note that the temperature that initially appears in this box is the default one for the extruder (defined in the preferences file) and that changing the value in this box does not change the default; also, that default is what will be used for builds (as with speeds above). To change the default, select "Preferences" in the "Print" tab.

Selecting the "Switch heat on" button will turn the extruder's heater on and you should see the temperature start to rise. The same button toggles the heater off. There is a progress bar for the temperature as it increases, and also a coloured panel that goes from blue to red as the extruder passes from a temperature that you can touch to one that you can't...

Selecting the "Ramp" button will cause the extruder's heater to ramp up to the target temperature at a rate set by the "Ramp rate" box. This is useful for such things as curing fire-cement round a newly-constructed extruder by warming it up very slowly.

The temperature monitoring function only works when you are controlling the machine interactively. When you are printing a G-Code file the temperature is not updated (because the system would have to interleave temperature requests into the stream of G-Codes that it is sending to the machine from the file, which would slow it down).

Checking the "Cooling" box will turn the extruder's cooling fan on.

Extrude

Selecting the "Extrude" button will turn on the extruder's feed motor (if it has one) for a few seconds at a rate set by the speed box. The rate will be in millimeters of extrudate per minute. Once again, the initial speed is the one in the preferences file, and it is that preferences value that will be used for any actual build, not any number that you put in this box. The box just controls the speed on the "Extrude" button.

Checking the "Reverse" box causes the motor to turn backwards.

The "Close valve" button toggles the extruder's valve open and closed (if it has a valve).

Maintenance

The home buttons are, I think, self-explanatory. The dump point is the notch out of the build base in the machine designed to allow you to extrude material down it to purge the extruder.

Known Bugs

The software won't read some STL files. This is not a RepRap bug (if it were we would fix it), but a bug in the Java STL file reader. Attempts to read parts in either throw a "String index out of range" exception, or give objects that look like this:

Stl-corrupt.png

Fortunately Alex W at the Kwartzlab Makerspace has a fix. Follow this link.

Video Instructions

Heated beds

Here's a video showing how to build on 4mm window glass. This is the best way we've found to get reliable builds in PLA on a heated bed. It recommends that you clean the glass with nail varnish remover, which is fine. But check the ingredients list on the bottle. Some brands have a small quantity of lanolin or other oil dissolved in - they are useless as they leave a film of oil. Basically you want acetone, maybe a small amount of water, (plus - you'll usually find - a trace of bitrex, which stops people drinking the stuff).

<videoflash type="vimeo">17064268</videoflash>

This video shows how to maintain flatness in a RepRap bed that is heated if you build on an aluminium sheet. The blue tape on the tray is Scotch painter's masking tape 2090, which can be obtained at most hardware shops:

<videoflash type="vimeo">14317374</videoflash>

Unloading and setting up

Here's a video showing how to unload a print that has been made, and then set things up for a new one (including mildly amusing Adrian-confusion when the USB port lock has not been cleared). This is for a RepRap with an unheated bed:

<videoflash type="vimeo">11618621</videoflash>

Tidying raw parts

This video shows how to tidy up parts post-reprapping:

<videoflash type="vimeo">14492980</videoflash>

Something this video should mention, but doesn't, is that you need to pay particular attention to cleaning gear teeth if you want the gears to run smoothly.

Alternatives

There are alternative ways to run your RepRap than the one described on this page. Most notably these are the Skeinforge program, which is a tool chain that takes 3D objects and turns them into GCode files for sending to a RepRap, and ReplicatorG, which is a program for taking GCode files and printing the objects they represent on a RepRap machine.

For minimalist transmission of Gcode files to a RepRap using Linux/Unix machines from the command line, there are gcdump, and gcgen to create Gcode commands for simple RepRap control. These are available as C source or pre-compiled binaries and work well on the OLPC.





The Driver Software is a user interface to the RepRap machine.


Also see Printrun for an alternative.

Alternatives

This page describes the Java software that controls a RepRap machine from the host computer to which it is connected. But there are alternative ways to run your RepRap. Most notably these are the Skeinforge program, which is a tool chain that takes 3D objects and turns them into GCode files for sending to a RepRap, and ReplicatorG, which is a program for taking GCode files and printing the objects they represent on a RepRap machine.

For minimalist transmission of Gcode files to a RepRap using Linux/Unix machines from the command line, Ralith has created gcdump and gcgen to create Gcode commands for simple RepRap control. These are available as C source or pre-compiled binaries and work well on the OLPC.

Software Installation

See Installing RepRap on your computer for installation information.

Overview

DriverSoftware-start-windows.png

When you run the RepRap Java software it opens these two windows. The one on the left is a console that allows you to set up objects to be printed, to print them, and also to control the RepRap machine interactively. The one on the right is a plan view of the base of the machine onto which you can load STL files of the parts that you want to make, and then position them where you want the machine to make them.

You can make parts from two types of files: STL files, and pre-computed GCode files. The program can also take STL files and turn them into GCode files for replaying later. This latter option is the preferred way of making things, as it produces the best quality results.




Creating GCode files from STL files

DriverSoftware-material-select.png

Typically you start by clicking on the blue "Load STL" button. This will put up a file-selector window, which you can use to find and select the STL file that represents the object that you want to build.

The object will be loaded at the origin (bottom left). You will have to select the material that the object is to be made from (even if you only have one type of material in your RepRap machine...)

You can rotate the view of the RepRap machine's base in the right-hand window with the left mouse button. Dragging with the middle button zooms the view, and the right button slides it sideways or up and down.



DriverSoftware-move-to-build-position.png

Normally you will not want to build the part right at the origin. If you point at the part with the mouse and left-click, it will change colour, indicating that it has been selected. You can then slide it about the base with the right mouse button to the position you want to build it in. The grid squares on the green base have 20 mm sides. You can rotate the selected object in 90o clicks about the X and Y coordinate axes by <ctrl> X, <ctrl> Y; <ctrl> Z rotates in 45o increments around Z. The last is to allow you to align an object at 45o and set up the infill (see even hatch direction and odd hatch direction) to cross hatch in the X and Y directions. This produces the same result as aligning the object with the coordinate axes, but reduces the energy used by the RepRap machine (most of the time, only one axis is being driven, rather than both). It also runs quieter. If your STL file was in inches you can scale the selected object to millimeters by multiplying by 25.4 with <ctrl> I. To delete the selected object type <ctrl> W.

To release the selected object, left-mouse-click on any other part of the green base. You will then be able to use the mouse to zoom, rotate and slide everything as one again.

You can load several STL files to build at once, either of different objects, or multiple copies of the same object. Just click on the blue "Load STL" button again, then position them in different places. Leave a gap of about 5mm between different objects to be built.



DriverSoftware-layer-pause-path-display.png

When you are happy with the layout, select the "Send GCodes to file" option, and then select "Print". This will put up another file-selector window to allow you to specify the GCode file that you want to save the results in. Terminate the file name with ".gcode".

If you wish, before selecting "Print" you can select "Display paths". This will open a small graphics window (bottom left here) that will show the paths that the machine will follow to make each Z-slice of the objects being printed.

You can also select "Pause at end of layer". This pauses the generation of output at the end of each layer to allow you to inspect the slice pattern. Continue/Cancel buttons will be displayed as each layer is about to be written to allow you to continue or to cancel the whole process.

When the GCode file has been written, exit the program with the "Exit" button.

To print your GCode file that you just generated on the actual machine, see the next section.


The control console tabs

The Print tab

DriverSoftware-print-tab.png

Here is a list of all the buttons and options on the "Print" tab, and what they do.

Load STL

This lets you select STL files to load onto the RepRap's base for printing, as described above.

Load GCode

If you have created a GCode file (as above, or from elsewhere) this allows you to load it for actual printing on the machine. You will be shown a file selector window to choose your GCode file. You will also have to select "Print on GCode RepRap" (see below). When you have specified these, just hit "Print".

Load RFO and Save RFO

These are greyed-out and not functioning at the moment. But shortly they will allow the loading, printing, and saving of multiple-material objects all in one go. See this link.

Print on SNAP RepRap

Earlier RepRap controllers (PIC and Arduino) used the SNAP protocol rather than GCodes for communication. Selecting this option allows you to print STL files on one of these machines. At the moment, you can't send GCodes to them, but we will add that.

After you have selected this option, the software will need to reconfigure itself, so quit the program ("Exit" button), then re-run it. You will have to do the same if you move back from a SNAP RepRap to a GCode RepRap.


Print on GCode RepRap

Select this to actually send GCode commands to the machine. These can come from a pre-computed GCode file, or can be computed directly from loaded STL files. The latter option is useful for quick prints of simple objects, but it is subject to delays, as the software computes the patterns to print on the fly. These delays can give a lower-quality print.

Send GCodes to file

This instructs the software to generate the GCodes that will build any STL files that you have loaded, and save them to a file. When you select this, then select "Print", you will be prompted for the name of the GCode file to save the output in.

Pause at end of layer

Selecting this check-box will cause the software to pause at the end of each layer it makes from loaded STL files, both if it is sending the output directly to the RepRap machine, or if it is writing output to a GCode file. At the start of the next layer a small window is displayed to allow you to instruct the software to continue (you can also cancel the build at such points).

This button has no effect when building an object from a GCode file. This is because there is no way to tell from the contents of such a file where one layer ends and the next begins. But see the "Pause" button below.

Display paths

This opens a small graphics window in which the pattern of each layer is displayed as it is computed. At the moment this only works as STL files are being printed or saved as GCode files. We will shortly add the code to display this information as GCode files are being replayed too.

Preferences

Selecting this will open a tabbed window that will allow you to edit all the many parameters that control the operation of the RepRap machine. These parameters are described here.

Print

If you have loaded STL files or a GCode file, this causes it to be printed on the machine or sent to a GCode file.

Pause

When the RepRap machine is building something, this causes the machine to pause. The pause doesn't happen instantly as the control signals sent to the machine are held in a short buffer, and the pause button can have no effect until the buffer is exhausted.

The "Pause" button becomes a "Resume" button once the machine has paused.

Stop!

At the moment this does the same as "Pause" above. We are working on getting it to stop the RepRap machine instantly.

Exit

This exits the program.

Progress indicators

At the bottom of the tab are the name of the file being printed, and a set of build-progress indicators. These give an estimate of the time the build will take, when it will end, and a layer count. There is also a progress bar.


The XYZ tab

DriverSoftware-cartesian-tab.png

The XYZ tab allows you to move your RepRap machine around directly for testing, experimenting, and servicing.

The three numbers down the left are for you to type coordinates in as a target to go to. Selecting "Go" will then cause the RepRap machine to move to that position.

The arrow keys nudge the axes by the distance specified in the "Nudge size" box at the bottom.

The "Home" buttons cause the corresponding axis to drive to its low-value endstop position and to zero its coordinate. There is also a "Home all" button that homes all three axes at once.

The "Sto" buttons store the current coordinate in the field on the right, and the "Rcl" button recalls that coordinate to become the target for a subsequent click of the "Go" button. This is particularly useful if you are in mid-build and have paused the RepRap machine. You can store the position where the machine paused ("Sto all") then move it about to do things like cleaning the extruder. Finally put it back where it paused ("Rcl all" followed by "Go") then resume the build.

The "Axis speeds" are (I hope) self-explanatory. Note that these only control the axis speeds for the buttons in this tab. When you are building an object, the software will use the speeds you set in the preferences file, and ignore the values in these boxes.

If you check the "Plot using extruder" box and subsequently click "Go", the machine will plot the line using the selected extruder rather than just moving.


The Extruder tabs

DriverSoftware-extruder-tab.png

The extruder tabs allow you direct control over the RepRap machine's extruders. ("Feedstock remaining" isn't implemented yet.) The tabs are divided into three sub-panels:

Temperature

This displays the current temperature of the extruder at the top. This temperature is updated every five seconds or so at all times when the RepRap machine is not running a build.

The target temperature allows you to set what temperature you want. Note that the temperature that initially appears in this box is the default one for the extruder (defined in the preferences file) and that changing the value in this box does not change the default; also, that default is what will be used for builds. To change the default, select "Preferences" in the "Print" tab.

Selecting the "Switch heat on" button will turn the extruder's heater on and you should see the temperature start to rise. The same button toggles the heater off. There is a progress bar for the temperature as it increases, and also a coloured panel that goes from blue to red as the extruder passes from a temperature that you can touch to one that you can't...

Selecting the "Ramp" button will cause the extruder's heater to ramp up to the target temperature at a rate set by the "Ramp rate" box. This is useful for such things as curing fire-cement round a newly-constructed extruder by warming it up very slowly.

Checking the "Cooling" box will turn the extruder's cooling fan on.

Extrude

Selecting the "Extrude" button will turn on the extruder's feed motor (if it has one) at a rate set by the speed box. For the latest extruder designs (see here) the rate will be in millimeters of extrudate per minute. For older designs this figure sets the PWM drive to the motor and should have a value between 0 and 255. Once again, the initial speed is the one in the preferences file, and it is that preferences value that will be used for any actual build, not any number that you put in this box. The box just controls the speed on the "Extrude" button.

Selecting the Extrude button when the extrude motor is on toggles the motor off. Checking the "Reverse" box causes the motor to turn backwards.

If you are running the new 4-dimensional RepRap code (see this blog entry for an explanation) then the machine has no idea of switching the extruder "on" or "off". It just knows that it has to extrude a given length at a given speed. In this case, selecting the "Extrude" button will cause the machine to extrude a length equal to 5-seconds x the-extrude-rate-in-the-speed-box.

The "Close valve" button toggles the extruder's valve open and closed (if it has a valve).


Maintenance

These buttons are, I think, self-explanatory.



Installation

This page has been flagged as containing duplicate material. An editor has suggested merging this page or section into Installing RepRap on your computer. (Discuss)

If you are upgrading your installation of the host software from a version that required you to install Java3D and RXTX, then see the Old to New Java Upgrade page.

You will need a working Java 1.5.0 or later Java Run-time Environment (JRE) to run the RepRap host software. See

  [[1]]
  

for Java downloads and other information.

Once you've installed Java, get the ZIP file for the latest RepRap host software release from

       http://sourceforge.net/project/showfiles.php?group_id=159590&package_id=179179

The file you want will be called reprap-host-xxxxx-dddddddd.zip, where xxxxx is one of linux, windows, or mac and dddddddd is the date of the release in the form 20081218.

Linux 32-bit

Unpack the ZIP file anywhere you like on your system. It will create a directory called reprap-host-linux-dddddddd where dddddddd is the date of the release. To run the software cd to that directory and run the shell script called reprap.

If you have superuser privileges and want to be able to run the RepRap software from anywhere on your system, or to add it to your desktop as a clickable executable, put the following shell script in /usr/local/bin on your system. Call it reprap (as the two repraps are in different directories the coincident names shouldn't matter):

#!/bin/sh
cd /aa/bb/cc/reprap-host-linux-dddddddd
./reprap

where /aa/bb/cc/reprap-host-linux-dddddddd is the absolute path to the directory that the ZIP file created. Then change the permissions to make the file executable:

chmod 755 reprap

In the reprap-host-linux-dddddddd directory there is a file called reprap-icon.png that you can use as an icon for a launch button to run the RepRap host software if you wish.

Linux 64-bit

Windows

You will need administrator privileges to do most of this.

Create a new folder:

C:\Program Files\Reprap

Unpack the ZIP file anywhere you like on your system. It will create a folder called reprap-host-windows-dddddddd where dddddddd is the date of the release. Copy all the files in that folder to C:\Program Files\Reprap.

In C:\Program Files\Reprap there is a .BAT file called reprap.bat. Running that will launch the RepRap host software. You can copy that .BAT file to your desktop or elsewhere to give you a clickable executable.


Mac

OSX Snow Leopard (10.6) download the latest release. Then just download http://iharder.sourceforge.net/current/java/librxtxSerial.jnilib into the main folder keeping the .jnilib extension. make sure you have java installed

Here is another method if you want to compile it from the source files. Use the Terminal application. Works on (10.6)

  • cd host
  • ./host-package-release
  • cd release/reprap-mendel-20100620 (you will have to change this directory to your release number)
  • ./reprap
  • In the host software go to Preferences -> Port(name): /dev/your port here!

Then, you need to exit and restart ./reprap

Problem solving:

  • If it doesn't run, make sure you have a directory called "/var/lock". You can create this directory by opening a terminal and typing: "sudo mkdir /var/lock"

Source code

If you want to access the latest development version of the RepRap host software, or you want to look at and to play with the source code go to this page.


Useful software

There is a page here that gives links to software packages (like computer-aided design - CAD - programs) that are not part of the RepRap project, but that are useful for it.

Firmware

To see how to install or upgrade the firmware in RepRap's microcontroller see this page.