LOOPRINT (Beta)

Automated multi-loop G-code builder for Bambu Lab P1/P1S. Supports G-code and 3MF files.

⚠️ Setup Required

Looprint supports all file types: G-code files (directly from slicer) and 3MF files. Start and end code are added automatically.

Logic based on Factorian Designs G-code templates. I recommend watching his video about this.

1. Upload File

or drag and drop your G-code or 3MF file here

Upload a G-code file (directly from slicer) or a 3MF file. Start and end code will be added automatically.

2. Loop Configuration
FRONT
BACK
LEFT
RIGHT
Center
Right
Left
Bed Preview & Model Placement

The zone with the green border is the selected push direction.
In advanced mode, you can click any zone to change it after file upload.

Z push offset: 30 mm below top of print

⚠️ Advanced: Incorrect values can cause collisions.

⚠️ Warning: You have changed the push direction from the automatically detected direction. Make sure this matches your model placement.
ℹ️ Auto-detected: Push direction was automatically set based on model placement.

3. Push-off Configuration (Advanced)

Push direction is automatically detected from your file. You can click the zones in the bed preview above to change it manually.
Note: In simple mode, push direction is locked to the auto-detected value. In advanced mode, you can change it but will see a warning if it differs from the auto-detected direction.

Default 18°C (Approx. 23°C on the plate). Wait max 60 min.

Default 30mm below top.

Distance from model center for left/right push lanes. Default 30mm. Auto-adjusted if too large for model placement.

Speed of the push-off motion. Default 300mm/min. Lower = slower, safer for delicate prints.

Sweeps entire bed in 7 passes (safe one-way back-to-front pattern) after push-off to clear any debris. Returns in straight line before shifting to next pass. Default Z: 1mm (bed level), adjustable.

Start G-code

Start code that will be inserted at the beginning of each loop. Variables are replaced with values from your file.

📍Selected Push Direction:
Left
Center
Right
Left Push End G-code

Pushes model from left zone towards front. Z height calculated automatically.

Center Push End G-code

Pushes model from center zone towards front. Z height calculated automatically.

Right Push End G-code

Pushes model from right zone towards front. Z height calculated automatically.

Processing...

Loop File Ready

Your file has been looped into a single file with push-off sequences between each loop.

Source file:

Total loops: 0

Find this tool useful? Support the project and keep Looprint updated:

📖 Looprint Instructions

What is Looprint?

Looprint is an automated multi-loop G-code builder for Bambu Lab P1/P1S printers. It takes your sliced G-code or 3MF file and automatically creates multiple print loops with push-off sequences between each loop, allowing you to print multiple copies of your model automatically.

Logic based on Factorian Designs G-code templates. I recommend watching his video about this.

Supported File Types

  • G-code files - Export from Bambu Studio: File → Export → Export G-Code
    • Supported extensions: .gcode, .gco, .g, .txt
    • Must be printed from SD card (required)
  • 3MF files - Export from Bambu Studio: Dropdown (where "Print Plate" is) → "Export plate sliced file"
    • Supported extension: .3mf
    • Can be sent directly to the printer from Bambu Studio

Start and end code are added automatically for all file types. You don't need any special printer profiles or modifications.

Note: Maximum file size: 150MB

How to Use Looprint

  1. Upload your file
    • For 3MF files:
      1. Slice your model in Bambu Studio
      2. Click the dropdown where you normally click "Print Plate"
      3. Select "Export plate sliced file"
      4. Click "Choose File" or drag and drop the exported 3MF file to Looprint
      5. The file will be validated automatically
      6. After generating: Open the downloaded 3MF file in Bambu Studio and click "Print Plate" (do not slice again)
    • For G-code files:
      1. Slice your model in Bambu Studio
      2. Click "File" in the menu bar
      3. Select "Export" → "Export G-Code"
      4. Click "Choose File" or drag and drop the exported G-code file to Looprint
      5. The file will be validated automatically
      6. After generating: Copy the downloaded G-code file to SD card and print from SD card (required)
  2. Configure loops
    • Set the number of loops (how many times to print your model)
    • Maximum: 1000 loops (recommended maximum: 50 loops to avoid memory issues)
    • The program will automatically detect your model's placement (Left, Center, or Right)
    • You can view the detected placement in the bed preview below
  3. Advanced settings (optional)
    • Click the checkbox "⚙️ Show Advanced Settings" to access push-off configuration
    • Target Bed Temp: Temperature to cool the bed to before push-off starts
      • Default: 18°C (Approx. 23°C on the plate)
      • Range: 15°C - 90°C
      • Wait max 60 min for bed to cool before push-off sequence begins
      • Warning shown if set above 35°C (increases risk of sticking)
    • Z Push Offset: How far below the model top to push
      • Default: 30mm
      • Range: 5mm - 120mm
    • Push Lane Offset: Distance from model center for left/right push lanes
      • Default: 30mm
      • Range: 10mm - 60mm
      • Automatically adjusted if too large for model placement (prevents crashes)
      • Maximum possible offset is shown when auto-adjusted
    • Push Direction: Can be changed manually in advanced mode
      • Click zones in the bed preview to change direction
      • Warning shown if manually changed from auto-detected direction
    • Push-off Speed: Speed of the push-off motion
      • Default: 300 mm/min
      • Range: 100 - 1000 mm/min
      • Lower = slower, safer for delicate prints
    • Full Bed Sweep (optional): Sweeps entire bed after push-off to clear debris
      • Runs 7 passes in safe one-way back-to-front pattern
      • Sweep Speed: Default 300 mm/min (range: 100-1000 mm/min)
      • Sweep Z Height: Default 1mm (bed level, range: 0.5-50mm)
      • Always runs 7 passes with automatic spacing
      • Respects safe bed boundaries to avoid collisions
      • Can be tested separately with "Generate Sweep Test File" button (appears when enabled)
    • Safety confirmation: Checkbox to confirm your model was sliced with Brim and placed at the edge of the bed (required before generating)
  4. Generate and download
    • Click "Generate Loop File" to create the looped file
    • Or click "Generate Test File" (appears after file upload) to test just the push-off sequence
    • Or click "Generate Sweep Test File" (appears when Full Bed Sweep is enabled) to test just the sweep sequence
    • Wait for processing to complete (progress bar shows status)
    • Download your looped file
    • Use "Reset to Defaults" button to reset all settings to defaults

What Looprint Does

When you generate a looped file, Looprint:

  1. Analyzes your file - Detects model placement, dimensions, and print settings
  2. Removes original start/end code - Cleans up the slicer's start and end code
  3. Adds custom start code - Inserts optimized start code with proper temperature settings
  4. Loops the print - Repeats your print G-code for the specified number of loops
  5. Adds push-off sequences - Inserts automated push-off code between each loop to eject the finished print
  6. Adds custom end code - Inserts end code that cools the bed and prepares for the next loop
  7. Preserves all settings - All temperatures, speeds, and other settings from your original file are maintained

Dynamic Multi-Lane Push System

Looprint uses a dynamic push-off system that calculates three push lanes based on your model's position:

  • Center lane: Pushes at the model's center (X = (minX + maxX) / 2)
  • Left lane: Pushes at center - offset (default: 30mm to the left of center)
  • Right lane: Pushes at center + offset (default: 30mm to the right of center)

This ensures stable ejection regardless of your model's shape. The offset is automatically adjusted if it would cause the printer to crash into the bed edges. A warning is displayed if auto-adjustment occurs, showing the maximum possible offset.

Safety Clear: After push-off, the hotend moves to a safe X position to avoid hitting the model on the next loop.

Full Bed Sweep (optional): If enabled, after push-off the hotend performs a full bed sweep in 7 passes (safe one-way back-to-front pattern) to clear any debris. The sweep runs at a low Z height (default 1mm) and respects safe bed boundaries to avoid collisions.

Important Safety Reminders

  • Always test with a simple model first - Verify the push-off sequence works correctly
  • Use Brim - Your model must be sliced with Brim enabled
  • Place model at edge - Position your model at the edge of the bed for proper ejection
  • G-code files: Must be printed from SD card (required)
  • 3MF files: After generating, open the downloaded 3MF file in Bambu Studio and click "Print Plate" (do not slice again)
  • Monitor first print - Watch the first loop to ensure everything works as expected

Tips & Best Practices

  • Start with 2-3 loops to test before doing longer runs
  • Use "Generate Test File" to test push-off sequence only
  • Use "Generate Sweep Test File" (when Full Bed Sweep is enabled) to test sweep sequence only
  • Full Bed Sweep is useful for clearing debris between loops, especially with multiple prints
  • Keep your bed clean and properly leveled
  • Ensure your model has a good first layer adhesion
  • The cooldown temperature (default 18°C) helps the finished print release from the bed so it can be pushed off
  • If prints stick and won't release, try lowering the cooldown temperature slightly
  • If prints release too easily or don't stick enough during printing, you may need to adjust the cooldown temperature

Troubleshooting

  • File won't upload: Ensure it's a valid G-code (.gcode, .gco, .g, .txt) or 3MF (.3mf) file. Maximum file size: 150MB
  • Wrong placement detected: Check that your model is clearly on one side of the bed. You can manually change push direction in advanced settings if needed
  • Push-off doesn't work: Verify Brim is enabled and model is at bed edge. Use "Generate Test File" to test push-off sequence
  • Temperature issues: All temperatures come from your original file - check your slicer settings. Start code automatically extracts and uses correct temperatures
  • File too large: Maximum file size is 150MB. Large files may take longer to process - be patient. Progress bar shows processing status
  • Too many loops warning: If you set more than 100 loops, you'll get a warning. Recommended maximum is 50 loops
  • Push lane offset auto-adjusted: If you see a warning about offset being adjusted, the value was too large for your model placement. Check the displayed maximum value
  • Cooldown temperature warning: If set above 35°C, you'll see a warning about increased sticking risk
  • Settings not saving: Settings are saved to browser localStorage. Clear browser data if you have issues

Need Help?

If you encounter issues or have questions, make sure you've watched the Factorian Designs video about the automation system that Looprint is based on.