Skip to content

Instantly share code, notes, and snippets.

@vontrapp
Created September 5, 2017 01:03
Show Gist options
  • Save vontrapp/01e9ce765e06b8a600f139a9a5ee32d1 to your computer and use it in GitHub Desktop.
Save vontrapp/01e9ce765e06b8a600f139a9a5ee32d1 to your computer and use it in GitHub Desktop.
A quick script to give real filament diameter from a measured 1 shell printed wall.
import argparse
import math
argp = argparse.ArgumentParser()
argp.add_argument("measured", type=float, help="Measured wall width")
argp.add_argument("nozzle", type=float, default=0.4, nargs="?", help="Nozzle width (or what the wall is supposed to measure) default=0.4")
argp.add_argument("filament", type=float, default=1.75, nargs="?", help="Filament diameter, default=1.75")
argp.add_argument("-n", "--nozzle", type=float)
argp.add_argument("-f", "--filament", type=float)
args = argp.parse_args()
volume_overextrude = args.measured / args.nozzle
print volume_overextrude
# pi*r_for_measured^2 / pi*r_for_filament^2 = volume_overextrude
# r_for_measured^2 / r_for_filament^2 = volume_overextrude
# volume_overextrude * r_for_filament^2 = r_for_measured^2
# r_for_measured = sqrt(volume_overextrude * r_for_filament^2)
new_r = math.sqrt(volume_overextrude * (args.filament/2)**2)
new_d = new_r * 2
print "Adjusted filament diameter = %s" % new_d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment