Skeinforge for RapMan

The educational technology and digital learning wiki
Jump to navigation Jump to search

<pageby nominor="false" comments="false"/> Disclaimer: Some mission critical stuff may be missing or wrong. I am just learning. Always check the generated g-code too. - Daniel K. Schneider 11 March 2010.

[Updated more or less for version 15 (2010-03-13)]

Introduction

Skeinforge is a tool chain for printing 3D objects with the RapMan and other Fab lab engines. Currently, the only alternative for producing g-code for the RapMan is the commercial rapman basic.

The purpose of this entry is twofold

  • Help beginners use skeinforge
  • Write down the most important parameters and settings for the RapMan V3.1 (as built at TECFA, each Rapman may be a different).

Otherwise / in addition:

  • Click on the ? bottom of the skeinforge screen. This will load an HTML page with lots of pointers into your browser.
  • In particular, read the "official" Skeinforge article on BFB wiki. However, the BFB entries do not correspond to the organization and parameter names of the latest software version at the time of writing (11:11, 11 March 2010 (UTC)).
  • See the links section at the end.

First steps

(1) Make sure that your printer is calibrated as it should

  • Flat print bed
  • You can slide about 5 sheets of paper between the print head and the print bed. If the print head (hot end) is too high, forget it ...

(2) Download the latest version

  • Download: Skeinforge
  • Download: Python (if needed)
  • Unzip skeinforge.zip in some simple directory, e.g. c:\soft\
  • Make a shortcut of the *.py file on your desktop if you like (mouse-right drag under windows)

(3) Then fix all the parameters as described below, at least the temperatures. To not forget to select the right profile (e.g. extrusion/ABS) and to Save All your changes.

(4) To create g-code, click on the "Skeinforge button" (lower left) and select your something.STL file. A file called something_export.gcode will be created. Rename it to something shorter, e.g. some_1.bfb (the RapMan board wants old MS-DOS type of file names and extensions).

Tips:

  • Before printing with the RapMan, heat it up with the tool setup to a high temp (e.g. 248 degrees for ABS), then extrude about 50cm of filament. Then quickly, run the *.bfb (gcode) file. I found printing directly from a cold printer to be problematic...
  • Spring tension is also important. In particular for PLA: “PLA needs a lot more pressure then ABS or the feeding will go wrong. When the tensions Is right you will hear a kind of grinding/pulling noise (produced by the filament) that you don’t hear with ABS. It sounds not healthy but it seems to be the only way to keep a solid extrusion going on.” (pieterVL]
  • The most important parameters that beginners should know about are highlighted in yellow in the tables.
  • Do try to understand the decision table below. If you get that you are done with the basics ...

The Interface

Skeinforge is currently in Beta and each of the three Interfaces I have seen over the last month was different :) - Daniel K. Schneider 11:11, 11 March 2010 (UTC)

Here is a screen-dump of the 2010-03-05 version:

Screen capture of Skeinforge 2010-03-05


Some parameters for Craft

  • Click on the "craft" button to define parameters
  • Adjust to the kind of Polymer you are using !! E.g. Colors ABS is different from colorless ABS and hugely different from PLA.

Right now, I somewhat understand color ABS printing, PLA is next on the list, do not trust the PLA values below, it's just copy/past before trying - Daniel K. Schneider 14:19, 11 March 2010 (UTC)

Skeinforge allows you to define profiles for different types of polymer. Make sure that you make changes for ABS to the ABS profile and for PLA to PLA profile etc. Same when you print !!

Carve

  • Defines characteristics of the printer. I left the defaults since they were defined for RapMan.
