Archive for July 26th, 2013
That Slic3r configuration presumes a somewhat nonstandard mechanical setup for my M2…
I put the XY coordinate origin in the middle of the platform, so that laying objects out for printing doesn’t require knowing how large the platform will be: as long as the printer is Big Enough, you (well, I) can print without further attention.
The RepRap world puts the XY coordinate origin in the front left corner of the platform, so that the platform size sets the maximum printable coordinates and all printing happens in Quadrant I. This has the (major, to some folks) advantage of using only positive coordinates, while requiring an offset for each different platform.
Yes, depending on which printer software you use, you can (automagically) center objects on your platform; this is often the only way to find objects created with Trimble (formerly Google) Sketchup. I am a huge fan of knowing exactly what’s going to happen before the printing starts, so I position my solid models exactly where I want them, right from the start. For example, this OpenSCAD model of the bike helmet mirror parts laid out for printing:
… exactly matches the plastic on the Thing-O-Matic’s platform, with the XY origin right down the middle of the platform:
It’d print exactly the same, albeit with more space around the edges, on the M2’s platform.
Similarly, the Z axis origin sits exactly on the surface of the platform. That way, the Z axis coordinate equals the actual height of the current thread extrusion in a measurable way: when you set the Z axis to, say, 2.0 mm, you can measure that exact distance between the extruder nozzle and the platform:
Now, admittedly, I fine-tune that distance by measuring the height of the skirt thread around the printed object, but the principle remains: a thread printed on the platform with Z=0.25 should be exactly 0.25 mm thick.
start.gcode file handles all that:
;-- Slic3r Start G-Code for M2 starts -- ; Ed Nisley KE4NZU - 15 April 2013 M140 S[first_layer_bed_temperature] ; start bed heating G90 ; absolute coordinates G21 ; millimeters M83 ; relative extrusion distance M84 ; disable stepper current G4 S3 ; allow Z stage to freefall to the floor G28 X0 ; home X G92 X-95 ; set origin to 0 = center of plate G1 X0 F30000 ; origin = clear clamps on Y G28 Y0 ; home Y G92 Y-127 ; set origin to 0 = center of plate G1 Y-125 F30000 ; set up for prime at front edge G28 Z0 ; home Z G92 Z1.0 ; set origin to measured z offset M190 S[first_layer_bed_temperature] ; wait for bed to finish heating M109 S[first_layer_temperature] ; set extruder temperature and wait G1 Z0.0 F2000 ; plug extruder on plate G1 E10 F300 ; prime to get pressure G1 Z5 F2000 ; rise above blob G1 X5 Y-122 F30000 ; move away from blob G1 Z0.0 F2000 ; dab nozzle to remove outer snot G4 P1 ; pause to clear G1 Z0.5 F2000 ; clear bed for travel ;-- Slic3r Start G-Code ends --
The wipe sequence, down near the bottom, positions the extruder at the front center edge of the glass plate, waits for it to reach the extrusion temperature, then extrudes 10 mm of filament to build up pressure behind the nozzle. The blob generally hangs over the edge of the platform and usually doesn’t follow the nozzle during the next short move and dab to clear the mess:
I’ve also configured Slic3r to extrude at least 25 mm of filament in at least three passes around the object. After that, the extruder pressure has stabilized and the first layer of the object begins properly.
Which brings up another difference: the first layer printed on the platform is exactly like all the others. It’s not smooshed to get better adhesion or overfilled to make the threads stick together:
I print the first layer at 25 mm/s to give the plastic time to bond to the platform and use hairspray to make PLA stick to glass like it’s glued down.
After that, it’s just ordinary 3D printing…