Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 3.02 KB

README.md

File metadata and controls

39 lines (32 loc) · 3.02 KB

Printer.HM

Codes and CAD designs of the 3D printed parts generated in the article 'A hackable, multi-functional, and modular extrusion 3D printer for soft materials' (Lei et al. Scientific Reports, 2022)

Requirements

  • The code for the printing operation requires Arduino IDE (tested with 1.8.19), Python (3.6+ and was tested with 3.7.1) and the following dependencies on Python: serial, SwiftAPI.
  • The code for the heating operation requires Processing and Arduino IDE.

Structure of the repository

CAD Files

  • Contains the CAD designs and the stl files of all the customised parts of the printer (i.e., frame, printhead heater, printhead, stage heater and stages).

Codes

  • Contains the codes for the heating operation and the printing operation.
    • Printing operation

      • Python templates
        • test_coordinates.py: Python template for printing operations that use coordinates as the geometry input.
        • test_equation.py: Python template for printing operations that use equations as the geometry input.
        • test_gcode.py: Python template for printing operations that use gcode generated by Slic3r as the geometry input.
        • test_picture.py: Python template for printing operations that use gcode generated from pictures via Inkscape as the geometry input.
        • test_dispensing.py: Python template for liquid dispensing operations.
        • non-planar_inkscape.py: Python template for non-planar printing operations.
        • transform_rot.py: contains functions for transforming printing coordinates to uArm coordinates.
        • gcodemod.py: contains functions for extracting the gcode generated by Slic3r.
        • gcodemod_inkscape.py: contains functions for extracting the gcode generated by the 'Gcodetools' extension on Inkscape.
        • Non-planar_path_gen.py: contains functions for generating the projected coordinates of the print pattern according to the z-plane of the target object.
      • Arduino for dispensing unit
        • sketch_input_delaytime/sketch_input_delaytime.ino: Arduino script for controlling the extrusion stepper motors. The script should be uploaded to the Arduino board of the dispensing unit and the pin numbers in the script should be changed accordingly.
    • Heating operation

      • Arduino/heating_3_GUI2/heating_3_GUI2.ino: Arduino script for controlling the heaters. The script should be uploaded to the Arduino board of the heater.
      • Processing
        • StageheatercontrolGUI2: Processing GUI for the stage heater control.
        • Processing/SyringeheatercontrolGUI2: Processing GUI for the syringe heater control.

Acknowledging this work

If you publish any work based on the contents of this repository, please cite:

Lei, I. M. et al. (2022). A hackable, multi-functional, and modular extrusion 3D printer for soft materials. Scientific Reports.