Parameter Explanation Default My color ABS My PLA Comments
Layer Thickness (mm) The thickness of the layer your printer will deposit. This defines: the thickness of layer Skeinforge will cut your object in and therefore the Z step in generated G-Code 0.4 0.4 0.4 I kept this, but for finer lines this might be lowered a tiny bit. You can vary between 0.35 and 0.45.
Layers From (index) If you don't want to print some starting layers 0 0 0 If you have of a non CAD object, e.g. a *-d scan with stuff hanging down into the neg. Z-axis, use this to start printing "later layers.
Mesh type Correctness of the mesh correct Mesh - - kept this.
Perimeter Width over Thickness (ratio) how thick the perimeter wall will be in relation to the layer thickness. Default value of 1.8 for default thickness of 0.4 states that single filament perimeter wall will be 0.4*1.8=0.72mm thick. This is an important calibration value. You need to be sure that speed of the head and extrusion rate in combination produce walls that are layer thickness * perimeter width over thickness thick 1.8 - 1.5 I kept this, but certainly should explore this a bit more ...

Chamber

Turn off, this is to control bed and chamber temperature. (Now what do they mean by "chamber") ? I know that some people have heatable print beds and working in overheated rooms ....

Clip

Clips the ends of loops to prevent bumps from forming

  • Default: ON
Parameter Explanation Default My color ABS My PLA Comments
Clip over Extrusion Width: Defines the ratio of the amount each end of the loop is clipped over the perimeter width. The total gap will therefore be twice the clip. If the ratio is too high loops will have a gap, if the ratio is too low there will be a bulge at the loop ends. 0.15 0.15
Connect loops When selected, clip will connect nearby loops, combining them into a spiral. on on ?
  • Default: ON

Comb

Moves the extruder around inside holes to prevent stringers in those holes. Comb bends the extruder travel paths around holes in the slices, to avoid stringers. It moves the extruder to the inside of perimeters before turning the extruder on so any start up ooze will be inside the shape.

  • Default: ON
Parameter Explanation Default My color ABS My PLA Comments
Min Departure Distance over Perimeter Width: Ratio of the minimum distance that the extruder will travel and loop before leaving a perimeter. A high value means the extruder will loop many times before leaving, so that the ooze will finish within the perimeter, a low value means the extruder will not loop and the stringers will be thicker. Since it sometimes loops when there's no need, the default is zero. 0 0 10.0
Running Jump Space over Perimeter Width Defines the ratio of the running jump space that is added before going from one island to another to the perimeter width. 0 0 2.0

Cool

Allows to activate the fan on top with the G-Codes M106 and M107 to turn fan on/off.

Default: ON ??

  • For normal ABS turn this OFF
  • Probably needed for most other Polymers, e.g. I have it on for PLA
  • If you print little things, e.g. pillars, legs etc. then consider using this feature also for ABS.

Tip:

  • If you use cool, then edit the g-code file and remove useless temperature changes (there are too many of these). E.g. if you see a repetitive pattern like the following, you can just remove... (at the time of writing, march 11 2010)
 M104 S247.0 
 M104 S245.75 
  • I also sometimes edit the g-code to move the M106 (ventilator on) code after the raft is printed. Else my RapMan will have trouble heating up (holding the hand under the ventilator while it is waiting to print can do also).
  • Also, for PLA without raft, you might copy/paste the g-code the first layer, i.e. run it twice. I found that it often will not stick well. Adding 1-2 "extra shells in base" in the "Fill" section would have a similar effect.
Parameter Explanation Default My color ABS My PLA Comments
Cool Type Either use the default orbiting strategy or slow down Orbit Orbit Orbit
Maximum Cool (Celsius) Will automatically cool after printing layers that are defined below. I.e. If it takes less time to extrude the layer than the minimum layer time, then cool will lower the temperature by the 'Maximum Cool' setting times the layer time over the minimum layer time. 2.0 0 ? 2.0 This can really slow down printing. After printing a layer, fan turns on, print head goes to the corner, cools down, needs heating up again before going back. I think it should be turned off except for precision printing.
Minimum Layer time in seconds Defines minimum time the extruder will spend on a layer. If printed faster, then the print head will orbit around the printed area for X time that takes to really print the layer before it starts printing the layer. This lets layers with smaller area cool before printing on top of them (so you do not overheat the area). 60.0 ? 1.0
Minimum Orbital Radius (mm) allows you to tweak the minimum orbiting radius so if head does not stay too close the the small areas. 10.0 ? 20.0
Turn Fan On at Beginning will turn it on at start ON OFF ON For ABS I turned this off since it wasn't able to heat up properly. For PLA I have to hold my under the ventilator just before it starts printing, else it never will reach 205. Alternative: hand edit the g-code and move down the M 106 a bit.

