Skip to content

HellAholic/CuraAutoSlicerPlugin

Repository files navigation

Auto Slicer Plugin for Cura

Version: 1.7.0
Author: HellAholic
Compatible with: Cura 5.10.0+

Overview

The Auto Slicer Plugin is a powerful Cura extension that automates the batch processing of 3D model files. It allows you to slice multiple STL and 3MF files with different quality profiles, automatically saving the output files with timestamps and comprehensive logging.

Key Features

  • ๐Ÿš€ Batch Processing: Process multiple files with different quality profiles in one operation
  • ๐Ÿ“ Multiple Format Support: STL and 3MF files supported
  • ๐ŸŽฏ Individual Profile Assignment: Assign different quality profiles to each file
  • โšก Smart Timeout Management: Configurable timeout (30-3600 seconds) with automatic skip on timeout
  • ๐Ÿ” Real-Time Validation: Material-variant compatibility checking with visual indicators
  • ๐Ÿ“Š Progress Tracking: Real-time progress updates and detailed logging
  • ๐Ÿ’พ Automatic File Management: Organized output with timestamp naming convention
  • ๐Ÿ“ CSV Logging: Complete processing history with detailed error reporting

Quick Start

  1. Configure Folders: Set your source folder (containing STL/3MF files) and destination folder
  2. Select Files: Click "Select Files to Process..." to choose specific files and assign quality profiles
  3. Check Printer Status: Verify your printer configuration shows green (valid) status
  4. Start Processing: Click "Start Auto Slicing" and monitor progress in real-time

User Interface Guide

๐Ÿ“ Configuration Section

Source Folder

  • Purpose: Select the folder containing your 3D model files
  • Supported Formats:
    • STL files (.stl): Standard triangle mesh format
    • 3MF files (.3mf): Microsoft 3D Manufacturing Format with embedded settings
  • Important Notes:
    • Files must be directly in the selected folder (not in subfolders)
    • Large files (>100MB) may take longer to process
    • Ensure files are not corrupted or locked by other applications

Destination Folder

  • Purpose: Where sliced output files will be saved
  • Output Formats:
    • UFP files: Ultimaker Format Package (for Ultimaker printers)
    • G-code files: Uncompressed G-code format (for most other printers)
  • File Naming: [OriginalName]_[YYYYMMDD_HH_MM].[extension]
  • Example: "dragon.stl" becomes "dragon_20250801_14_30.ufp"

Max Files to Process

  • Settings: 0 (no limit) to 1000 files
  • Recommendations:
    • First-time users: Start with 2-3 files
    • Large batches: Consider system resources and available time
    • Testing profiles: Use 1-2 files when trying new settings

Slice Timeout (30-3600 seconds)

  • Default: 300 seconds (5 minutes)
  • Behavior: Files taking longer than this time are automatically skipped
  • Recommended Settings:
    • Small/simple models: 60-180 seconds
    • Medium complexity: 300-600 seconds
    • Large/complex models: 900-1800 seconds
    • Very complex models: 1800-3600 seconds (maximum)

๐Ÿ“‹ File Selection Section

Advanced File Selection Dialog

  • File Table: Individual file selection with checkboxes
  • Quality Profile Assignment: Assign specific profiles to each file
  • Quick Actions:
    • Select All/None: Bulk selection controls
    • Update Profiles: Refresh quality profiles from current Cura settings

Quality Profile Features

  • Profile Organization: Grouped by Intent Category (Visual, Engineering, Quick)
  • Profile Types:
    • Machine Profiles: Built-in Cura profiles
    • User-Defined Profiles (*): Custom profiles marked with asterisk
  • Smart Features:
    • Automatic suggestion of currently active profile
    • Remembers previous selections
    • Compatibility filtering based on current nozzle and material

๐Ÿ–จ๏ธ Printer Information Section

Real-Time Status Monitoring

  • Printer Name: Currently selected printer model
  • Extruder Information: Position, nozzle size, material, and status for each extruder
  • Status Indicators:
    • ๐ŸŸข Green: Valid configuration
    • ๐ŸŸก Yellow: Warning - compatibility issues
    • ๐ŸŸ  Orange: Disabled or inactive
    • ๐Ÿ”ด Red: Error condition requiring attention

Material-Variant Compatibility Validation

  • Real-Time Monitoring: Updates automatically when changing materials/variants
  • Cura Integration: Uses Cura's built-in validation system
  • Visual Indicators:
    • โš ๏ธ Warning Icon: Compatibility warnings
    • โŒ Error Icon: Critical configuration errors
  • Detailed Tooltips: Hover for specific compatibility issues

๐ŸŽฎ Control Section

Start Auto Slicing

Processing Pipeline (per file):

  1. Quality Profile Switch
  2. Build Plate Clear
  3. Model Loading
  4. Positioning (auto-arrange or UCP for 3MF)
  5. Slicing with current profile settings
  6. Output Save with timestamp
  7. File Management (move original to "sliced" subfolder)
  8. CSV Logging

Skip Current File

  • Skip the currently processing file and continue with next
  • Useful for files taking unusually long or having issues
  • File marked as "skipped" in log, remains in source folder

Stop Processing

  • Immediately halt entire batch operation
  • Completes current file if possible
  • Restores original Cura settings
  • Provides final processing summary

๐Ÿ“Š Progress & Logging

Progress Tracking

  • Progress Bar: Visual completion percentage
  • Status Messages: Real-time processing updates
  • Common Statuses: "Ready", "Discovering files...", "Processing [filename]", etc.

Processing Log

  • Real-Time Information: Start/stop notifications, file status, success/error messages
  • Features: Auto-scroll, color coding (errors in red), clear logs button
  • Error Types: File loading failures, slicing errors, disk space issues, timeouts

Output Files

Generated Files

  • Sliced Files: [name]_[timestamp].[format] - Ready for printing
  • CSV Log: auto_slicer_progress.csv - Complete processing record

CSV Log Contents

  • filename: Original file name
  • source_path: Full path to original file
  • ufp_path: Full path to output file
  • status: "completed", "failed", or "skipped"
  • timestamp: When processing occurred
  • error_message: Details for failed files

File Organization After Processing

Source Folder Structure:

Source Folder/
โ”œโ”€โ”€ remaining_unprocessed_files.stl
โ””โ”€โ”€ sliced/ (automatically created)
    โ”œโ”€โ”€ successfully_processed_file1.stl
    โ””โ”€โ”€ successfully_processed_file2.3mf

Destination Folder Structure:

Destination Folder/
โ”œโ”€โ”€ file1_20250801_14_30.ufp
โ”œโ”€โ”€ file2_20250801_14_35.gcode
โ””โ”€โ”€ auto_slicer_progress.csv

Best Practices & Tips

Getting Started

  • โœ… Start Small: Test with 2-3 files before large batches
  • โœ… Test Profiles: Verify quality settings work with sample files
  • โœ… Check Validation: Ensure green (valid) status before starting
  • โœ… Resolve Warnings: Address yellow indicators for optimal results
  • โœ… Check Disk Space: Ensure adequate storage before large batches
  • โœ… Backup Originals: Keep copies of important files elsewhere

Validation Best Practices

  • ๐Ÿ‘€ Monitor Status: Watch for validation icons (โš ๏ธ โŒ)
  • ๐Ÿ”ด Fix Errors First: Resolve red indicators before batch processing
  • ๐ŸŸก Investigate Warnings: May work but could affect print quality
  • ๐Ÿ’ก Use Tooltips: Hover over validation icons for details
  • ๐Ÿ”„ Real-Time Updates: Status updates when changing materials

Optimization Tips

  • ๐Ÿ–ฅ๏ธ Close Unnecessary Apps: Free up system resources
  • ๐Ÿ“ Use Consistent File Types: Avoid mixing formats
  • ๐Ÿ‘๏ธ Monitor First Few Files: Catch issues early
  • ๐Ÿ“Š Organize by Complexity: Group similar models for better timeout estimates

Performance Considerations

  • ๐Ÿ’พ Memory Usage: Large models require more RAM
  • ๐Ÿ”ฅ CPU Load: Slicing is CPU-intensive
  • ๐Ÿ’ฟ Disk I/O: Use fast storage for source and destination
  • โš–๏ธ Batch Size: Balance efficiency with system stability

Troubleshooting

Common Issues & Solutions

File Processing Errors

  • "Failed to load model file": Check file corruption, format support, access permissions
  • "Failed to slice model": Verify geometry validity, memory availability, settings compatibility
  • "Failed to save output file": Check disk space, permissions, destination folder access
  • "Slicing timeout": Increase timeout value for complex models

Validation Issues

  • "Material not supported": Switch to compatible material or different variant
  • "Variant not supported": Use different nozzle variant or update material
  • "Material incompatible": Check Cura's material-variant compatibility matrix
  • Persistent errors: Restart Cura to refresh validation state

General Troubleshooting

  • ๐Ÿ“‹ Check Error Logs: Review detailed error information
  • ๐Ÿ“Š Review CSV File: Complete processing history with timestamps
  • โœ… Verify File Integrity: Ensure source files aren't corrupted
  • ๐Ÿงช Test Individual Files: Process problematic files manually first
  • ๐Ÿ”„ Refresh Profiles: Use "Update Profiles" button after changing settings
  • ๐Ÿ” Validation Issues: Check printer information section for warnings

System Requirements

  • Cura Version: 5.10.0 or later
  • Supported SDK: 8.9.0
  • Operating System: Windows, macOS, Linux (wherever Cura runs)
  • Disk Space: At least 100MB free in destination folder
  • Memory: Adequate RAM for large model processing

Support

For issues, feature requests, or contributions:

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

Key points about AGPL-3.0:

  • โœ… Free to use: Use the plugin for any purpose
  • โœ… Modify and distribute: Make changes and share them
  • โœ… Open source requirement: Any modifications must also be open source
  • โš ๏ธ Network copyleft: If you use modified versions on a server, you must provide source code to users

For the complete license text, see the LICENSE file in this repository or visit https://www.gnu.org/licenses/agpl-3.0.html.

About

Automatically slice and save the slice files on the current selected printer and material

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages