3D Printer SLA slicer software for LCD / DLP 3D printers is one of the most important aspects of SLA 3D printing because it affects both quality and success of the prints.
What is the slicing software?
The process which converts 3D objects to specific data for printing is called 3D printer slicing. The program which operates such a process is called 3D slicer. The data needed for each 3D printing technology is different. Here we will focus on slicer for LCD and DLP (SLA) type printers.
For so called resin SLA 3D printers, data needed for 3D printing process is a series of slices of an object (image frame) in different heights.
What is the slicing software?
Slicing usually is a multi stage process which could be carried out on CPU or GPU. Usually GPU slicers are much faster than CPU ones but also less flexible and could not run on many systems as CPU one.
Source data for slicing process is a 3D object in different formats, but right now most of the 3D printer users use STL and OBJ file formats. The STL file format contains the coordination of triangles tightly packed together. The slicing process could be done with different strategies and algorithms. Generally the below stages are carried out by 3D slicers:
- Read 3D objects into memory
- Cut / Slice 3D objects in different heights and generate polygon in a 2D surface
- Rasterize polygons
In stage 2, the object that is already sliced and some of the export formats such as SLC, could be exported.
Important aspects of a slicer software
Some of the source 3D files could be huge in size up to couple of gigabytes, specially the exports of cloud points from the 3D scanners (Dental market). Also the 3D editor that use nurbs instead of mesh (eg. Rhino) are used to have large export files.
Many slicers require more memory a few times more than actual STL file size to do processing. Also for CPU based slicers slicing process could even take up to hours to do.
There are many solutions such as meshlab to decrease size of STL by simplifying objects.
Some slicers provide only basic functionalities but there are many features which are better to be handled on slicer level. Those features include:
- Surface improvements
- Polygon / Mesh correction and modifications
- Image processing
- Verification and overhang detection
Faulty Triangle Handling
Many programs exporting malfunctioned triangles. How resilient the slicer is, is a very important aspect of the slicer as it could cause faulty prints.
Some of the common issues on mesh level are:
- Gap between triangles
- Wrong Normals
- Flipped Triangles
- Duplicate Triangles
- Orphaned Triangles
How NanoDLP SLA slicer works
NanoDLP slicer which is integrated in both NanoDLP and NanoSupport, is a CPU based slicer. Considering that the NanoDLP primary platform is Raspberry Pi, many technical choices are considered as Pi’s limitations.
The main stages of NanoDLP slicer are mentioned below:
- Loading 3D object
- Optimize input including deduplication
- Generate 3D preview on CPU
- Check matching triangles on each level (height)
- Cut them, and produce polygon
- Correct triangle
- Apply vector processes
- Pre-rasterization processes
- Post-rasterization processes
- Run multi layer algorithms
- Save layers
- Verify output and island detection
NanoDLP slicer performance
NanoDLP slicer performs very well considering that it’s main target platform is Raspberry Pi with very limited resources.
Slicer Memory Usage
The memory that is needed to slice an STL file is around the same as an STL file size. So on 2GB memory you can slice 2GB STL file. Also NanoDLP supports multipass slicing which could slice an STL with any size, but it is super slow and not advised. In case of a very large STL file, it is better to use NanoSupport or NanoDLP Remote Slicing feature.
NanoDLP utilizes all cores on your system and is highly optimized for the speed.
On Skylake i7, slicing a 250MB STL file to a ZIP file that contains 256 PNG layers and 3D preview, takes 8.3s to finish. It includes all verification and statistic generation.
User time (seconds): 18.66 System time (seconds): 0.42 Percent of CPU this job got: 230% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.29 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 272900
NanoDLP slicer features
NanoDLP slicer supports many advanced slicing features and many of them are not available on the other slicers, such as:
- 3D Anti-Aliasing
- Lens Distortion Correction
- Island detection and layer verification
- Slicer level hollowing
Next Generation NanoSupport
New NanoSupport with completely new user interface and many new features including advanced auto support algorithm has been released.
PCB Printing with 3D Printer
PCB printing with 3D printer is now easier than before with the latest version of NanoDLP. One of the best way to make high resolution PCB (circuit board) is to use technique called Photoengraving. Your SLA 3D printer easily could be used to print PCB board by using same technique.
NanoDLP Display Engines
NanoDLP supports many way to display images, this post try to explain how each one works, what is the best and also give workaround for cases which one engine does not work well enough.