Dimension

Dimension adds Adrian's extruder distance E value to the gcode movement lines.

  • Default: OFF

Export

Leave as is (export must be activated and comments deleted), but you could change the file extension to *.bfb

Fill

Allows to define how an object should be filled. This is an important parameter section you should adjust to your needs.

  • Default: OFF (put it on for solid objects)
Parameter Explanation Default My color ABS My PLA Comments
- Extra Shells - Shell is the "outline" extrusion. You can set different number for these outlines on alternating layers. The solid layers are layers on the outside of the object.
Extra Shells on Base (layers) Base means the first layer 0 0 1 PLA (in my printer doesn't stick well). Alternatively, print a fat raft.
- Infill section - defines how the inside is done, e.g. how much solidity and fill pattern.
Infill Pattern: Specifies how to fill in empty spaces inside Grid Hexagonal - fill for small ones, hexa for bigger Keep this for ABS, it is so pretty. PLA may not be precise enough this is why people may suggest lines.
Infill solidity The percent of "fill" of the inside of the object. Having this as 1, the object will be 100% full of plastic, with this set to 0.2 only 20% of the inside will be plastic - rest will be empty space. All the outsides are 100% covered so the inside it can be hollow but does need some structure. 0.2 0.2 0.5 More for PLA since we use line.
Solid Surface Thickness Defines the number of solid layers that are at the bottom, top, plateaus and overhang 3 4 (for wide flat objects) 4

Fillet

Purpose: Rounding of corners

  • Default: OFF

Jitter

This tool will change where the layer start - for each layer. As result, you won't see vertical lines.

Increase jitter Over Perimeter with to space it out more. I kept the default.

Flow

Can be found under "Speed" since the Feb 2010 version. The flow script sets the flow rate by writing the M108 gcode.

Jitter

Jitter jitters the loop end position to a different place on each layer to prevent the a ridge from forming.

  • Default: ON

Multiply

Print several objects. This may be problematic. E.g. some skeinforge version may not produce correct g-code. Also, if you have a huge raft, the second base layer may not stick enough to first base layer, because it cooled down. Use higher temperatures ?

Raft

Raft is a script to create a raft, elevate the nozzle and set the temperature for the raft. In addition, there are some parameters for the rest of the object in this group (e.g. standard nozzle height). It is very important to get the raft parameters right.

  • Base is the first layer and that sticks to the print bed
  • Interface are the other raft layers, typically one or two.
  • The temperature settings for the raft are in temperature. Also check these !

Tips:

  • I like fat rafts and higher temperatures. That makes it stick and I still can get if off easily with a knife.
  • When the RapMan is cold, I always move the head to lower right corner (home should be there actually) and extrude about 50cm of filament at high temperatures. (Tool Setup on the board).

Default: ON

  • Activate Raft for ABS !!
  • Raft is not needed for PLA, still keep it ON, but disable base and interface by setting to 0 if you like. I (so far) came to the conclusion that a raft is needed sometimes, e.g. to print a DUPLO compatible block. Raft for PLA should be very fat, since it doesn't stick very well. PLA does not warp very much, but the print head when blocked by little thing during printing may move the object and then you'd have to restart. So make it fat and hot!.
Parameter Explanation Default My color ABS My PLA Comments
- Base - section

Base is the first layer or the Raft. The most important thing to get right, i.e. it must stick to the raft and you still ought be able to get it off.

Base Feed Rate Multiplier Speed of the print head with respect to default speed 1 1 - Slow it down a bit or set a higher flow (below)
Base Flow Rate Multiplier Defines the base flow rate multiplier. The greater the 'Base Flow Rate Multiplier', the thicker the base, the lower the 'Base Flow Rate Multiplier', the thinner the base. 1.0 1.0 -
Base Infill Density (ratio) This parameter set the ratio of the base layer fill. Value of 0.1 means that only 10% of the surface will be "covered" and value of 0.9 means that 90% of the surface will be covered. 0.5 - - I keep that one.
Base Layer Thickness over Layer Thickness This parameter set how much "fatter" the base layer will be compared to normal layer (most important parameter) 2 2.5 2.5 For default RPM (like 250 for 16mm/sec) I like it fatter most of the time, but if your object on top has only small "feet" then you can make it smaller and the other way round, e.g. for a large flat paper clip I'd use maybe 3.0. Moreover, if you print at let's say 550 RPM at speed of 16mm/sec. then a thickness of 2.0 is way enough. I would do this for 2D objects.
Base Nozzle Lift over Base Layer Thickness (ratio) Modifies the nozzle height for base layer 0.4 0.4 0.375 If the raft doesn't stick despite large fills and higher temps., you may lower this a tiny bit (same for Interface layer)
Base Layers (integer) How many base layers to print 1 1 0 You can turn it back on for some PLA objects
- Interface - section

Interface refers to the next layer(s) of the raft. It should stick to both the 1st layer of the raft and the object, but should be removable from the object. Typically, it uses smaller lines (print head goes faster).

Interface Feed Rate Multiplier As above for the additional raft layers 1.0 1.0 1.0
Interface Flow Rate Multiplier As above 1.0 - -
Interface Infill Density (ratio) Second (and third) layers of the raft. 0.5 0.5 0.5 I also keep this
Interface Layer Thickness over Layer Thickness:¦ 1.0 1.5 1.0 I don't make this always larger since it will be difficult to get it off. Also, depending on other parameters, the lines will be "snaky".
Interface Layers (integer) How many additional raft layers to print 2 2 0 Two for ABS since it's easier to take off. One would be good enough for PLA
- Object First Layer - section

First Layer of the object is the first layer of the object

Object First Layer Feed Rate Infill Multiplier (ratio) This parameter will allow you to change the default speed skeinforge will use to print Model First Layer fill pattern. 1.0 1.0 ?
Object First Layer Feed Rate Perimeter Multiplier (ratio) This parameter will allow you to change the default speed skeinforge will use to print Model First Layer perimeter (shell). 1.0 1.0 ? Slow down a bit ?
Object First Layer Flow Rate Multiplier (ratio) This parameter will allow you to change the default extrusion rate skeinforge will use to print Model First Layer. 1.0 1.0 1.1 Probably raise a bit if you use fine filament (smaller than 400 on top)
Operating Nozzle Lift over Layer Thickness (ratio). Way to modify thickness of the "normal layers" (layers of the object). Range that makes sense is 0.4 to 0.6. 0.5 0.5 0.5 I kept this one. If you print really fine lines, than you may lower this and the other way round.
- Raft size - section

Size of raft is a compromise between "big enough" and waste of plastic

Raft Margin (mm) Defines the margin of the raft around the object 3mm 4mm 5mm Making it larger is a waste, but better to cope with slight warping of the corners of the raft.
Raft Additional Margin over Length (%) Adds extra margin for larger objects 1.0 1.5 ?? Large objects need IMHO a larger margin, but consider waste also...

Speed

Speed is a script to set the feed rate (which means head movement speed in mm/s) and flow rate. The resulting thickness of the filament is a combination of the two plus of the temperature.

Parameter Explanation Default My color ABS My PLA Comments
Add Flow Rate Will add g-code On - - If nothing comes out of nozzle check this.
Feed Rate Defines the speed of the print head 16 millimeters/second 14 (sometimes) 16 seems a bit too much for precision work.
Flow Rate Defines the extrusion rate 210 400 380 This may be too little. For a speed of 16mm/sec. I often use 350 or 400. For a flat structure like a paperclip or a DUPLO I may use 550. (Again, the result also depends on Speed)
Max Z Feed Rate (mm/s) The speed of the Z axis (table) 8.0 8.0 ??
Orbital feedrate over Operating feedrate (ratio) Speed of the head when "orbiting" related to "normal speed" 0.5 0.5 0.5 Orbiting means running around doing nothing.
Perimeter Feed Rate over Operating Feed Rate (ratio) Slows the print head down when printing "outsides. Can give a higher build quality on the outside at the expense of slower build speed 1 0.8 1.0 Most of the time
Perimeter Flow Rate over Operating Flow Rate (ratio) Slows down the flow rate when printer "outsides". In principle, this should match the Perimeter Feed Rate above (else lines will be too fat) 1.0 0.8 1.0 I use 0.8 most of the time.
Travail feed rate Defines the speed of the print head when it is off 16 16 ? slow down for figures with lots of little pieces, since the printer will go bang, bang, bang. But you also can speed it up to 32.

Temperature

This is mission critical. If you don't get it right:

  • Raft will not stick
  • Filament will not even come out or burn ....

I think that each parameter should be tuned for high quality printing. For lower quality (and that's what I do right now). I use

  • About 238 for raft and support layers with ABS
  • About 247 for all other with ABS
  • (For now) I use 205 for all PLA settings + ventilation. According to board, this temperature the reads between 199 and 205. 210 would print fine but couldn't do roofs well in Duplo bricks, so I went down.
Parameter Explanation Default My color ABS My PLA Comments
Base Temperature Base temperature, i.e. how it starts printing the first layer of the raft 200 238 205 Default is much too low (ABS in my RapMan likes 238 for the raft...)
Interface Temperature For the second and other layers of the raft. Should be a bit higher than base temp. 200 238 205 I also use 238 since temperature change takes time ...
Object First Layer Infill Temperature Temp. for the fill of the first layer. Should be somewhere in between interface temperature and the following ones (so it won't glue too much) 200 247 205 I use 247 mostly, but should try 243 or something
Object First Layer Perimeter Temperature Outside of first layer. Should be bit higher than the above 220 247 205 I use 247 for ABS, but should try 245
Object Next Layers Temperature All other layers 200 247 205 I use 247 or 248, but should try with less sometimes
Support Layers Temperature Usually a bit lower, since adhesion is not need (nobody can see) it and it may be possible to cover greater distances if I understand right 200 247 205 I use 247 or 248, but should try with less sometimes

More on printer calibration

A decision table

In the Rapman blog (written on 25 September 2009, retrieved 20:59, 11 March 2010 (UTC)) there is an interesting table that shows the theoretical relationship between Head speed, Extrusion Rate and Layer thickness.

Head speed, Extrusion Rate and Layer thickness table

“If you want a layer thickness of 0.35 (first column) at a head speed of 16mm per second (7th column)you would set RPM to 25, the perimeter wall thickness will be 0.63 (13th column) and there will be 2.857143 layers per mm height (14th column)” (David White)

Extrusion Rate and Layer thickness table annotated by D. White

In other words, good combinations for a Layer Thickness of 0.4 (IMHO) might be: (disclaimer: not yet tested enough !)

Feedrate (mm/s) RPM (X10) Layer thickness Comments
8 200 0.45 Good setting IMHO for "small precision objects". Also probably should use the cooling features here !
16 400 0.45 Puts on some squeeze. Good setting IMHO for "normal objects"
16 500 0.5 Puts on more squeeze. Good setting IMHO for objects that should be tighter.

Note: RPMs in skeinforge / g-code are multiplied by 10. E.g. 25RPM is 250.0 in g-code.

Bogdan Kecman script

Technical information

Skeinforge is a collection of scripts plus some utilities plus the GUI interface.

Scripts are located here:

c:/PATH_TO/skeinforge/skeinforge_tools/

When you save a profile, it will put it here:

c:/users/YOUR_NAME/.skeinforge

E.g.

extrusion/ABS/termperature

So you also can edit these tab separated files with an editor, if you prefer that.

Links

Download
Calibration
Settings for various filaments
  • For ABS, the best information probably is ABS (BitsFromBytes Wiki)
  • For PLE, see this forum post and PLA (BFB wiki]
Skeinforge BFB wiki pages (lots)
Currently, most are not in synch with the latest version, i.e. parameters are grouped differently and also may have different names ... - 20:09, 11 March 2010 (UTC)

Copyright and credits

I took most information from three sources: