SealSlicer is a slicer for 3d printing. I started this project because I was unhappy with every slicer I tried. It's called SealSlicer because seals are adorable and I love them.
The goal is to eventually support multiple printing technologies, and MSLA will be the first.
- Fully implemented and operational.
- Provides accurate and efficient rendering of 3D meshes.
- Currently using a basic Physically Based Renderering shader
- Really need to add an orthographic view and a button to change between ortho and perspective
- Status: Working but needs refinement
- Able to slice most objects correctly.
- Generates image data that will be usable by a future g-code/printer file creator and ctb sdk
- Fully multithreaded, will use 100% of each core currently
-
Status: Basic Functionality Implemented.
- Load printer settings from
.toml
files for easy configuration, customization, and sharing.
- Load printer settings from
-
Planned Functionality:
- GUI for creating and editing printer profiles
- Some way to actually select a printer, it is currently hardcoded
-
Status: Basic Functionality Implemented.
- Load user settings from
.toml
files for easy configuration, customization, and sharing.
- Load user settings from
-
Planned Functionality:
- GUI for creating and editing profiles
- Some way to actually select a profile, it is currently hardcoded
- Status: Implemented.
- Slicing is currently blocking the UI while saving the debug images to the drive. 🤷
- Status: Looking Good.
- Actively working on leveraging multithreading to enhance performance wherever beneficial.
- CPU Slicer is able to utilize all cpu resources. It's actually a bit of a hog but really fast. Might need to configure niceness/priority somehow
- Status: Not started.
- Planned Functionality:
- Generate G-code files compatible with MSLA resin printers
- Status: Not started.
- Planned Functionality:
- Visualize G-code and slice images within the application for better inspection and verification before printing.
- Status: Not working
- Needs to be updated to be in line with the way the CPU slicer works. Now that the CPU slicer is mostly working this might come soon
- Status: Not started.
- Planned Functionality:
- Send files for printing directly to printers over the network.
- This might actually not be possible with the current Chitubox SDK.
Trying to ensure robust and reliable functionality through comprehensive testing. Currently focusing on components not involving OpenGL. Testing anything related to OpenGL sounds like a literal nightmare
- 52.24% coverage, 676/1294 lines covered, +3.94% change in coverage
SealSlicer aims to provide a comprehensive and efficient slicing solution for MSLA resin printers with the following objectives:
- Mesh Rendering Engine: Accurate and efficient rendering of 3D meshes.
- CPU-only Slicer: Normal slicing functionality using CPU resources.
- GPU Compute Slicer: Enhanced slicing performance leveraging GPU acceleration.
- Printer Settings Module: Easy configuration through
.toml
files. - G-code/3D Printer File Generator: Direct generation of printer-compatible files.
- G-code/Slice Images Viewer: Visual inspection of slicing results.
- High Responsiveness: Ensuring the UI remains responsive during intensive operations.
- Multithreading: Utilizing multiple threads to optimize performance.
SealSlicer is currently not fleshed out enough for meaningful contributions. Contributions are welcome once the core functionalities are stable and generalized. Stay tuned for updates!
If you're interested in contributing, please follow these guidelines:
- Fork the Repository: Create your own fork of SealSlicer.
- Create a Feature Branch: Branch off from
main
to work on your feature or bug fix. - Commit Your Changes: Ensure your commits are descriptive.
- Open a Pull Request: Submit your changes for review. Please only submit properly formatted code. Use cargo fmt
Feel free to reach out with suggestions or if you're interested in collaborating!
- GPU Slicing: The GPU slicing component is broken currently
- Responsive UI: While the UI is currently responsive, slicing operations block the UI thread. Fixes are planned to resolve this.
- Test Coverage: Focused on ensuring reliability for non-OpenGL components, with ongoing efforts to increase coverage.
- Future Enhancements: Plans include expanding compatibility, and adding user-friendly features like settings management and file visualization.
This project is licensed under the GNU Affero General Public License v3.0.
You are free to run, study, modify, and share this software under the terms of the AGPL-3.0, with the added requirement that if the software is used to interact with users over a network, the source code must be made available to those users.
- You may use, modify, and share this software.
- If you make modifications and provide it over a network the source code must be made available