Operate 3D printing on reprap with octoprint and slic3r
Generically, 3D printing is a process to realise an object physically from a digital copy. The digital copy of an object, can be created using CAD tools such as autodesk inventor, 123D, tinkercad, Sketchup, Maya, Rhino3D, and many more. The 3D model to be 3D printed usually comes in *.STL, and it needs to be translated to a format where the 3D printer can understand: GCODE (for reprap based 3D printers), X3G (for makerbots). Regardless of the file extension, the 3D printer only understands instructions in the form of X , Y, Z axis movement, and amount of filament to extrude.
So, what is the GCODE consist of? The following is a snippet of GCODE
[CODE]
; generated by Slic3r 1.0.0 on 2014-05-20 at 21:07:43
; layer_height = 0.2
; perimeters = 3
; top_solid_layers = 3
; bottom_solid_layers = 3
; fill_density = 1
; perimeter_speed = 30
; infill_speed = 60
; travel_speed = 130
; nozzle_diameter = 0.35
; filament_diameter = 1.75
; extrusion_multiplier = 1
; perimeters extrusion width = 0.35mm
; infill extrusion width = 0.52mm
; solid infill extrusion width = 0.52mm
; top infill extrusion width = 0.52mm
; support material extrusion width = 0.35mm
; first layer extrusion width = 0.60mm
G21 ; set units to millimeters
[CODE]
; generated by Slic3r 1.0.0 on 2014-05-20 at 21:07:43
; layer_height = 0.2
; perimeters = 3
; top_solid_layers = 3
; bottom_solid_layers = 3
; fill_density = 1
; perimeter_speed = 30
; infill_speed = 60
; travel_speed = 130
; nozzle_diameter = 0.35
; filament_diameter = 1.75
; extrusion_multiplier = 1
; perimeters extrusion width = 0.35mm
; infill extrusion width = 0.52mm
; solid infill extrusion width = 0.52mm
; top infill extrusion width = 0.52mm
; support material extrusion width = 0.35mm
; first layer extrusion width = 0.60mm
G21 ; set units to millimeters
M107
M190 S40 ; wait for bed temperature to be reached
M104 S175 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
M109 S175 ; wait for temperature to be reached
G90 ; use absolute coordinates
G92 E0
M82 ; use absolute distances for extrusion
G1 F1800.000 E-10.00000
G1 Z0.400 F7800.000
G92 E0
G1 X58.780 Y66.400 F7800.000
G1 Z0.200 F7800.000
G1 E10.00000 F1800.000
G1 X59.740 Y65.610 E10.05427 F540.000
G1 X60.840 Y65.020 E10.10876
G1 X62.030 Y64.660 E10.16304
[/CODE]
To create GCODE from STL file, one of the available software is Slic3r http://www.slicer.org/ an open source software. The generic steps to generate GCODE using Slic3r is as follow
- Setup Slic3r on local computer
- Setup configs for 3D printer on Slic3r. I reckon 3D printers suffer from individualism, each of them requires some form of tuning or calibration to achieve the best effect. I have uploaded the configs to my 3D printer here. Just got to file-> load configs
Note: Step 1 & 2 need to be done once only. - Select an *.STL by clicking on the “Add” button
Note: the model in the *STL needs to be position on the platform, otherwise, need to manually position in Slic3r. - There is a default mode in Slic3r, presumably works on most 3D printer. Press on the button “Generate GCODE” to complete this process. For the sake of simplicity, the tabs on Print, Filament, Printer settings can be save/load as config to save the grace
- There will be a popup box asking for the directory to save the GCODE. Observe the path to the directory and click “OK” to complete.
The following steps describe the process of 3D printing using Octoprint with a pre-existing GCODE file.
- With a browser such as Firefox or Safari, browse to the ip address of the octoprint. If this is the first time connecting, the serial port and baudrate need to be set. Otherwise, it will automatically connect.
- Locate the upload button on the lower RHS of the GUI, and press upload.
- Select the corresponding *.GCODE to be printed and then click “OK” to confirm. Wait for the upload to complete.
- Locate the printer button next to the file uploaded and click on it. This will initiate the printing. Once the extruder and heated bed temperature reached the desire temperature, printing will starts by itself.
- Printing related diagnostic data such as time, material and progress can be observed on the LHS
- Clicking on the GCODE viewer tab will yield the visualization of the current line of instruction in GCODE
- Clicking on the controls tab will yield the streaming of the 3D printing process
- All needed now is time for the 3D printing to complete.