https://github.com/epit3d/goosli
Package for fast prototyping slicing algorithms, for example - for 5axes 3d printer
https://github.com/epit3d/goosli
3d-printing 5axes gcode golang slicer stl
Last synced: 15 days ago
JSON representation
Package for fast prototyping slicing algorithms, for example - for 5axes 3d printer
- Host: GitHub
- URL: https://github.com/epit3d/goosli
- Owner: epit3d
- License: mit
- Created: 2018-04-01T08:39:12.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-11-05T11:04:33.000Z (about 3 years ago)
- Last Synced: 2023-08-04T04:12:51.939Z (over 2 years ago)
- Topics: 3d-printing, 5axes, gcode, golang, slicer, stl
- Language: Go
- Homepage:
- Size: 13.2 MB
- Stars: 22
- Watchers: 6
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# goosli
[](https://travis-ci.org/l1va/goosli)
Package to implement your own slicer using existing possibilities: cutting, crossing,
slicing by vector, mesh simplification, line simplification etc.
For example you can slice by profile (for 5axes 3d printer) - find center of
each layer, make line from points, simplify line - and slice by this line.
See slicers/slice_by_profile.go. For sure your 3d-printer have to support bed rotations.
Feel free to open issues or implement your slicing algorithms.
# goosli-colorizer
Save true/false to file for each triangle in stl according to logic (now it is big bias from Z axe)
# goosli-cutter
Cut stl in two stls by required plane.
# goosli-simplifier
Simplifies stl to required count of triangles.
### Viewer
[Spycer - https://github.com/l1va/spycer](https://github.com/l1va/spycer)
### Get binaries
Do not forget to place data directory near your binary.
##### Linux (tested on Ubuntu 16.04)
```bash
cd github.com/l1va/goosli
go install cmd/goosli/goosli.go
go install cmd/goosli_colorizer/goosli_colorizer.go
go install cmd/goosli_cutter/goosli_cutter.go
go install cmd/goosli_simplifier/goosli_simplifier.go
```
##### Windows (tested on Windows 10)
```bash
cd github.com/l1va/goosli
GOOS=windows GOARCH=amd64 go build -o goosli cmd/goosli/goosli.go
GOOS=windows GOARCH=amd64 go build -o goosli_analyzer cmd/goosli_analyzer/goosli_analyzer.go
GOOS=windows GOARCH=amd64 go build -o goosli_colorizer cmd/goosli_colorizer/goosli_colorizer.go
GOOS=windows GOARCH=amd64 go build -o goosli_cutter cmd/goosli_cutter/goosli_cutter.go
GOOS=windows GOARCH=amd64 go build -o goosli_simplifier cmd/goosli_simplifier/goosli_simplifier.go
```
### Technical moments
Rotations are always about global axes, if your rotation axis does not match with global
axis - you can use PlaneCenter parameter and shift your plane to match.
### Thanks
A lot of ideas and code was taken from various [fogleman](https://github.com/fogleman)
repos. Thank you!