Mendel User Manual: Host Software

From RepRap
Revision as of 12:52, 20 February 2010 by Adrianbowyer (talk | contribs) (Loading parts then saving them as G-Codes)
Jump to: navigation, search
Opening.png

Introduction

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.

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.

Loading parts then saving them as G-Codes

Load-object.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). A pop-up window (shown) will appear for you to select how many copies of the part 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.


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

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.

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.

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.

Printing things made from more than one material

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

print

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

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

Print on GCode RepRap

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.

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

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

cartesian

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

extruder

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.



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.