diff -r 14a420653a5f -r 9ec8fa3d0348 cylindertransport.py --- a/cylindertransport.py Mon Apr 03 01:32:02 2017 +0200 +++ b/cylindertransport.py Mon Apr 03 02:14:43 2017 +0200 @@ -1,50 +1,16 @@ from math import sqrt from PIL import Image, ImageDraw, ImageFont import argparse, sys - -# pfad zu den TTF files (arial.ttf) -FONTBASE = "/usr/share/fonts/truetype/msttcorefonts/" - -SPACE_MIN = 10 # minimum offset between bottles - -SCADSCRIPT = "include \n" +from data import CYLINDER, PIPES +from config import FONTBASE -# Durchmesser, Laenge, Volumen und Gewicht der verfuegbaren Tauchflaschen -CYLINDER = { - "03" : [100, 515, 3, 4.7], - "05" : [140, 466, 5, 5.7], - "07" : [140, 605, 7, 8.8], - "08" : [171, 490, 8, 10.4], - "10" : [171, 595, 10, 12.4], - "12S" : [204, 550, 12, 15.4], - "12L" : [171, 690, 12, 14.5], - "15" : [204, 640, 15, 18.1], -} - -PIPES = [ - ["DN8", 13.5], - ["DN10", 17.2], - ["DN15", 21.3], - ["DN20", 26.9], - ["DN25", 33.7], - ["DN32", 42.4], - ["DN40", 48.3], - ["DN50", 60.3], - ["DN65", 76.1], - ["DN80", 88.9], - ["DN100", 114.3], - ["DN125", 139.7], - ["DN150", 168.3], -] +SCADSCRIPT = "// Color support only in compile mode (F5)\ninclude \n" def offset(r1, r2): - o = (2*sqrt(r1*r2)) - #print "offset %i" % o - return o + return (2*sqrt(r1*r2)) -def calc_min(r1, r2): +def calc_min(r1, r2, space_min): # stupider annaehreungsversuch, bis sich die beiden Tauchflaschen r1 und r2 nicht mehr beruehren - #print "r1=%.0f r2=%.0f" % (r1, r2) for p in PIPES: i = p[1] / 2 if i>r1 or i>r2: @@ -53,7 +19,7 @@ x1 = offset(r1, i) x2 = offset(r2, i) x = (x1 + x2) - (r1+r2) - if x >= SPACE_MIN: + if x >= space_min: print "%s Pipe (%.1fmm), Cylinder spacing: %imm" % (p[0], p[1], x) return [r1, i, r2, p[0]] return None @@ -69,7 +35,6 @@ def draw_bottles(draw, args): global SCADSCRIPT bottles = args.cylinders - SPACE_MIN = args.space_min spacerY1 = 200 spacerY2 = 220 @@ -77,7 +42,7 @@ r1 = CYLINDER[bottles[0]][0] / 2 r2 = CYLINDER[bottles[1]][0] / 2 x = 20 + r1 # start offset x - r1, r2, r3, dn = calc_min(r1, r2) + r1, r2, r3, dn = calc_min(r1, r2, args.space_min) circ(draw, x, r2, dn, 0.5) SCADSCRIPT = SCADSCRIPT + "spacer(%i, %i, %i, %i);\n" % ( x, r2, r3, CYLINDER[bottles[0]][1]) @@ -86,7 +51,7 @@ for i in range(0, len(bottles)-1): r1 = CYLINDER[bottles[i]][0] / 2 r2 = CYLINDER[bottles[i+1]][0] / 2 - r1, r2, r3, dn = calc_min(r1, r2) + r1, r2, r3, dn = calc_min(r1, r2, args.space_min) # draw bottle circ(draw, x, r1, "Tank "+bottles[i]) SCADSCRIPT = SCADSCRIPT + "tank(%i, %i, %i);\n" % ( @@ -130,7 +95,7 @@ parser.add_argument('cylinders', metavar='cylinder', type=str, nargs='+', help='cylinder types') parser.add_argument('--space', dest='space_min', type=int, - default=SPACE_MIN, + default=10, help='minimum space between cylinders (mm)') args = parser.parse_args()