#VelocityPainting: patterning 3D prints by modulating the print speed
Perl
Switch branches/tags
Nothing to show
Clone or download
Mark Wheadon
Mark Wheadon Fixed a bug in projectY mapping -- origin will have been in wrong pla…
…ce for rectangular print beds.
Latest commit a73d57a Apr 15, 2017
Permalink
Failed to load latest commit information.
exampleInputOutput Added an example input and output file. Feb 7, 2017
t
.gitignore Minimal Makefile.PL and test to make install easier Feb 23, 2017
MANIFEST Minimal Makefile.PL and test to make install easier Feb 23, 2017
Makefile.PL
README.md
_config.yml Set theme jekyll-theme-cayman Feb 8, 2017
licence.html
velPaint Fixed a bug in projectY mapping -- origin will have been in wrong pla… Apr 15, 2017

README.md

Velocity Painting

I'd love this to evolve into something cool. All I ask is that you use the term Velocity Painting, tag things with #VelocityPainting, and ack that I, Mark Wheadon, started this bizarre journey with the idea, the name, and some functional though fragile code ;-) See the licence at the bottom of this document.

If you improve this code then it would be great if you could submit a pull request back to the repository -- so others can benefit from the work.

What's here

So, this is a rough and ready perl script that when given an image file and a GCODE file, processes the GCODE to change print speeds according to the intensity of the image pixels -- thus mapping the image onto the model. If a GCODE vector crosses a pattern boundary then the vector is split to allow a change in velocity to occur at that boundary.

An FAQ is available here.

In use

Slice your model with all speeds set to (say) 3000mm/min, then use the 3000 as the first argument to the script. Don't forget to switch off anything in the slicer that changes print speed according to layer time and anything that under-speeds infill, outer perimeters, bridges etc. Note: At time of writing I have only run this code on the output from Simplify3D -- it hasn't been tried on output from Slic3r, Cura, etc.

Run the script with no arguments to get some usage instructions.

Dependencies

The script relies on the Imager perl module and Math::Trig.

Important

Run the resulting GCODE though a GCODE previewer before sending it to a printer. Especially once you start to change the script. Messing up the co-ordinates will send the print head places it should never go and that could easily damage your printer. I drag the GCODE onto Simplify3D to preview it -- Simplify3D even colour codes the print velocity, which is exactly what you need!

Licence

Velocity Painting by Mark Wheadon is licensed under a Creative Commons Attribution 4.0 International License. Based on a work at https://github.com/MarkWheadon/velocity-painting.

Mark Wheadon [Email mark.wheadon at the usual gmail domain]