Skip to content
Photon Open Slicer - Command Line Slicer usable as MeshMixer plugin or as standalone
HTML Python Other
Branch: master
Clone or download
Latest commit 842808f Jul 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Con64
STLs
Win64 bugfix with placement of python36.dll Dec 21, 2018
BUILDINFO.txt
GL_Stl2Slices.py
GL_Viewport.py
LICENSE
PhotonFile.py
PhotonFile.pyc
PhotonSlicer.gif Add files via upload Nov 9, 2018
PhotonSlicer.ico
PhotonSlicer.py
README.md
Stl2Slices.py
Stl2Slices.pyc Execute when finished / No error on abort/close progress window Nov 11, 2018
Svg2Slices.py
TestSuite.py
base.frag SVG-conversion, possible filedialogs, GPU slicing Dec 2, 2018
base.vert
compileRLE.py
compileTIS.py Add files via upload Nov 9, 2018
consetup.py
guisetup.py
log.txt Execute when finished / No error on abort/close progress window Nov 11, 2018
mesh.frag
mesh.vert
newfile.photon
profiling.txt
quad.frag
quad.vert
rleEncode.c
rleEncode.cp36-win_amd64.pyd
rleEncode.cp37-win_amd64.pyd Builde compatability for Python 3.6 on Windows 64 bit Nov 10, 2018
rleEncode.cpython-36m-x86_64-linux-gnu.so Execute when finished / No error on abort/close progress window Nov 11, 2018
rleEncode.html
rleEncode.pyx
slice.frag
slice.vert SVG-conversion, possible filedialogs, GPU slicing Dec 2, 2018
test.bat
triInSlice.c
triInSlice.cp36-win_amd64.pyd
triInSlice.cp37-win_amd64.pyd
triInSlice.cpython-36m-x86_64-linux-gnu.so Execute when finished / No error on abort/close progress window Nov 11, 2018
triInSlice.html
triInSlice.pyx

README.md

PhotonSlicer

The PhotonSlicer Converts STL (binary) files to Images or PhotonFile. It is programmed in Python 3 and uses Cython (fast compression / mesh calculations), OpenCV (image drawing routines), numpy (handling large image data) and pyopengl for slicing if possible.


Status

Operational:

  • The included produced photon files have been printed successfully.

Installation

Download the repository. Depending on your setup do one of the following:

  • Windows: 'Win64/' contains the 7Z files for Windows 64-bits returning your slicing progress in a window. Just unpack and run! If you want to have your progress info displayed as plain text, replace PhotonSlicer.exe with the file in Con64/.
    You can test your install with: photonslicer.exe -s STLs\legocog.stl -g True -f False

  • Linux/OSX: For Linux and OSX you have to install python and some libraries (Cython, numpy, opencv-python, PyOpenGL, PyOpenGL-accelerate, Pygame if glut not available). To test it: python3 photonslicer.py -s STLs\legocog.stl -g True -f False

  • Linux & MeshMixer: First make sure you already have Wine installed and use it to run MeshMixer 3.3. You should unpack the 'Win64/' 7Z files from the repository to e.g. 'Program Files'. You can test your it with: wine photonslicer.exe -s STLs\legocog.stl -g True -f False

Setup MeshMixer

  1. Install MeshMixer (Linux users: First install Wine and install MeshMixer in Wine)
  2. Download and unpack the zips in /Win64 (use 7-zip) to a location on your computer e.g. C:/Program Files/PhotonSlicer/
  3. Open MeshMixer
  4. Go to menu File > Preferences (Alt-T)
  5. Go to tab Printers
  6. Choose Add
  7. Fill fields as follows:
    • Manufacturer: 'Anycubic'
    • Model: 'Photon - MC Rapid Clear' or append your own resin brand/type names
    • Width: '65.00'
    • Depth: '115.00'
    • Height: '155.00'
    • Printer software name : 'Photon Slicer'
    • Printer software path : 'C:/Program Files/PhotonSlicer/PhotonSlicer.exe'
    • Format of file to ... : 'STL'
    • Command line arguments: '-g True -f False -e folder -l 0.05 -o 6 -t 8 -be 90 -bl 8 -p "C:/Program Files/PhotonSlicer/STLs/photon" -s'
  8. Close window 'Printer Properties'
  9. Close window 'Preferences'

