Simple python library for inserting .png thumbnails into gcode files.
Project description
thumb-py
Table of Content
1. Annotation
Simple python library for inserting .png thumbnails into gcode files.
2. Example of Usage
Recommanded way of using when working with multiple gcodes is this code. There are 3 recommanded size of thumbnails (width x height):
- normal 220x124
- mini 16x16
- large 240x320 Other formats may not display on 3D printers.
Insert Thumbnails
To insert all tree sizes use script bellow.
import thumby
# image you want insert into gcode
pathToPng = "path/to/png/file.png"
# gcode file into which you want to insert the image
pathToGcode = "path/to/gcodeFile.gcode"
insert_png_to_gcode_normal(pathToPng, pathToGcode)
insert_png_to_gcode_large(pathToPng, pathToGcode)
insert_png_to_gcode_mini(pathToPng, pathToGcode)
You can also insert thumbnail of other size for advanced purposes (not recommanded):
import thumby
pathToPng = "path/to/png/file.png"
pathToGcode = "path/to/gcodeFile.gcode"
insert_png_to_gcode_custom(pathToPng, pathToGcode, width, height)
Delete Thumbnails
To delete all tree sizes use script bellow. Functions delete thumbnail_*()
will delete all thumbnails of set size found in given gcode.
import thumby
# gcode file where thumbnails will be deleted
pathToGcode = "path/to/gcodeFile.gcode"
delete_thumbnail_normal(path_to_gcode)
delete_thumbnail_large(path_to_gcode)
delete_thumbnail_mini(path_to_gcode)
To delete thumbnail of other size:
import thumby
pathToGcode = "path/to/gcodeFile.gcode"
delete_thumbnail_custom(path_to_gcode, width, height)
Recommanded Usage
A script for inserting and replacing thumbnails into your gcodes.
import thumby
pathToPng = "path/to/png/file.png"
pathToGcode = "path/to/gcodeFile.gcode"
# this makes sure there are no thumbnails in gcode file
delete_thumbnail_normal(path_to_gcode)
delete_thumbnail_large(path_to_gcode)
delete_thumbnail_mini(path_to_gcode)
# than insert thumbnail of all 3 recommanded sizes
insert_png_to_gcode_normal(pathToPng, pathToGcode)
insert_png_to_gcode_large(pathToPng, pathToGcode)
insert_png_to_gcode_mini(pathToPng, pathToGcode)
3. Install
4. List of Functions
insert_png_to_gcode_normal(path_to_png, path_to_gcode)
Makes temp file from given png file and inserts it as thumbnail to given gcode. size of thumbnail: 220x124
insert_png_to_gcode_mini(path_to_png, path_to_gcode)
Makes temp file from given png file and inserts it as thumbnail to given gcode. size of thumbnail: 16x16
insert_png_to_gcode_large(path_to_png, path_to_gcode)
Makes temp file from given png file and inserts it as thumbnail to given gcode. size of thumbnail: 240x320
insert_png_to_gcode_custom(path_to_png, path_to_gcode, width=WIDTH_NORMAL, height=HEIGHT_NORMAL)
Makes temp file from given png file and inserts it as thumbnail to given gcode. -> default size of thumbnail: 220x124 recomanded sizes: -> normal 220x124 -> mini 16x16 -> large 240x320
resize_and_save_image(png_filepath, target_width=WIDTH_NORMAL, target_height=HEIGHT_NORMAL, tmpFile="tmp.png")
Saves resized file as tmpFile. Default name 'tmp.png'. Return value is 'tmpFile path' -> default size of thumbnail: 220x124 recomanded sizes: -> normal 220x124 -> mini 16x16 -> large 240x320
insert_header_to_gcode(header, gcode_filepath)
Insert given header into gcode. Skips comments and free spaces
generate_base64(source_path)
returns base64 generated from source path (.png)
wrap_as_thumbnail(img_as_base64, img_w, img_h)
returns wrapped content as str
delete_thumbnail_normal(path_to_gcode)
Delete space between HEADER_BEG and HEADER_END. Delete all thumbnails of size 220x124
delete_thumbnail_mini(path_to_gcode)
Delete space between HEADER_BEG and HEADER_END. Delete all thumbnails of size 16x16
delete_thumbnail_large(path_to_gcode)
Delete space between HEADER_BEG and HEADER_END. Delete all thumbnails of size 240x320
delete_thumbnail_custom(path_to_gcode, width=WIDTH_NORMAL, height=WIDTH_NORMAL)
Delete space between HEADER_BEG and HEADER_END. Delete all thumbnails of given size.
remove_file(filepath)
Delete file with given filepath
5. Technical Details of Implementations
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.