From 1724f67bdfdc29b7679aceef3060ee994fa222dd Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Thu, 7 Feb 2019 22:39:31 +0100 Subject: [PATCH] Delete never to be finished printer generator This should have become a 3D printer using strings in a delta configuration. --- boxes/generators/printer.py | 192 ------------------------------------ 1 file changed, 192 deletions(-) delete mode 100644 boxes/generators/printer.py diff --git a/boxes/generators/printer.py b/boxes/generators/printer.py deleted file mode 100644 index e932ecf..0000000 --- a/boxes/generators/printer.py +++ /dev/null @@ -1,192 +0,0 @@ -#!/usr/bin/env python3 -# Copyright (C) 2013-2014 Florian Festi -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -from boxes import * - - -class Printer(Boxes): - """Work in progress""" - - webinterface = False - - def __init__(self, r=250, h=400, d_c=100): - Boxes.__init__(self) - - self.addSettingsArgs(edges.FingerJointSettings) - - self.r = r - self.h = h - self.d_c = d_c - # idlers - self.D_i = 17.0 - self.d_i = 5.0 - self.w_i = 7.0 # includes washers - - def mainPlate(self, nr): - r = self.r - t2 = 0.5 * self.thickness - if nr: - return - self.moveTo(r - 5, r, -90) - self.hole(0, 0, r - 80) - - D_i2 = self.D_i / 2 - w_i2 = self.w_i / 2 - - d_c2 = self.d_c / 2 - - for i in range(6): - self.ctx.save() - self.moveTo(0, 0, i * 60) - - # winches - if i % 2: - self.fingerHolesAt(r - 80, (d_c2 + 20), 70, angle=0) - self.fingerHolesAt(r - 80, -(d_c2 + 20), 70, angle=0) - if i == 5: - self.fingerHolesAt(r - 70 + t2, -(d_c2 + 20 + t2), 40, angle=-90) - else: - self.fingerHolesAt(r - 70 + t2, (d_c2 + 20 + t2), 40, angle=90) - # idler buck - else: - d = 0.5 * (self.thickness) + w_i2 - - for y in (-d - d_c2, d - d_c2, -d + d_c2, d + d_c2): - self.fingerHolesAt(r - 30, y, 30, angle=0) - - self.hole(r - 15 + D_i2, -self.d_c / 2, 0.4) - self.hole(r - 15 + D_i2, self.d_c / 2, 0.4) - self.ctx.restore() - - def head(self): - d_c = self.d_c - - self.moveTo(self.spacing + 10, self.spacing) - for i in range(3): - self.hole(0, 5, 0.3) - self.fingerHolesAt(25, 0, 20) - self.fingerHolesAt(75, 0, 20) - self.edge(d_c) - self.hole(0, 5, 0.3) - self.corner(120, 10) - - def support(self, x, y, edges="ff", pair=False, callback=None, move=None): - if len(edges) != 2: - raise ValueError("Two edges required") - - edges = [self.edges.get(e, e, ) for e in edges] - - overallwidth = x + edges[0].spacing() + self.edges["e"].spacing() - overallheight = y + edges[1].spacing() + self.edges["e"].spacing() - - r = 2 * self.thickness - - if pair: - overallwidth += edges[0].spacing() + r - self.edges["e"].spacing() - overallheight += edges[1].spacing() + r - self.edges["e"].spacing() - - if self.move(overallwidth, overallheight, move, before=True): - return - - self.ctx.save() - self.moveTo(edges[0].margin(), edges[1].margin()) - - angle = math.degrees(math.atan((y - r) / float(x - r))) - - self.cc(callback, 0) - edges[1](x) - self.corner(90) - # self.edge(self.thickness) - self.corner(90 - angle, r) - self.edge(((x - r) ** 2 + (y - r) ** 2) ** 0.5) - self.corner(angle, r) - # self.edge(self.thickness) - self.corner(90) - self.cc(callback, 0) - edges[0](y) - self.corner(90) - self.ctx.restore() - - if pair: - self.ctx.save() - self.moveTo(overallwidth, overallheight, 180) - self.support(x, y, edges, False, callback) - self.ctx.restore() - - self.move(overallwidth, overallheight, move) - - def render(self): - self.open() - self.edges["f"].settings.setValues(self.thickness, surroundingspaces=0) - self.ctx.save() - - for i in range(3): - # motor mounts - self.rectangularWall(70, 70, edges="feee", callback=[ - lambda: self.NEMA(23, 35, 35), ], - move="right") - # winch bucks - self.rectangularWall(50, 70, edges="efee", callback=[ - None, - lambda: self.hole(35, 35, 8.5), - None, - lambda: self.fingerHolesAt(10, 0, 50)], move="right") - - self.support(40, 50, move="right", pair=True) - self.support(40, 50, move="right") - self.ctx.restore() - self.moveTo(0, 80) - self.ctx.save() - - # idler bucks - for i in range(12): - self.rectangularWall(30, 30, edges="feee", callback=[ - lambda: self.hole(15, 15, 3), ], move="right") - # Cable adjustment blocks - self.ctx.save() - - for i in range(6): - def holes(): - self.hole(5, 4, 1.5) - self.hole(15, 4, 1.5) - - self.rectangularWall(20, 8, edges="feee", callback=[holes, ], - move="right") - self.ctx.restore() - self.moveTo(0, 20) - - # Cable adjustment glyders - for i in range(6): - self.rectangularWall(8, 10, move="right", callback=[ - lambda: self.hole(4, 4, 1.5), - None, - lambda: self.hole(4, 1.5, 0.4)]) - self.rectangularWall(8, 10, move="right", callback=[ - lambda: self.nutHole("M3", 4, 4), - None, - lambda: self.hole(4, 1.5, 0.4)]) - - self.ctx.restore() - self.moveTo(0, 40) - - # mainPlate - self.rectangularWall(2 * self.r - 10, 2 * self.r - 10, edges="ffff", - callback=self.mainPlate, move="right") - - self.head() - self.close() - -