Giter Site home page Giter Site logo

farfalle's Introduction

Farfalle

This is an experimental Slicer in a very rough state.

Orchestrated by a Python or Lua Script the executable produces gcode.

It uses Mesh based Models instead of Axis aligned Planes to cut.

Therefore it might be a little bit slower than what you are used too. But it is capable of pretty neat stuff:

  • Non-Planar Printing
  • STL Mesh Based Infill Patterns
  • Function Defined Infill
  • Nonplanar Build Plate

Also the script code is pretty small and therefor hopefully inviting for experimentation and learning how slicers work.

It is not finished yet though.

Planar Benchy

image image There are Gaps between the lines, because the extrusion is not yet tuned. Im currently concentrating on the correct toolpath.

Non-Planar Benchy

image image image

Obviously there is some tuning of the retraction settings needed.

Future

Next Steps

  • It is currently pretty slow. Slicing a Benchy can take a day. I am confident that it would be possible in under 15 Minutes.
  • The Retraction Settings and similar Settings are not tuned, therefor a lot of stringing is happening
  • The line Merging is naive and it should incorporate also wall sections.
  • The order the lines are printed does not respect common sense
  • The drawn lines are too detailed. It should be possible to shrink down the slicer files.

Far Future

  • Instead of Sinus Curves it should be possible to follow top Surfaces
  • Infill
  • Support
  • Mindfullness regarding Printer Geometry
  • 3D Non Planar Polygon Offsetting instead of Voxel Erosion
  • Multi Layer Region Coupling to reduce stringing potential
  • I want to experiment with intentionally move the nozzle into the already printed material to stich layers together
  • I want to experiment with Layerless Hot Plasticblob as Infill to get stronger prints

License

https://www.gnu.org/licenses/lgpl-3.0.html

Use

  • make sure to pull submodules too
  • build with VCPKG + CMAKE
  • create main.py or main.lua at the same folder as the executeable
  • fill main and get inspirations in example folder
  • documentation.py dumps a script reference

Dependencies

  • CMAKE - Build Tool
  • VCPKG - Package Manager
  • CGAL - Main Workhorse
  • eigen3 - CGAL wants this
  • glm - Vector Library
  • nlohmann::json - Config Load/Save
  • Polyglot - My lib for scripting languages (Python & Lua)

farfalle's People

Contributors

liech avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.