chiark / gitweb /
Huge update to put all the code for slicing at the slicer, and not in the gui. Step...
authordaid303 <daid303@gmail.com>
Fri, 4 Jan 2013 20:37:11 +0000 (21:37 +0100)
committerdaid303 <daid303@gmail.com>
Fri, 4 Jan 2013 20:37:11 +0000 (21:37 +0100)
211 files changed:
Cura/gui/sliceProgessPanel.py
Cura/gui/tools/batchRun.py
Cura/slice/__init__.py [moved from Cura/cura_sf/__init__.py with 100% similarity]
Cura/slice/cura_sf/SkeinforgeVersion [moved from Cura/cura_sf/SkeinforgeVersion with 100% similarity]
Cura/slice/cura_sf/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/archive.py [moved from Cura/cura_sf/fabmetheus_utilities/archive.py with 98% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/euclidean.py [moved from Cura/cura_sf/fabmetheus_utilities/euclidean.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/fabmetheus_interpret.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/fabmetheus_interpret.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/csv.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/csv.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/dae.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/dae.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/gts.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/gts.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/obj.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/obj.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/slc.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/slc.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/stl.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/stl.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/svg.py [moved from Cura/cura_sf/fabmetheus_utilities/fabmetheus_tools/interpret_plugins/svg.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/gcodec.py [moved from Cura/cura_sf/fabmetheus_utilities/gcodec.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/_drill.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/_drill.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/_svg.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/_svg.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/circle.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/circle.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/concatenate.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/concatenate.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/extrude.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/extrude.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/gear.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/gear.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/grid.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/grid.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/heightmap.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/heightmap.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/lathe.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/lathe.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/line.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/line.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/linear_bearing_cage.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/linear_bearing_cage.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/lineation.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/lineation.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/mechaslab.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/mechaslab.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/peg.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/peg.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/polygon.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/polygon.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/shaft.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/shaft.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/solid.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/solid.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/sponge_slice.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/sponge_slice.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/square.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/square.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/teardrop.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/teardrop.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/creation/text.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/creation/text.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/dictionary.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/dictionary.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/face.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/face.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/arc.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/arc.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/cubic.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/cubic.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/quadratic.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/path_elements/quadratic.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_tools/vertex.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_tools/vertex.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/boolean_geometry.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/boolean_geometry.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/boolean_solid.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/boolean_solid.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/creation.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/creation.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/document.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/document.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/setting.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_elements/setting.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/dictionary_attribute.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/dictionary_attribute.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/list_attribute.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/list_attribute.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/string_attribute.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_enumerables/string_attribute.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/_math.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/_math.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/euclid.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/euclid.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/measure.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/measure.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/print.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/evaluate_fundamentals/print.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/example.csv [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/example.csv with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/matrix.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/geometry_utilities/matrix.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/_scale.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/_scale.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/rotate.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/rotate.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/transform.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/transform.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/translate.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_matrix/translate.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_array.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_array.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_carve.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_carve.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_copy.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/_copy.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/disjoin.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/disjoin.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/import.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/import.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/write.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_meta/write.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/bevel.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/bevel.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/convex.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/convex.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/outline.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/outline.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/overhang.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/overhang.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/round.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/round.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/segment.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/segment.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/wedge.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_paths/wedge.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_bottom.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_bottom.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_inset.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_inset.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_outset.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/_outset.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/equation.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/equation.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/flip.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/flip.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/mirror.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/manipulation_shapes/mirror.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/cube.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/cube.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/cylinder.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/cylinder.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/difference.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/difference.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/group.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/group.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/intersection.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/intersection.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/sphere.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/sphere.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/triangle_mesh.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/triangle_mesh.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/solids/union.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/solids/union.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/_print.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/_print.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/class.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/class.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/elif.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/elif.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/else.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/else.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/for.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/for.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/function.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/function.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/if.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/if.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/return.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/return.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/statement.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/statement.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry/statements/while.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry/statements/while.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/creation/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/creation/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_matrix/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_matrix/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_meta/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_meta/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_paths/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_paths/__init__.py [moved from Cura/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_shapes/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/geometry_plugins/manipulation_shapes/__init__.py [moved from Cura/cura_sf/skeinforge_application/__init__.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/intercircle.py [moved from Cura/cura_sf/fabmetheus_utilities/intercircle.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/settings.py [moved from Cura/cura_sf/fabmetheus_utilities/settings.py with 99% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/svg_reader.py [moved from Cura/cura_sf/fabmetheus_utilities/svg_reader.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/svg_writer.py [moved from Cura/cura_sf/fabmetheus_utilities/svg_writer.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/templates/canvas_template.svg [moved from Cura/cura_sf/fabmetheus_utilities/templates/canvas_template.svg with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/templates/layer_template.svg [moved from Cura/cura_sf/fabmetheus_utilities/templates/layer_template.svg with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/vector3.py [moved from Cura/cura_sf/fabmetheus_utilities/vector3.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/vector3index.py [moved from Cura/cura_sf/fabmetheus_utilities/vector3index.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/version.txt [moved from Cura/cura_sf/fabmetheus_utilities/version.txt with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/xml_simple_reader.py [moved from Cura/cura_sf/fabmetheus_utilities/xml_simple_reader.py with 100% similarity]
Cura/slice/cura_sf/fabmetheus_utilities/xml_simple_writer.py [moved from Cura/cura_sf/fabmetheus_utilities/xml_simple_writer.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/analyze_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/analyze.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/analyze.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/analyze_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/alteration.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/alteration.py with 99% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/bottom.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/bottom.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/carve.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/chamber.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/chop.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/chop.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/cleave.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/cleave.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/clip.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/coil.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/coil.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/comb.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/cool.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/dimension.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/drill.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/drill.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/dwindle.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/dwindle.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export.py with 92% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/static_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/binary_16_byte.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/binary_16_byte.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/gcode_step.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/gcode_step.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/gcode_time_segment.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/gcode_time_segment.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/static_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/static_plugins/gcode_small.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export_plugins/static_plugins/gcode_small.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/feed.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/feed.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/fill.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/fillet.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/fillet.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/flow.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/flow.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/home.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/home.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/hop.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/hop.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/inset.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/inset.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/jitter.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/joris.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/joris.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/lash.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/lash.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/lift.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/lift.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/limit.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/mill.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/mill.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/multiply.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/oozebane.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/oozebane.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/outset.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/outset.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/preface.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/preface.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/raft.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/scale.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/scale.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/skin.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/skin.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/skirt.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/skirt.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/smooth.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/smooth.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/speed.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/splodge.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/splodge.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/stretch.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/stretch.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/temperature.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/tower.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/tower.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/unpause.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/unpause.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/whittle.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/whittle.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/widen.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/widen.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/wipe.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/wipe.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/help.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/help.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/meta.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/meta.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/description.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/description.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/polyfile.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/meta_plugins/polyfile.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/__init__.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/__init__.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/cutting.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/cutting.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/extrusion.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/extrusion.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/milling.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/milling.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/winding.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_plugins/profile_plugins/winding.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/__init__.py [new file with mode: 0644]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_analyze.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_analyze.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_craft.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_craft.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_help.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_help.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_meta.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_meta.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_polyfile.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_polyfile.py with 100% similarity]
Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_profile.py [moved from Cura/cura_sf/skeinforge_application/skeinforge_utilities/skeinforge_profile.py with 100% similarity]
Cura/util/profile.py
Cura/util/sliceRun.py

index 5cb01f2dff0c2767545c18aa252ffbfc525cd904..b73f1e2df1cc04a9d9849e203a02906a84324035 100644 (file)
@@ -44,21 +44,8 @@ class sliceProgessPanel(wx.Panel):
                self.startTime = time.time()
                if profile.getPreference('save_profile') == 'True':
                        profile.saveGlobalProfile(self.filelist[0][: self.filelist[0].rfind('.')] + "_profile.ini")
-               cmdList = []
-               for filename in self.filelist:
-                       idx = self.filelist.index(filename)
-                       #print filename, idx
-                       if idx > 0:
-                               profile.setTempOverride('fan_enabled', 'False')
-                               profile.setTempOverride('skirt_line_count', '0')
-                               profile.setTempOverride('object_center_x', profile.getPreferenceFloat('machine_width') / 2 - profile.getPreferenceFloat('extruder_offset_x%d' % (idx)))
-                               profile.setTempOverride('object_center_y', profile.getPreferenceFloat('machine_depth') / 2 - profile.getPreferenceFloat('extruder_offset_y%d' % (idx)))
-                               profile.setTempOverride('alternative_center', self.filelist[0])
-                       if len(self.filelist) > 1:
-                               profile.setTempOverride('add_start_end_gcode', 'False')
-                               profile.setTempOverride('gcode_extension', 'multi_extrude_tmp')
-                       cmdList.append(sliceRun.getSliceCommand(filename))
-               profile.resetTempOverride()
+               center = profile.getMachineCenterCoords()
+               cmdList = [sliceRun.getSliceCommand(sliceRun.getExportFilename(self.filelist[0]), ['|'.join(self.filelist)], [center])]
                self.thread = WorkerThread(self, filelist, cmdList)
        
        def OnAbort(self, e):
@@ -173,7 +160,8 @@ class WorkerThread(threading.Thread):
                line = p.stdout.readline()
                self.progressLog = []
                maxValue = 1
-               while(len(line) > 0):
+               starttime = time.time()
+               while len(line) > 0:
                        line = line.rstrip()
                        if line[0:9] == "Progress[" and line[-1:] == "]":
                                progress = line[9:-1].split(":")
@@ -181,7 +169,7 @@ class WorkerThread(threading.Thread):
                                        maxValue = int(progress[2])
                                wx.CallAfter(self.notifyWindow.SetProgress, progress[0], int(progress[1]), maxValue)
                        else:
-                               self.progressLog.append(line)
+                               self.progressLog.append("%0.2f: %s" % (time.time() - starttime, line))
                                wx.CallAfter(self.notifyWindow.statusText.SetLabel, line)
                        if self.notifyWindow.abort:
                                p.terminate()
@@ -189,79 +177,25 @@ class WorkerThread(threading.Thread):
                                return
                        line = p.stdout.readline()
                line = p.stderr.readline()
-               while(len(line) > 0):
+               while len(line) > 0:
                        line = line.rstrip()
                        self.progressLog.append(line)
                        line = p.stderr.readline()
                self.returnCode = p.wait()
                self.fileIdx += 1
                if self.fileIdx == len(self.cmdList):
-                       if len(self.filelist) > 1:
-                               self._stitchMultiExtruder()
                        gcodeFilename = sliceRun.getExportFilename(self.filelist[0])
                        gcodefile = open(gcodeFilename, "a")
                        for logLine in self.progressLog:
                                if logLine.startswith('Model error('):
                                        gcodefile.write(';%s\n' % (logLine))
                        gcodefile.close()
-                       wx.CallAfter(self.notifyWindow.statusText.SetLabel, "Running plugins")
-                       ret = profile.runPostProcessingPlugins(gcodeFilename)
-                       if ret != None:
-                               self.progressLog.append(ret)
                        self.gcode = gcodeInterpreter.gcode()
                        self.gcode.load(gcodeFilename)
                        profile.replaceGCodeTags(gcodeFilename, self.gcode)
                        wx.CallAfter(self.notifyWindow.OnSliceDone, self)
                else:
                        self.run()
-       
-       def _stitchMultiExtruder(self):
-               files = []
-               resultFile = open(sliceRun.getExportFilename(self.filelist[0]), "w")
-               resultFile.write(';TYPE:CUSTOM\n')
-               resultFile.write(profile.getAlterationFileContents('start.gcode'))
-               for filename in self.filelist:
-                       if os.path.isfile(sliceRun.getExportFilename(filename, 'multi_extrude_tmp')):
-                               files.append(open(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'), "r"))
-                       else:
-                               return
-               
-               currentExtruder = 0
-               resultFile.write('T%d\n' % (currentExtruder))
-               layerNr = -1
-               hasLine = True
-               filesOrder = files[:]
-               while hasLine:
-                       hasLine = False
-                       filesOrder.reverse()
-                       for f in filesOrder:
-                               layerHasLine = False
-                               for line in f:
-                                       hasLine = True
-                                       if line.startswith(';LAYER:'):
-                                               break
-                                       if 'Z' in line:
-                                               lastZ = float(re.search('Z([^\s]+)', line).group(1))
-                                       if not layerHasLine:
-                                               nextExtruder = files.index(f)
-                                               resultFile.write(';LAYER:%d\n' % (layerNr))
-                                               resultFile.write(';EXTRUDER:%d\n' % (nextExtruder))
-                                               if nextExtruder != currentExtruder:
-                                                       resultFile.write(';TYPE:CUSTOM\n')
-                                                       profile.setTempOverride('extruder', nextExtruder)
-                                                       resultFile.write(profile.getAlterationFileContents('switchExtruder.gcode') + '\n')
-                                                       profile.resetTempOverride()
-                                                       currentExtruder = nextExtruder
-                                               layerHasLine = True
-                                       resultFile.write(line)
-                       layerNr += 1
-               for f in files:
-                       f.close()
-               for filename in self.filelist:
-                       os.remove(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'))
-               resultFile.write(';TYPE:CUSTOM\n')
-               resultFile.write(profile.getAlterationFileContents('end.gcode'))
-               resultFile.close()
 
 class LogWindow(wx.Frame):
        def __init__(self, logText):
index 0b545d2e42c8c3d65a1b8b5f77f4a7edceebd435..bf71b557eac256766d9a2ce1694bfdd53e1574f1 100644 (file)
@@ -88,8 +88,9 @@ class batchRunWindow(wx.Frame):
 
        def OnSlice(self, e):
                sliceCmdList = []
+               center = profile.getMachineCenterCoords()
                for filename in self.list:
-                       sliceCmdList.append(sliceRun.getSliceCommand(filename))
+                       sliceCmdList.append(sliceRun.getSliceCommand(sliceRun.getExportFilename(filename), [filename], [center]))
                bspw = BatchSliceProgressWindow(self.list[:], sliceCmdList)
                bspw.Centre()
                bspw.Show(True)
similarity index 98%
rename from Cura/cura_sf/fabmetheus_utilities/archive.py
rename to Cura/slice/cura_sf/fabmetheus_utilities/archive.py
index 5ec8971672ee09d61ed40d95315a6122d2498cf5..5a770fbe94c33d2bae42f9e4259158a33178bf09 100644 (file)
@@ -397,9 +397,6 @@ def writeFileMessageEnd(end, fileName, fileText, message):
 
 def writeFileText(fileName, fileText, writeMode='w+'):
        'Write a text to a file.'
-       try:
-               file = open(fileName, writeMode)
-               file.write(fileText)
-               file.close()
-       except IOError:
-               print('The file ' + fileName + ' can not be written to.')
+       file = open(fileName, writeMode)
+       file.write(fileText)
+       file.close()
similarity index 99%
rename from Cura/cura_sf/fabmetheus_utilities/settings.py
rename to Cura/slice/cura_sf/fabmetheus_utilities/settings.py
index 078acf188a9e32957b953957cf63cd08cf8f2918..7bbb739e08d4b0dcfeec9b611423236f11550907 100644 (file)
@@ -11,7 +11,7 @@ import types
 import math
 
 from Cura.util import profile
-from Cura.cura_sf.fabmetheus_utilities import archive
+from Cura.slice.cura_sf.fabmetheus_utilities import archive
 
 def DEFSET(setting):
        return setting.value
@@ -386,7 +386,7 @@ def getProfileInformation():
                        'Retraction_Distance_millimeters': lambda setting: profile.getProfileSettingFloat('retraction_amount') if profile.getProfileSetting('retraction_enable') == 'True' else 0,
                        'Restart_Extra_Distance_millimeters': storedSettingFloat('retraction_extra'),
                },'alteration': {
-                       'Activate_Alteration': storedSetting('add_start_end_gcode'),
+                       'Activate_Alteration': "False",
                        'Name_of_End_File': "end.gcode",
                        'Name_of_Start_File': "start.gcode",
                        'Remove_Redundant_Mcode': "True",
similarity index 99%
rename from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/alteration.py
rename to Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/alteration.py
index 4ac2a73107eb676094b93b18f916bd0d23defdd7..cf3d2f94a9e18a5925ebe8134f050b51d70c8172 100644 (file)
@@ -168,7 +168,7 @@ class AlterationSkein(object):
 
        def addFromUpperLowerFile(self, fileName):
                "Add lines of text from the fileName or the lowercase fileName, if there is no file by the original fileName in the directory."
-               alterationFileLines = map(lambda l: l.replace('?filename?', self.fileName), settings.getAlterationFileLines(fileName))
+               alterationFileLines = map(lambda l: l.replace('?filename?', self.fileName.encode('ascii', 'replace')), settings.getAlterationFileLines(fileName))
                self.distanceFeedRate.addLinesSetAbsoluteDistanceMode(alterationFileLines)
 
        def getCraftedGcode(self, gcodeText, repository, fileName):
similarity index 92%
rename from Cura/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export.py
rename to Cura/slice/cura_sf/skeinforge_application/skeinforge_plugins/craft_plugins/export.py
index b6ff22395fe9eab23efbafd70d854803a9fd1314..d640f2082d5004f691f7b460eb0ca63a5b9566d4 100644 (file)
@@ -256,7 +256,7 @@ def sendOutputTo(outputTo, text):
                return
        archive.writeFileText(outputTo, text)
 
-def writeOutput(fileName, shouldAnalyze=True):
+def getOutput(fileName):
        'Export a gcode linear move file.'
        if fileName == '':
                return None
@@ -264,51 +264,33 @@ def writeOutput(fileName, shouldAnalyze=True):
        settings.getReadRepository(repository)
        startTime = time.time()
        print('File ' + archive.getSummarizedFileName(fileName.encode('ascii', 'replace')) + ' is being chain exported.')
-       fileNameSuffix = fileName[: fileName.rfind('.')]
-       if repository.addExportSuffix.value:
-               fileNameSuffix += '_export'
        gcodeText = gcodec.getGcodeFileText(fileName, '')
        procedures = skeinforge_craft.getProcedures('export', gcodeText)
        gcodeText = skeinforge_craft.getChainTextFromProcedures(fileName, procedures[: -1], gcodeText)
        if gcodeText == '':
                return None
-       if repository.addProfileExtension.value:
-               fileNameSuffix += '.' + getFirstValue(gcodeText, '(<profileName>')
-       if repository.addDescriptiveExtension.value:
-               fileNameSuffix += getDescriptiveExtension(gcodeText)
-       if repository.addTimestampExtension.value:
-               fileNameSuffix += '.' + getFirstValue(gcodeText, '(<timeStampPreface>')
-       fileNameSuffix += '.' + repository.fileExtension.value
        fileNamePenultimate = fileName[: fileName.rfind('.')] + '_penultimate.gcode'
-       filePenultimateWritten = False
        if repository.savePenultimateGcode.value:
                archive.writeFileText(fileNamePenultimate, gcodeText)
-               filePenultimateWritten = True
                print('The penultimate file is saved as ' + archive.getSummarizedFileName(fileNamePenultimate))
        exportGcode = getCraftedTextFromText(gcodeText, repository)
-       window = None
-       if shouldAnalyze and repository.analyzeGcode.value:
-               window = skeinforge_analyze.writeOutput(fileName, fileNamePenultimate, fileNameSuffix, filePenultimateWritten, gcodeText)
        replaceableExportGcode = None
        selectedPluginModule = getSelectedPluginModule(repository.exportPlugins)
-       if selectedPluginModule == None:
+       if selectedPluginModule is None:
                replaceableExportGcode = exportGcode
        else:
                if selectedPluginModule.globalIsReplaceable:
                        replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
-               else:
-                       selectedPluginModule.writeOutput(fileNameSuffix, exportGcode)
-       if replaceableExportGcode != None:
+               #else:
+               #       selectedPluginModule.writeOutput(outputFilename, exportGcode)
+       if replaceableExportGcode is not None:
                replaceableExportGcode = getReplaceableExportGcode(repository.nameOfReplaceFile.value, replaceableExportGcode)
-               archive.writeFileText( fileNameSuffix, replaceableExportGcode )
-               print('The exported file is saved as ' + archive.getSummarizedFileName(fileNameSuffix))
        if repository.alsoSendOutputTo.value != '':
                if replaceableExportGcode == None:
                        replaceableExportGcode = selectedPluginModule.getOutput(exportGcode)
                sendOutputTo(repository.alsoSendOutputTo.value, replaceableExportGcode)
        print('It took %s to export the file.' % euclidean.getDurationString(time.time() - startTime))
-       return window
-
+       return replaceableExportGcode
 
 class ExportRepository(object):
        'A class to handle the export settings.'
@@ -318,10 +300,6 @@ class ExportRepository(object):
                self.fileNameInput = settings.FileNameInput().getFromFileName( fabmetheus_interpret.getGNUTranslatorGcodeFileTypeTuples(), 'Open File for Export', self, '')
                self.openWikiManualHelpPage = settings.HelpPage().getOpenFromAbsolute('http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge_Export')
                self.activateExport = settings.BooleanSetting().getFromValue('Activate Export', self, True)
-               self.addDescriptiveExtension = settings.BooleanSetting().getFromValue('Add Descriptive Extension', self, False)
-               self.addExportSuffix = settings.BooleanSetting().getFromValue('Add Export Suffix', self, True)
-               self.addProfileExtension = settings.BooleanSetting().getFromValue('Add Profile Extension', self, False)
-               self.addTimestampExtension = settings.BooleanSetting().getFromValue('Add Timestamp Extension', self, False)
                self.alsoSendOutputTo = settings.StringSetting().getFromValue('Also Send Output To:', self, '')
                self.analyzeGcode = settings.BooleanSetting().getFromValue('Analyze Gcode', self, True)
                self.commentChoice = settings.MenuButtonDisplay().getFromName('Comment Choice:', self)
diff --git a/Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/__init__.py b/Cura/slice/cura_sf/skeinforge_application/skeinforge_utilities/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index f27227a6bebec53e929784090127d6950a3e795b..26a736c2e323a31de257a911bdc2ed142a7aaede 100644 (file)
@@ -76,7 +76,6 @@ profileDefaultSettings = {
        'object_center_x': '-1',
        'object_center_y': '-1',
        
-       'add_start_end_gcode': 'True',
        'gcode_extension': 'gcode',
        'alternative_center': '',
        'clear_z': '0.0',
@@ -423,6 +422,9 @@ def calculateSolidLayerCount():
        solidThickness = getProfileSettingFloat('solid_layer_thickness')
        return int(math.ceil(solidThickness / layerHeight - 0.0001))
 
+def getMachineCenterCoords():
+       return (getPreferenceFloat('machine_width') / 2, getPreferenceFloat('machine_depth') / 2)
+
 #########################################################
 ## Alteration file functions
 #########################################################
@@ -536,7 +538,7 @@ def getAlterationFileContents(filename):
                        clearTempOverride('extruder')
                else:
                        alterationContents = ''
-       return unicode(prefix + re.sub("(.)\{([^\}]*)\}", replaceTagMatch, alterationContents).rstrip() + '\n' + postfix).strip().encode('utf-8')
+       return unicode(prefix + re.sub("(.)\{([^\}]*)\}", replaceTagMatch, alterationContents).rstrip() + '\n' + postfix).strip().encode('utf-8') + '\n'
 
 ###### PLUGIN #####
 
index 4f71aab93efab4ae36677408c2a215ab46d835c8..4b50ef582c8ba6bcbd72a18e5deb50b95992a42c 100644 (file)
@@ -5,12 +5,6 @@ import os
 import subprocess
 import sys
 
-if not hasattr(sys, 'frozen'):
-       cura_sf_path = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../cura_sf/"))
-       if cura_sf_path not in sys.path:
-               sys.path.append(cura_sf_path)
-       from Cura.cura_sf.skeinforge_application.skeinforge_utilities import skeinforge_craft
-
 from Cura.util import resources
 from Cura.util import profile
 
@@ -58,52 +52,7 @@ def getPyPyExe():
                pypyExe = os.path.join(p, exeName)
                if os.path.exists(pypyExe):
                        return pypyExe 
-       return False
-
-def getSlic3rExe():
-       "Return the path to the pypy executable if we can find it. Else return False"
-       if platform.system() == "Windows":
-               exeName = "slic3r.exe"
-               slic3rExe = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../Slic3r/bin/slic3r.exe"));
-       else:
-               exeName = "slic3r"
-               slic3rExe = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../Slic3r/bin/slic3r"));
-       if os.path.exists(slic3rExe):
-               return slic3rExe
-
-       path = os.environ['PATH']
-       paths = path.split(os.pathsep)
-       for p in paths:
-               slic3rExe = os.path.join(p, exeName)
-               if os.path.exists(slic3rExe):
-                       return slic3rExe
-       return False
-
-def runSlice(fileNames):
-       "Run the slicer on the files. If we are running with PyPy then just do the slicing action. If we are running as Python, try to find pypy."
-       pypyExe = getPyPyExe()
-       for fileName in fileNames:
-               if fileName.startswith("#UTF8#"):
-                       fileName = unicode(fileName[6:], "utf-8")
-               if platform.python_implementation() == "PyPy":
-                       skeinforge_craft.writeOutput(fileName)
-               elif pypyExe == False:
-                       if not hasattr(sys, 'frozen'):
-                               print("************************************************")
-                               print("* Failed to find pypy, so slicing with python! *")
-                               print("************************************************")
-                               skeinforge_craft.writeOutput(fileName)
-                               print("************************************************")
-                               print("* Failed to find pypy, so sliced with python!  *")
-                               print("************************************************")
-                       else:
-                               print("******************************************************************")
-                               print("* Failed to find pypy, we need pypy to slice with a frozen build *")
-                               print("* Place pypy in the same directory as Cura so Cura can find it.  *")
-                               print("******************************************************************")
-                               sys.exit(1)
-               else:
-                       subprocess.call(getSliceCommand(fileName))
+       return None
 
 def getExportFilename(filename, ext = "gcode"):
        return "%s.%s" % (filename[: filename.rfind('.')], ext)
@@ -114,77 +63,24 @@ def getShortFilename(filename):
        filename = filename[: filename.rfind('.')]
        return filename[:8] + ext[:2]
 
-def getSliceCommand(filename):
-       if profile.getPreference('slicer').startswith('Slic3r') and getSlic3rExe() != False:
-               slic3rExe = getSlic3rExe()
-               if slic3rExe == False:
-                       return False
-               cmd = [slic3rExe,
-                       '--output-filename-format', '[input_filename_base].gcode',
-                       '--nozzle-diameter', str(profile.calculateEdgeWidth()),
-                       '--print-center', '%s,%s' % (profile.getPreferenceFloat('machine_width') / 2, profile.getPreferenceFloat('machine_depth') / 2),
-                       '--z-offset', '0',
-                       '--gcode-flavor', 'reprap',
-                       '--gcode-comments',
-                       '--filament-diameter', profile.getProfileSetting('filament_diameter'),
-                       '--extrusion-multiplier', str(1.0 / float(profile.getProfileSetting('filament_density'))),
-                       '--temperature', profile.getProfileSetting('print_temperature'),
-                       '--travel-speed', profile.getProfileSetting('travel_speed'),
-                       '--perimeter-speed', profile.getProfileSetting('print_speed'),
-                       '--small-perimeter-speed', profile.getProfileSetting('print_speed'),
-                       '--infill-speed', profile.getProfileSetting('print_speed'),
-                       '--solid-infill-speed', profile.getProfileSetting('print_speed'),
-                       '--bridge-speed', profile.getProfileSetting('print_speed'),
-                       '--bottom-layer-speed-ratio', str(float(profile.getProfileSetting('bottom_layer_speed')) / float(profile.getProfileSetting('print_speed'))),
-                       '--layer-height', profile.getProfileSetting('layer_height'),
-                       '--first-layer-height-ratio', '1.0',
-                       '--infill-every-layers', '1',
-                       '--perimeters', str(profile.calculateLineCount()),
-                       '--solid-layers', str(profile.calculateSolidLayerCount()),
-                       '--fill-density', str(float(profile.getProfileSetting('fill_density'))/100),
-                       '--fill-angle', '45',
-                       '--fill-pattern', 'rectilinear', #rectilinear line concentric hilbertcurve archimedeanchords octagramspiral
-                       '--solid-fill-pattern', 'rectilinear',
-                       '--start-gcode', profile.getAlterationFilePath('start.gcode'),
-                       '--end-gcode', profile.getAlterationFilePath('end.gcode'),
-                       '--retract-length', profile.getProfileSetting('retraction_amount'),
-                       '--retract-speed', str(int(float(profile.getProfileSetting('retraction_speed')))),
-                       '--retract-restart-extra', profile.getProfileSetting('retraction_extra'),
-                       '--retract-before-travel', profile.getProfileSetting('retraction_min_travel'),
-                       '--retract-lift', '0',
-                       '--slowdown-below-layer-time', profile.getProfileSetting('cool_min_layer_time'),
-                       '--min-print-speed', profile.getProfileSetting('cool_min_feedrate'),
-                       '--skirts', profile.getProfileSetting('skirt_line_count'),
-                       '--skirt-distance', str(int(float(profile.getProfileSetting('skirt_gap')))),
-                       '--skirt-height', '1',
-                       '--scale', profile.getProfileSetting('model_scale'),
-                       '--rotate', profile.getProfileSetting('model_rotate_base'),
-                       '--duplicate-x', profile.getProfileSetting('model_multiply_x'),
-                       '--duplicate-y', profile.getProfileSetting('model_multiply_y'),
-                       '--duplicate-distance', '10']
-               if profile.getProfileSetting('support') != 'None':
-                       cmd.extend(['--support-material'])
-               cmd.extend([filename])
-               return cmd
-       else:
-               pypyExe = getPyPyExe()
-               if pypyExe == False:
-                       pypyExe = sys.executable
-               
-               #In case we have a frozen exe, then argv[0] points to the executable, but we want to give pypy a real script file.
-               #if hasattr(sys, 'frozen'):
-               #       mainScriptFile = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../..", "cura_sf.zip"))
-               #else:
-               #       mainScriptFile = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", os.path.split(sys.argv[0])[1]))
-               cmd = [pypyExe, '-m', 'Cura.cura', '-p', profile.getGlobalProfileString(), '-s']
-               if platform.system() == "Windows":
-                       try:
-                               cmd.append(str(filename))
-                       except UnicodeEncodeError:
-                               cmd.append("#UTF8#" + filename.encode("utf-8"))
-               else:
-                       cmd.append(filename)
-               return cmd
+def getSliceCommand(outputfilename, filenames, positions):
+       pypyExe = getPyPyExe()
+       if pypyExe is None:
+               pypyExe = sys.executable
+       cmd = [pypyExe, '-m', 'Cura.slice', '-p', profile.getGlobalProfileString(), '-o']
+       try:
+               cmd.append(str(outputfilename))
+       except UnicodeEncodeError:
+               cmd.append("#UTF8#" + outputfilename.encode("utf-8"))
+       for idx in xrange(0, len(filenames)):
+               filename = filenames[idx]
+               position = positions[idx]
+               cmd.append("%f,%f" % (position[0], position[1]))
+               try:
+                       cmd.append(str(filename))
+               except UnicodeEncodeError:
+                       cmd.append("#UTF8#" + filename.encode("utf-8"))
+       return cmd
 
 def startSliceCommandProcess(cmdList):
        kwargs = {}