Thursday, May 18, 2017

Speedy Slicing with NanoDlp

UPDATE:

This was a crap idea.  The time to unzip files on the RPi is way longer than I anticipated!  I could probably transfer them faster uncompressed but have not gotten around to testing that theory!  Oh well.

END OF UPDATE

I really like the configuration that I have with two Raspberry Pi's running NanoDlp to drive my two printers.  It allows me to not have to dedicate my desktop (and laptop since I have two printers) from having to drive those printers.  One thing the Raspberry Pi's don't do, however, is slice fast!  But a Windows or Linux machine hosted on a much more powerful workstation can run NanoDlp and slice in a big hurry!  I looked around for a solution where someone else was already doing this and did not see one so decided to roll my own.

Overview

There are really only two directories to worry about.  There is the Db directory that contains all the various settings including resin profiles and the index to your plates.  Then there is the plates directory with a subdirectory for each plate you have created.


Enter a somewhat crude, but workable, Python script to synchronize my "master" with my "clients".   In this script I look at the contents of the Db directory on the master to see what the latest datetime stamp is on any of the configuration files.  Then I check the designated target client to see if the datetime stamp file we left there during the last update is older than what we just came up with on the master.

If an update is needed the contents of the Db directory are copied to the client.   Then the plates directories are compared and where needed a new one will be created and filled, or an existing one will be cleaned out and refilled.  The transfer is done after compressing the directory into a zip file.  A CRC check is done on the transferred file prior to decompression.


Obviously an assumption is made that ALL changes will be done on the master and propagated to the client(s).  In addition, the way that I currently have this configured precludes having the two printers setup differently.  This, however, can be accommodated by excluding some of the entries in the Db directory.  It may not be the height of coding excellence but it seems to work.

Command Line Options


Notes and Caveats

  • The script described above is still under development but is available here for brave souls.
  • The script is provided as-is and I will take no responsibility for its operation!
  • A knowledge of Python is required!
  • You may need to copy the directory on the RPi where NanoDlp is installed so that rights work with SFTP.
  • Once the above script is run the instance of NanoDlp needs to be restarted for changes to be visible
  • You need to make sure your RPi and your host computer are in the same time zone and running synchronized times!

No comments:

Post a Comment