No description, website, or topics provided.
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.
stl-files
svg-files
.gitignore
README.md
Slice.py
flexurizer.py
intersect.py
layout.py
make_cuts.py
midpoint-presentation.pptx
notcher.py
output_svg.py
params.ini
read_ini.py
slicer.py
test_slices.py
vector.py
visualizer.py

README.md

OpenFold

Authors

Jared, Hunmin, and Anne

Instructions

From command line or terminal, type python make_cuts.py input.stl output.svg params.ini

This will generate a svg file of cuts generated from the stl file using parameters from params.ini.

TODO

FEATURES

  • Visualizer
    • Maybe a way to load stl files and export svg files via the visualizer?
    • Add buttons and sliders for parameters
    • A non-wireframe mode (ie. have slices not see-through)
    • A proper perspective view.
    • Clean up view logic (use transformation matrices)
  • Improved layout engine (better packing)
    • Can better pack polygons on the same slice that aren't connected.
    • Can also do circle-packing style fitting.
  • Lovepop style notching (alternating sides)
  • A way to export straight to DXF
  • Detect notches that are too close to an edge on the side
  • Notches don't line up nicely with polygon edge (maybe have the notch go farther)

OPTIMIZATIONS

  • Data structures could improve intersection tests
  • Visualizer should use sprites instead of drawing segments manually.

BUGS

  • Slicer skipping axis aligned segments.
  • If a whole triangle is on a slice, which segments from it do we add, if any?
  • Notches skipped when there's an odd number of intersections
  • Segments are duplicated?
  • Some parts are floating in air -- a simple graph search can check for connectedness.

CODE

  • Rename 'index' to 'axis' when referring to specific vector coefficients to be more clear
  • Folders - eg. /pipeline, /math, etc
  • Consistent naming (instead of sometimes using camel casing and sometimes using '_')
  • Just use numpy for vectors, maybe?
  • Better transformation engine (ie. so we don't have to add offset every time in make_cuts)
  • Convert "segment list" in svg to "paths" for better tracing.

References