March 3, 2023
Description
A giant Ace of Spades! A fun novelty you can put on display or hang on the wall.
This was printed using CHEP's Z-hop Inlay technique. Print the Black Inlay first, with no brim or skirt. It's .4mm high, so this will be two layers when printed with a 0.2mm layer height. After the first print finishes, print the second file, the White Card. Enable Z-Hop and set the height to be at least a little more than the height of the first print. In this case 0.5mm or higher. When centered, both STL files should center in your slicer. If you want to be extra sure, use the 3mf file, which has both models together. Delete one model, generate gcode for one, then do the same for the other model.
When slicing the card, I recommend slicing the white card with a skirt, just make sure it will fit inside your build pate. It's not necessary, but after a filament change, the extra purge is good to have. You will have to remove the purge line from the black inlay before printing the white card.
If you use z-end stops for homing, then you should be able to just print the two files back to back like normal.
Since this is a large print, about 200mm on the longest edge, you won't be able to to auto-home in between prints if you have a bed leveling probe. Instead, you will have to combine the GCode generated from both STL files and will require that your firmware has Advanced Pause features enabled so you can use an M600 filament change. Follow the steps below:
Editing the GCode:
Generate the GCode for both models like normal.
Open the GCode for the Black Inlay in a text editor like Notepad++. Go ALL the way to the end of the document and delete all of the GCode after the final layer is printed. Every slicer is little different, so it may require some investigation. In Cura, delete everything after the last comment that says:
;TIME_ELAPSED:
In Prusa Slicer, delete everything after the last comment that says:
;stop printing object
You're trying to remove any of the ending GCode which would tell the printer to turn off the Hot End or turn off the Bed Temperature. Some codes to look out for:
You'll want to delete any of those commands at the end of the file (and everything after) otherwise it will essentially reset the printer, which we don't want. We want the stepper motors to stay engaged so the printer knows where it is in space, and we want the bed to stay heated so the print doesn't pop off the build plate.
Once you've deleted the ending GCode, we need to add our filament change routine. Add the following code:
;Change Filament
M600 E30.00 U300.00 X0.00 Y0.00Feel free to edit this GCode the way you want. I'm not a GCode wizard, so there may even be a way to do this without using M600, but I'm not aware of how to do it.
After the filament change, we want to reset the Hot End and Bed temps, just in case they've been turned off by the filament change routine or some GCode we missed. Add the following code:
M140 S60 ;Set Bed Temperature
M105
M190 S60 ;Wait for Bed Temperature
M104 S200 ;Set Hot End Temperature
M105
M109 S200 ;Wait for Hot End TemperatureWhere the code says S60 and S200, change these to your bed temp and hot end temp for your filament.
Next, open the GCode for the White Card in your text editor. This time, we're going to delete all of the starting GCode. Again, this will be different for every slicer, but as far as I can tell you can delete everything starting with the home command G28 and before. If have any bed leveling code enabled, delete that as well. In my case, everything from M420 and before. We don't want to auto home the printer, nor do we want to re-enable bed leveling. The first line of GCode should likely start with a G1 command. This will include your pre-print purge line, so make sure you remove the purge line from the black inlay before finishing your filament change routine.
Once all of the starting code is deleted, copy all of the code and paste it at the end of the file for the black inlay. Save the GCode as a new file, something like, “Ace Full.gcode” so you know it will print both models.
Here's a sample of my gcode at the end of the first model and the start of the next. The code starts with the last movement from the last layer of the inlay:
G1 F1350 X176.918 Y202.09 E781.7259
;TIME_ELAPSED:1836.434396
G1 F1500 E776.2259
;This was included in the original ending gcode. This seems to wipe the nozzle to prevent stringing. You should probably include this.
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positioning
;Change Filament
M600 E30.00 U300.00 X0.00 Y0.00
;Draw Ace White
;Update Hotend temp
M140 S60
M105
M190 S60
M104 S210
M105
M109 S210
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
G92 E0
G92 E0
G1 F2400 E-6
;LAYER_COUNT:12
;LAYER:0
M107
G1 F300 Z0.8I've included my sample gcode as a .txt file since Printables doesn't like that my GCode has an M420 S1 command in to enable bed leveling. I also don't recommend printing with it, but if you want to try, change the extension to .gcode. It was sliced for an Ender 3 Pro with a CR-Touch. The black filament prints at 200C and the white filament prints at 210C. Print with it at your own risk.
Now you're all set to print! Just remember to remove the purge line before you complete your filament change! Load your printer with black filament, start the print, wait for the inlay to complete and the filament change routine to begin. Remove the black purge line, load your white filament, and continue the print. Good luck!
License:
Creative Commons — Attribution — Noncommercial — Share Alike