You can add an extra 'printer' for each resin / settings combo you need.

Use MeshMixer to Slice

  1. Open an STL file, check if fits the build volume and is not below it.
  2. Press 'Print' icon on bottom of left toolbar.
  3. A progress windows appears.
  4. The folder with your photon file opens

If you don't see a progress window and now file is added to 'C:/Program Files/PhotonSlicer/STLs/photon' check 'C:/Program Files/PhotonSlicer/log.txt' for error messages.

YouTube tutorial

Tutorial

MeshMixer Full Workflow

  1. Open an STL file, check if fits the build volume and is not below it.
  2. Hollow in MeshMixer
  3. Infill in MeshMixer
  4. Orientation - Principles using Anycubic Photon Slicer
  5. Supports in MeshMixer
  6. Press 'Print' icon on bottom of left toolbar. A progress windows appears.
  7. The folder with your photon file opens

Functionality under development

  • The main focus will remain speed, although OpenGL slicing made it a lot faster.
  • Since PhotonSlicer was mainly meant as a plugin, mesh editing (hollowing/infill/positioning) will not be developed. Use the functionality of MeshMixer instead!

Command Line Parameters

usage: PhotonSlicer.py [-h] -s FILENAME [-p PHOTONFILENAME]
                       [-r RESCALE]
                       [-l LAYERHEIGHT] [-t EXPOSURE] [-be BOTTOMEXPOSURE]
                       [-bl BOTTOMLAYERS] [-o OFFTIME]
                       [-g GUI] [-f FORCECPU]
                       [-e EXECUTE]

required: stlfilename

examples: PhotonSlicer.exe -s ./STLs/Cube.stl                         -> ./STLs/Cube.photon
          PhotonSlicer.exe -s ./STLs/Cube.svg                         -> ./STLs/Cube.photon
          PhotonSlicer.exe -s ./STLs/Cube.stl -p photon -l 0.05       -> ./STLs/Cube.photon
          PhotonSlicer.exe -s ./STLs/Cube.stl -p /home/photon -l 0.05 -> /home/Cube.photon
          PhotonSlicer.exe -s ./STLs/Cube.stl -p /Sqrs.photon -l 0.05 -> /Sqrs.photon
          PhotonSlicer.exe -s ./STLs/Cube.stl -p images -l 0.05    -> ./STLs/Cube/0001.png,..
          PhotonSlicer.exe -s ./STLs/Cube.stl -p ./sliced/ -l 0.05 -> ./sliced/0001.png,..
          PhotonSlicer.exe -s dialog -p dialog -g True -f False    -> OpenGL is used

optional arguments:
  -h, --help            show this help message and exit
  -s STLFILENAME, --stlfilename STLFILENAME
                        name of (binary) stl file to import
  -p PHOTONFILENAME, --photonfilename PHOTONFILENAME
                        photon file name (ends with '.photon') OR
                        output directory (ends with '/') for images OR
                        'dialog' to select photon file (only in GUI mode) OR
                        'dialogdir' to select dir to save images (only in GUI mode) OR
                        'photon' as argument to generate photon file with same name OR
                        'images' to generate images in directory with same name as stl
                        these can be combined e.g. './subdir/photon'
  -l LAYERHEIGHT, --layerheight LAYERHEIGHT
                        layer height in mm
  -r RESCALE, --rescale RESCALE
                        scales model and offset
  -t EXPOSURE, --exposure EXPOSURE
                        normal exposure time (sec)
  -be BOTTOMEXPOSURE, --bottomexposure BOTTOMEXPOSURE
                        exposure time for bottom layers
  -bl BOTTOMLAYERS, --bottomlayers BOTTOMLAYERS
                        nr of layers with exposure for bottom
  -o OFFTIME, --offtime OFFTIME
                        off time between layers (sec)
  -g GUI, --gui GUI     show progress in popup window
  -f FORCECPU, --forceCPU FORCECPU
                        force slicing with CPU instead of GPU/OpenGL
  -e EXECUTE, --execute EXECUTE
                        execute command when done
                        'photon' will be replace with output filename
                        if argument is 'folder' a file browser will open

Kudos to @mkeeter @fros1y @enov for the inspirational work and permissive license on the Hackaton Slicer

You can’t perform that action at this time.