Stripped down Skeinforge
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
alterations
entities patched layer.getDistanceAndDuration() to account supportPaths distan… Oct 22, 2012
fabmetheus_utilities basic GUI in wxPython Nov 19, 2011
plugins added config. option to set support crosshatch frequency Oct 22, 2012
printrun_utilities config editing; effective profile copying Nov 20, 2011
profiles added profiles dir with example profile Nov 20, 2011
utilities improved reprocessing Nov 26, 2011
writers fixed crashes on empty layers Oct 22, 2012
.gitignore
SkeinforgeEngine.ico basic GUI in wxPython Nov 19, 2011
config.py moved main file to root directory; removed dependency on TKinter Oct 22, 2011
fallback.profile added config. option to set support crosshatch frequency Oct 22, 2012
gcodes.py
readme.md added recent files menu to GUI Nov 25, 2011
skeinforge_engine.cfg changed default plugins sequence to run cool after support Oct 22, 2012
skeinforge_engine.py improved reprocessing Nov 26, 2011
skeinforge_engine_gui.cfg fixed bug where travel was not taken into account when calculating ex… Nov 27, 2011
skeinforge_engine_gui.py replaced runtime config with wxPython Config Nov 27, 2011
skeinforge_engine_gui.runtime moved runtime config to own file to stop messing up commits and updat… Nov 20, 2011

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