Skip to content

Post-process G-Code files to change the temperature at the start and at each level of a temperature tower.

License

Notifications You must be signed in to change notification settings

Poikilos/TemperatureTowerProcessor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python GUI for Variable-Height Configurable Temperature Tower

https://www.thingiverse.com/thing:4068975 by Poikilos

Sourcecode: https://github.com/poikilos/TemperatureTowerProcessor

To test different retraction lengths you can try: https://github.com/poikilos/RetractionTowerProcessor

You can calibrate further using my related projects:

Configurable Compact Temperature Calibration Tower

based on "Smart compact temperature calibration tower"

Differences in Poikilos' remix

  • Make a tower without numbers so that gcode can be processed in one step using my TemperatureTowerProcessor GUI.
  • Make the base larger and thicker as a heat shield for soft materials requiring cooling (This requires infill not solid so trapped air is in the insulator pad).

Requirements

  • When installing Python on Windows, ensure that the add to PATH option is checked during install. Then open set_temperatures.pyw with "C:\Program Files (x86)\Python 3\pythonw" or whatever your "pythonw.exe" is (some versions install to C:\Python3*).

How to Use

  • If you have Windows, install and configure Python 3 according to the "Requirements" above.
  • You MUST slice the file as "tower.gcode" (or manually enter the path into the "Tower Configuration" Window).
  • Run TowerConfiguration.pyw (on Windows, double-click the file and choose pythonw as described in "Requirements" above).
  • Type a start and end temperature for the tower. There can be no more than 10 steps 5 degrees Celcius apart--for example, 180-225. However, most of the time your filament can only handle a smaller range such as 180-210 for most PLA, or 190-210 for better adhesion.
  • Click the "Generate" button.
  • A new gcode file should appear, automatically named containing the temperature range you specified. 3D print that file.
    • You will usually get an "INFO" message saying that only a certain number of levels will be present. That is expected. The top of the tower will have a hole, but that is normal. The program doesn't manipulate the gcode, other than changing and inserting temperatures and removing commands past the level you need.

Custom Tower

  • If you use the blend file, then after exporting you must import again, go to edit mode, click Mesh, Cleanup "merge by distance" then export again.
  • Whenever you change the tower or change to a different tower, you must change settings.json to match it. To get the default settings.json file, run TowerConfiguration.pyw once (you do not have to push generate), or run TowerConfigurationCLI.py with no parameters.

Post-Processing

  • After printing, I recommend writing the temperatures and filament type and brand on your tower using permanent marker. You may want to write each temperature on the flat side of each level, and the bottom has plenty of room to write other information.

Authors & License

History

(unused)

ConfigurableTempTower

Differences from 3dMakernoob's Version

  • The mesh is now cleaner, and has separated parts including separate end cap for use with Blender's array modifier.
    • Position and count of vertices at top and bottom now match.
  • I created a Python GUI to configure the tower.
    • I also included an old version without a GUI (TowerConfigurationCLI.py) in case you need to automate the process or run it remotely. The CLI version now uses the same backend module, so it will continue to have the same results as the GUI version going forward.

Developer Notes

Reference Material

About

Post-process G-Code files to change the temperature at the start and at each level of a temperature tower.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published