Mon, 03 Apr 2017 01:32:02 +0200
output openscad script
cylindertransport.py | file | annotate | diff | comparison | revisions | |
cylindertransport.scad | file | annotate | diff | comparison | revisions |
--- a/cylindertransport.py Sun Apr 02 23:59:00 2017 +0200 +++ b/cylindertransport.py Mon Apr 03 01:32:02 2017 +0200 @@ -7,6 +7,8 @@ SPACE_MIN = 10 # minimum offset between bottles +SCADSCRIPT = "include <cylindertransport.scad>\n" + # Durchmesser, Laenge, Volumen und Gewicht der verfuegbaren Tauchflaschen CYLINDER = { "03" : [100, 515, 3, 4.7], @@ -35,8 +37,6 @@ ["DN150", 168.3], ] - - def offset(r1, r2): o = (2*sqrt(r1*r2)) #print "offset %i" % o @@ -67,6 +67,7 @@ def draw_bottles(draw, args): + global SCADSCRIPT bottles = args.cylinders SPACE_MIN = args.space_min @@ -78,6 +79,8 @@ x = 20 + r1 # start offset x r1, r2, r3, dn = calc_min(r1, r2) circ(draw, x, r2, dn, 0.5) + SCADSCRIPT = SCADSCRIPT + "spacer(%i, %i, %i, %i);\n" % ( + x, r2, r3, CYLINDER[bottles[0]][1]) x = x + offset(r2, r3) for i in range(0, len(bottles)-1): @@ -86,15 +89,21 @@ r1, r2, r3, dn = calc_min(r1, r2) # draw bottle circ(draw, x, r1, "Tank "+bottles[i]) + SCADSCRIPT = SCADSCRIPT + "tank(%i, %i, %i);\n" % ( + x, r1, CYLINDER[bottles[i]][1]) sx1 = x+r1 x = x + offset(r1, r2) # draw right spacer circ(draw, x, r2, dn, 0.5) + SCADSCRIPT = SCADSCRIPT + "spacer(%i, %i, %i, %i);\n" % ( + x, r2, r1, CYLINDER[bottles[i]][1]) x = x + offset(r2, r3) sx2 = x-r3 if i == (len(bottles)-2): # draw last bottle circ(draw, x, r3, "Tank "+bottles[i+1]) + SCADSCRIPT = SCADSCRIPT + "tank(%i, %i, %i);\n" % ( + x, r3, CYLINDER[bottles[i+1]][1]) x = x + offset(r2, r3) # draw the space between bottles draw.line((sx1, spacerY1, sx1, spacerY2), fill='#ffffff') @@ -106,6 +115,8 @@ # last bottle spacer circ(draw, x, r2, dn, 0.5) + SCADSCRIPT = SCADSCRIPT + "spacer(%i, %i, %i, %i);\n" % ( + x, r2, r3, CYLINDER[bottles[i+1]][1]) def getimage(args): image = Image.new('1', (1000, 250)) #create new image, 1000x500 pixels, 1 bit per pixel @@ -130,4 +141,7 @@ sys.exit(1) image = getimage(args) - image.show() \ No newline at end of file + image.show() + + print "\n------------ START SCAD SCRIPT ------------" + print SCADSCRIPT + "------------ END SCAD SCRIPT ------------"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cylindertransport.scad Mon Apr 03 01:32:02 2017 +0200 @@ -0,0 +1,27 @@ +/* + OpenSCAD Template for visualizing cylindertransport.py +*/ +module tank(x, r, h) { + cap = r; + + translate([x, r, cap]) { + sphere(r = r); // bottom + cylinder(h = h-2*cap, r = r); + } + translate([x, r, h-cap]) { + sphere(r = r); // top + cylinder(h = 30+cap, r = 25); + } +} + +module spacer(x, r, rcylinder, h) { + cap = rcylinder; + + translate([x, r, cap]) { + difference() { + cylinder(h = h-2*cap, r = r); + cylinder(h = h-2*cap, r = r-5); + } + } +} +$fn = 20; \ No newline at end of file