I don’t have much experience with G-code, but I own a printer that performs exceptionally well in Ludicrous mode. The printer’s speed can only be adjusted manually. I typically use an HF hotend, regardless of the filament type.
For most of my prints, I start in standard mode for the first four layers to ensure that the model adheres to the build plate and that there are no immediate issues. After that, I switch to Ludicrous mode and usually leave the room, keeping an eye on the print remotely. I have almost zero failed prints; when they do fail, it’s usually due to problems with the model or the filament, not the printing method.
The only drawback of my current method is that I have to wait until the fourth layer is printed before I can manually adjust the speed. I know this has been discussed before, but I haven’t seen a clear use case like mine.
I consistently follow this workflow and find it frustrating to waste time waiting, especially depending on how much is on the build plate. I’m convinced that Babu Lab printers have a special G-code command that can be sent to switch to Ludicrous mode at the fourth layer.
Even if I have to edit G-code manually, it would be a significant improvement over my current process. While I know very little about G-code, I’m a programmer by trade, so I believe I can manage.
I have not tried this myself, but according to several sources*, the magic g-code command is, or might be, M220 S[percent] where [percent] is literally the percentage of normal print speed (which would be 100). So the preset equivalents would be:
Silent (50% speed):M220 S50
Standard (100%):M220 S100
Sport (125%):M220 S125
Ludicrous (166%):M220 S166
From what I understand one isn’t limited to those presets/percentages specifically.
In theory one could insert this as custom code at a particular layer. However there are also some search results suggesting this “doesn’t work” or folks still searching for a solution for some reason. You don’t mention the printer model, but in any case it would be interesting to know if it works for you.
Studio controls this via a MQTT message/command (where one can set the speed from the device status monitor page, under the fan speed control and to left of the “Lamp” button). Seems to require just 3 fields:
So, again in theory, this could potentially be automated somehow. Though from what I understand remote MQTT access will require the printer to be in LAN mode and possibly with the “Developer” feature enabled.
Turn your train of thought around, and you’ll be able to solve this easily:
Keep Ludicrous Mode on at all times - always, constantly. But in the slicer, create a modifier cube for the first few layers that slows down your printer. You can then copy and paste that modifier cube over and over again for every project.
Sure, you can do that with G-code, etc. but it’s actually safer and easier to use Modifier Cubes.
Ludicrous Mode is 166% speed. You just have to take that into account when setting your modifier cube. For example: 50 mm/s becomes (50 × 1.66) 83 mm/s. If you want a true 50 mm/s, you need to enter the following: (50 : 166 x 100) 30 mm/s.
This way, you can keep Ludicrous Mode on at all times, but your first layers will be slowed down.
All in all, I’d recommend that you just try the modifier cubes first - that’s what they’re there for, and they’re actually the right solution to your problem. If things don’t turn out as you’d hoped, you can always adjust the G-code later.