Stripped down Skeinforge
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
alterations
entities
fabmetheus_utilities
plugins
printrun_utilities
profiles
utilities
writers
.gitignore
SkeinforgeEngine.ico
config.py
fallback.profile
gcodes.py
readme.md
skeinforge_engine.cfg
skeinforge_engine.py
skeinforge_engine_gui.cfg
skeinforge_engine_gui.py
skeinforge_engine_gui.runtime

readme.md

SkeinforgeEngine

This is currently a work in progress, see the caveats below

A fork of Enrique's Skeinforge, taken from ahmetcemturan's SFACT.

Goals

  • Simplify codebase in order to make the algorithms clearer.
  • Seperate core Skeining functions from GUI.
  • Remove dependency on TKinter.
  • Simplify and consolidate configuration and profiles.
  • Identify performance improvements.

Caveats

  • Currently a work in progress - no guarantee the program will work nor produce identical results to Skeinforge/SFACT.

  • Functionality has been removed as part of the simplification process. For a fully developed modular system with a working GUI please refer to the original Skeinforge or SFACT derivative.

    • The following plugins are currently available: carve,bottom,preface,inset,fill,multiply,speed,dimension,cool,comb,support (from raft),export
  • Only python 2.7 is supported.

  • No GUI Minimal GUI written in wxPython. Features:

    • Profile selection
    • Profile copying, including effective profile (values from both the default profile and the selected profile)
    • Basic profile editing
    • Skeining
    • Gcode visualisation (using Gviz module from Kliment's Printrun)
  • Supports only stepper extruders and volumetric extrusion.

Usage

  usage: skeinforge_engine.py [-h] [-c config] [-p profile] [-o output] [-r reprocess] file

  Skeins a 3D model into gcode.

  positional arguments:
    file          The file to skein. Files accepted: stl, obj, gts, and svg or
                  pickled_slicedmodel files produced by SkeinforgeEngine.

  optional arguments:
    -h, --help    show this help message and exit
    -c config     Configuration for skeinforge engine.
    -p profile    Profile for the skeining.
    -o output     Output filename (including path). Overrides other export
                  filename settings.
    -r reprocess  Comma seperated list of plugins to reprocess a pickled sliced model
                  file. The export plugin is automatically appended.  

GUI Usage

  usage: skeinforge_engine_gui.py

Configuration

  • Configuration is divided into two files: skeinforge_engine.cfg for core program settings and a profile for the runtime plugin settings.
  • If no profile is given on the command line then a default profile is used: fallback.profile. The default profile can be specified in skeinforge_engine.cfg.
  • Profile settings are cummulative, that is the default profile is always read first, and then the given profile. Any settings not defined in the given profile will be picked up from the default.

Reprocessing

  • Reprocessing allows you to use a pickled_slicedmodel file (if this is turned on in the export settings) to reload the underlying data structure and then reapply specific plugins. For example, the following command would load an existing gcode object and reapply the fill plugin from the specified profile:
    • skeinforge_engine.py -r fill -p new.profile test.pickled_slicedmodel

Further Documentation

  • The wiki contains some notes about the design and process.
  • The Api Docs are generated by Epydoc are most likely out-of-date but can be browsed for an idea of the code.

Credits

  • Credit to Enrique and the original contributers in making Skeinforge available, and to Ahmet for his contributions through SFACT.
  • SimpleEditor and GViz classes taken from Kliment's Printrun

License

GNU Affero General Public License