Group 3 - Lieven Libberecht, William Thenaers
- Program with input STL/OBJ file and output gcode file
- Basic GUI to go through slices step by step
- (+ render all paths in colors)
- Basic GUI for configuring essential parameters e.g. layer height, nozzle diameter, number of shells,…
- Support for Shells + infill (basic e.g. rectangular)
- (+ roofs/floors)
- Models can have holes!
- Support generation (basic rectangle structure)
- Optimize for print quality (not speed)
- Other types of infill (+ size)
- Adaptive slicing (thinner slices for some parts)
- Support for bridges (not requiring support) => nozzle cannot start in a void
- ~? Optimizing paths for speed
- Support structures to avoid toppling of objects (e.g. cube standing on 1 corner)
- Automatic orientation of model (XY rotation; optimization)
- Manual orientation of model (XYZ rotation and scale)
- Automatic centring of model (XY position)
- Indication of bounding box size and warning if it's larger than the Ender3 build plate (text turns red)
- Optimized support structures (zigzag + others + size)
- Adhesion with brim/skirt (+ size)
- Print time estimation (take speed per accumulated extrusion and sum them)
- Adjust slicing settings at runtime
- Nozzle thickness (layer height)
- Nozzle diameter (line thickness)
- Filament diameter (optimized value for extrusion)
- Number of shells (surfaces and borders)
- Preview of 3D object and drawing of colour coded polygons (with adjustable thickness and direction arrows)
- Contour polygons
- Contour shell polygons
- Hole polygons
- Hole shell polygons
- Surface fill lines
- Infill lines
- Adhesion and support lines
- Polygons that appeared "open" but were "fixed" to include them anyway
- Progress indication during slicing (also indicated by same colours for every phase)
- Slicing is multithreaded where possible
- Arc detection for polygons to see if it's a circle, so we could print an arc in GCode instead, but the firmware does not have this enabled, so it is commented out.
- Algorithm + UI for basic slicing of 3D model (3D view for STL visualizer + 2D view for showing slices)
- Erode perimeter with half the nozzle thickness (otherwise print will be too large)
- [Deadline 14/11] Generate g-code for a perimeter of a single slice
- And try 3D printing
- Extend data structure to support holes in object/polygon
- Generate second shell
- Generate basic rectangular infill structure (line per line intersection between grid and polygon slices)
- [Deadline 7/12] Extend g-code generation and 3D print simple object that does not require support structure
- Calculate regions + generate paths (+ g-code) for floors and roofs
- Try 3D printing a closed object (roofs + floors) that does not require support
- Features + algorithms for support structure generation
- [Deadline 6/01] Implement all other minimal requirements (e.g. basic UI controls for settings)
- On rare occasions, some points or triangles disappear, resulting in layers or partial layers to be empty, probably in the algorithm to connect polygons
- They go away resulting in other polies to be wrongly marked as contour or hole
- Zigzag support sometimes disappears on some layers
- Stringing issues, despite doing the same things as Cura. Some strings cause the connections to be solid.
- Overlapping shells are not joined together, but are removed.
- Sometimes "phantom surfaces" are found and filled in, although visually there shouldn't be one
- Scale slider naar 1 dim ==> 1.0 == 1 mm
-
Sliders met textfield voor manual input(of sliders weg en enkel [real scale; percentage]) - Clipper (polygon intersection etc)?
- 2de viewport voor 1 slice te previewen => met slider voor slice te selecteren
- Slice preview met kleuraanduiding in object of bovenkant object wegnemen om slice te zien
- Nozzle thickness parameter
- Indicatie van grootte
- XY translate en rotate op object voor te slicen (=> transform individual polygons...)
- Slice opstellen door uinion van vlak met dikte NozzleThickness en object (met Clipper?)
- Slice opstellen door triangle en plane intersection ipv 3D intersection
- Add ambient light ~~
- Basic SliceModel class with slice plane and sliced model preview
- Add brim/skirt (erode to outer on slice 0)
- Make offsets for every contour/hole and then union them
- Surface (floor/roof) herkenning
- ✔ Refactor code to split generation
- ✔ Subtract Layer+1 from Layer+0 for roofs
- ✔ Subtract Layer+0 from Layer+1 for floors
- ✔ Add to separate list
- Surface invullen met patroon => denser infill,
mss met offsets ipv rects or zigzag?- ✔ Shells en dense infill beter 1.5*nozzle thinkness => Cura
- ✔ Dense infill korte segmentjes verwijderen na clipping
- ✔ OF Line clipping in de plaats => Paths met lines clippen met inner shell
- Overhang herkenning voor support (diff van subtraction > nozzle width => support needed)
- Support toevoegen voor overgang
- Check Cura output to identify stringing issue? Nothing found...
- ==> The solution is probably to retract and reset extrusion if the travel distance to the next polygon is too big (>5 mm or something)
- Report schrijven