180 lines
5.5 KiB
Python
180 lines
5.5 KiB
Python
# mapping adapted from https://github.com/spuder/OpenSpool/blob/main/firmware/conf.d/automation.yaml
|
|
def generate_filament_brand_code(filament_type, filament_brand, filament_variant):
|
|
filament_sub_brand = ""
|
|
filament_brand_code = ""
|
|
|
|
if filament_type == "TPU":
|
|
if filament_brand == "Bambu":
|
|
filament_brand_code = "GFU01"
|
|
filament_sub_brand = "TPU 95A"
|
|
else:
|
|
filament_brand_code = "GFU99"
|
|
filament_sub_brand = "TPU"
|
|
|
|
elif filament_type == "PLA":
|
|
if filament_brand == "PolyTerra":
|
|
filament_brand_code = "GFL01"
|
|
filament_sub_brand = "PolyTerra PLA"
|
|
elif filament_brand == "PolyLite":
|
|
filament_brand_code = "GFL00"
|
|
filament_sub_brand = "PolyLite PLA"
|
|
elif filament_brand == "Bambu":
|
|
if filament_variant == "Basic":
|
|
filament_brand_code = "GFA00"
|
|
filament_sub_brand = "PLA Basic"
|
|
elif filament_variant == "Matte":
|
|
filament_brand_code = "GFA01"
|
|
filament_sub_brand = "PLA Matte"
|
|
elif filament_variant == "Metal":
|
|
filament_brand_code = "GFA02"
|
|
filament_sub_brand = "PLA Metal"
|
|
elif filament_variant == "Impact":
|
|
filament_brand_code = "GFA03"
|
|
filament_sub_brand = "PLA Impact"
|
|
else:
|
|
filament_brand_code = "GFA00"
|
|
filament_sub_brand = "PLA Basic"
|
|
else:
|
|
filament_brand_code = "GFL99"
|
|
filament_sub_brand = "PLA"
|
|
|
|
elif filament_type == "PETG":
|
|
if filament_brand == "Overture":
|
|
filament_brand_code = "GFG99" # Placeholder code
|
|
filament_sub_brand = "PETG"
|
|
else:
|
|
filament_brand_code = "GFG99"
|
|
filament_sub_brand = "PETG"
|
|
|
|
elif filament_type == "PET-CF":
|
|
if filament_brand == "Bambu":
|
|
filament_brand_code = "GFT00"
|
|
filament_sub_brand = "PET-CF"
|
|
else:
|
|
filament_brand_code = "GFG99"
|
|
filament_sub_brand = "PET-CF"
|
|
|
|
elif filament_type == "ASA":
|
|
filament_brand_code = "GFB98"
|
|
filament_sub_brand = "ASA"
|
|
|
|
elif filament_type == "ABS":
|
|
if filament_brand == "Bambu":
|
|
filament_brand_code = "GFB00"
|
|
filament_sub_brand = "ABS"
|
|
else:
|
|
filament_brand_code = "GFB99"
|
|
filament_sub_brand = "ABS"
|
|
|
|
elif filament_type == "PC":
|
|
if filament_brand == "Bambu":
|
|
filament_brand_code = "GFC00"
|
|
filament_sub_brand = "PC"
|
|
else:
|
|
filament_brand_code = "GFC99"
|
|
filament_sub_brand = "PC"
|
|
|
|
elif filament_type == "PA":
|
|
filament_brand_code = "GFN99"
|
|
filament_sub_brand = "PA"
|
|
|
|
elif filament_type == "PA-CF":
|
|
if filament_brand == "Bambu":
|
|
filament_brand_code = "GFN03"
|
|
filament_sub_brand = "PA-CF"
|
|
else:
|
|
filament_brand_code = "GFN98"
|
|
filament_sub_brand = "PA-CF"
|
|
|
|
elif filament_type == "PLA-CF":
|
|
filament_brand_code = "GFL98"
|
|
filament_sub_brand = "PLA-CF"
|
|
|
|
elif filament_type == "PVA":
|
|
filament_brand_code = "GFS99"
|
|
filament_sub_brand = "PVA"
|
|
|
|
elif filament_type == "Support":
|
|
if filament_variant == "G":
|
|
filament_brand_code = "GFS01"
|
|
filament_sub_brand = "Support G"
|
|
elif filament_variant == "W":
|
|
filament_brand_code = "GFS00"
|
|
filament_sub_brand = "Support W"
|
|
else:
|
|
filament_brand_code = "GFS00"
|
|
filament_sub_brand = "Support W"
|
|
else:
|
|
print(f"Unknown filament type: {filament_type}")
|
|
|
|
return {"brand_code": filament_brand_code,
|
|
"sub_brand_code": filament_sub_brand
|
|
}
|
|
|
|
|
|
def generate_filament_temperatures(filament_type, filament_brand):
|
|
filament_min_temp = 150
|
|
filament_max_temp = 300
|
|
|
|
if not filament_type:
|
|
print("Skipping temperature generation as filament_type is empty.")
|
|
return
|
|
|
|
if filament_type == "TPU":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 200
|
|
filament_max_temp = 250
|
|
else:
|
|
print(f"Unknown temperatures for TPU brand: {filament_brand}")
|
|
filament_min_temp = 200
|
|
filament_max_temp = 250
|
|
elif filament_type == "PLA":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 190
|
|
filament_max_temp = 240
|
|
else:
|
|
print(f"Unknown temperatures for PLA brand: {filament_brand}")
|
|
filament_min_temp = 190
|
|
filament_max_temp = 240
|
|
elif filament_type == "PETG":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 220
|
|
filament_max_temp = 270
|
|
else:
|
|
print(f"Unknown temperatures for PETG brand: {filament_brand}")
|
|
filament_min_temp = 220
|
|
filament_max_temp = 270
|
|
elif filament_type == "ASA":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 240
|
|
filament_max_temp = 280
|
|
else:
|
|
print(f"Unknown temperatures for ASA brand: {filament_brand}")
|
|
filament_min_temp = 240
|
|
filament_max_temp = 280
|
|
|
|
elif filament_type == "PC":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 250
|
|
filament_max_temp = 300
|
|
else:
|
|
print(f"Unknown temperatures for PC brand: {filament_brand}")
|
|
filament_min_temp = 250
|
|
filament_max_temp = 300
|
|
|
|
|
|
elif filament_type == "PA":
|
|
if filament_brand == "Generic":
|
|
filament_min_temp = 260
|
|
filament_max_temp = 300
|
|
else:
|
|
print(f"Unknown temperatures for PA brand: {filament_brand}")
|
|
filament_min_temp = 260
|
|
filament_max_temp = 300
|
|
else:
|
|
print(f"Unknown filament type: {filament_type}")
|
|
|
|
return {"filament_min_temp": filament_min_temp,
|
|
"filament_max_temp": filament_max_temp
|
|
}
|