diff --git a/boxes/__init__.py b/boxes/__init__.py index 44385b3..6242217 100755 --- a/boxes/__init__.py +++ b/boxes/__init__.py @@ -217,9 +217,10 @@ class Boxes: name = part.__class__.__name__ name = name[0].lower() + name[1:] #if not hasattr(self, name): - setattr(self, name, part) if isinstance(part, edges.Edge): self.edges[part.char] = part + else: + setattr(self, name, part) def _buildObjects(self): """Add default edges and parts """ @@ -884,35 +885,35 @@ class Boxes: """ - overallwidth = x+2*self.fingerJointEdge.spacing() - overallheight = y+2*self.fingerJointEdge.spacing() + overallwidth = x+2*self.edges["f"].spacing() + overallheight = y+2*self.edges["f"].spacing() if self.move(overallwidth, overallheight, move, before=True): return self.ctx.save() - self.moveTo(self.fingerJointEdge.margin(), - self.fingerJointEdge.margin()) + self.moveTo(self.edges["f"].margin(), + self.edges["f"].margin()) self.moveTo(r, 0) self.cc(callback, 0) - self.fingerJointEdge(x/2.0-r, bedBolts=self.getEntry(bedBolts, 0), + self.edges["f"](x/2.0-r, bedBolts=self.getEntry(bedBolts, 0), bedBoltSettings=self.getEntry(bedBoltSettings, 0)) self.cc(callback, 1) - self.fingerJointEdge(x/2.0-r, bedBolts=self.getEntry(bedBolts, 1), + self.edges["f"](x/2.0-r, bedBolts=self.getEntry(bedBolts, 1), bedBoltSettings=self.getEntry(bedBoltSettings, 1)) for i, l in zip(range(3), (y, x, y)): self.corner(90, r) self.cc(callback, i+2) - self.fingerJointEdge(l-2*r, bedBolts=self.getEntry(bedBolts, i+2), + self.edges["f"](l-2*r, bedBolts=self.getEntry(bedBolts, i+2), bedBoltSettings=self.getEntry(bedBoltSettings, i+2)) self.corner(90, r) self.ctx.restore() self.ctx.save() - self.moveTo(self.fingerJointEdge.margin(), - self.fingerJointEdge.margin()) + self.moveTo(self.edges["f"].margin(), + self.edges["f"].margin()) if holesMargin is not None: self.moveTo(holesMargin, holesMargin) @@ -974,13 +975,13 @@ class Boxes: self.cc(callback, 0, y=bottomwidth+self.burn) bottom(x/2.0-r) if (y-2*r) < 1E-3: - self.flexEdge(2*c4, h+topwidth+bottomwidth) + self.edges["X"](2*c4, h+topwidth+bottomwidth) self.cc(callback, 2, y=bottomwidth+self.burn) bottom(x-2*r) - self.flexEdge(2*c4, h+topwidth+bottomwidth) + self.edges["X"](2*c4, h+topwidth+bottomwidth) else: for i, l in zip(range(4), (y, x, y, 0)): - self.flexEdge(c4, h+topwidth+bottomwidth) + self.edges["X"](c4, h+topwidth+bottomwidth) self.cc(callback, i+1, y=bottomwidth+self.burn) if i < 3: bottom(l-2*r) diff --git a/boxes/generators/flexbox.py b/boxes/generators/flexbox.py index 4637e86..15bfb2c 100755 --- a/boxes/generators/flexbox.py +++ b/boxes/generators/flexbox.py @@ -31,7 +31,7 @@ class FlexBox(boxes.Boxes): self.moveTo(r, 0) for i, l in zip(range(2), (x, y)): self.cc(callback, i) - self.fingerJointEdge(l-2*r) + self.edges["f"](l-2*r) self.corner(90, r) self.cc(callback, 2) self.edge(x-2*r) @@ -39,7 +39,7 @@ class FlexBox(boxes.Boxes): self.cc(callback, 3) self.latch(self.latchsize) self.cc(callback, 4) - self.fingerJointEdge(y-2*r-self.latchsize) + self.edges["f"](y-2*r-self.latchsize) self.corner(90, r) def surroundingWall(self): @@ -48,13 +48,13 @@ class FlexBox(boxes.Boxes): c4 = math.pi * r * 0.5 self.edges["F"](y-2*r-self.latchsize, False) - self.flexEdge(c4, h+2*self.thickness) + self.edges["X"](c4, h+2*self.thickness) self.edges["F"](x-2*r, False) - self.flexEdge(c4, h+2*self.thickness) + self.edges["X"](c4, h+2*self.thickness) self.edges["F"](y-2*r, False) - self.flexEdge(c4, h+2*self.thickness) + self.edges["X"](c4, h+2*self.thickness) self.edge(x-2*r) - self.flexEdge(c4, h+2*self.thickness) + self.edges["X"](c4, h+2*self.thickness) self.latch(self.latchsize, False) self.edge(h+2*self.thickness) self.latch(self.latchsize, False, True) diff --git a/boxes/generators/flexbox2.py b/boxes/generators/flexbox2.py index ad639ae..f7b8527 100755 --- a/boxes/generators/flexbox2.py +++ b/boxes/generators/flexbox2.py @@ -29,10 +29,10 @@ class FlexBox(Boxes): @restore def flexBoxSide(self, x, y, r, callback=None): self.cc(callback, 0) - self.fingerJointEdge(x) + self.edges["f"](x) self.corner(90, 0) self.cc(callback, 1) - self.fingerJointEdge(y-r) + self.edges["f"](y-r) self.corner(90, r) self.cc(callback, 2) self.edge(x-2*r) @@ -40,7 +40,7 @@ class FlexBox(Boxes): self.cc(callback, 3) self.latch(self.latchsize) self.cc(callback, 4) - self.fingerJointEdge(y-r-self.latchsize) + self.edges["f"](y-r-self.latchsize) self.corner(90) def surroundingWall(self): @@ -48,11 +48,11 @@ class FlexBox(Boxes): self.edges["F"](y-r, False) if (x-2*r < 0.1): - self.flexEdge(2*self.c4, h+2*self.thickness) + self.edges["X"](2*self.c4, h+2*self.thickness) else: - self.flexEdge(self.c4, h+2*self.thickness) + self.edges["X"](self.c4, h+2*self.thickness) self.edge(x-2*r) - self.flexEdge(self.c4, h+2*self.thickness) + self.edges["X"](self.c4, h+2*self.thickness) self.latch(self.latchsize, False) self.edge(h+2*self.thickness) self.latch(self.latchsize, False, True) diff --git a/boxes/generators/flexbox3.py b/boxes/generators/flexbox3.py index 517b332..3d92f1c 100755 --- a/boxes/generators/flexbox3.py +++ b/boxes/generators/flexbox3.py @@ -63,7 +63,7 @@ class FlexBox(Boxes): x, y, z, r, d = self.x, self.y, self.z, self.radius, self.d self.edges["F"](y-r, False) - self.flexEdge(self.c4, z+2*self.thickness) + self.edges["X"](self.c4, z+2*self.thickness) self.corner(-90) self.edge(d) self.corner(90) diff --git a/boxes/generators/folder.py b/boxes/generators/folder.py index a55be28..8b14e3b 100755 --- a/boxes/generators/folder.py +++ b/boxes/generators/folder.py @@ -34,7 +34,7 @@ class Folder(Boxes): self.open(width=2*x+3*h+20, height=y+20) self.moveTo(r+self.thickness, self.thickness) self.edge(x-r) - self.flexEdge(c2, y) + self.edges["X"](c2, y) self.edge(x-r) self.corner(90, r) self.edge(y-2*r) diff --git a/boxes/generators/lamp.py b/boxes/generators/lamp.py index 832a2a1..8cf58da 100755 --- a/boxes/generators/lamp.py +++ b/boxes/generators/lamp.py @@ -61,11 +61,11 @@ class Lamp(Boxes): def side(self, y, h): return - self.fingerJointEdge(y) + self.edges["f"](y) self.corner(90) - self.fingerJointEdge(h) + self.edges["f"](h) self.roundedTriangle(y, 75, 25) - self.fingerJointEdge(h) + self.edges["f"](h) self.corner(90) def render(self, r, w, x, y, h): @@ -79,14 +79,14 @@ class Lamp(Boxes): self.open(width=1000, height=1000) - self.fingerJointSettings = (5, 5) # XXX + #self.edges["f"].settings = (5, 5) # XXX s = RoundedTriangleSettings(self.thickness, angle=72, r_hole=2) self.addPart(RoundedTriangle(self, s)) self.flexSettings = (3, 5.0, 20.0) - self.fingerJointEdge.settings.setValues(self.thickness, finger=5, space=5, relative=False) + self.edges["f"].settings.setValues(self.thickness, finger=5, space=5, relative=False) d = 2*(r+w) self.roundedPlate(d, d, r, move="right", callback=[ diff --git a/boxes/generators/silverwarebox.py b/boxes/generators/silverwarebox.py index c86b66b..5ecbdd4 100755 --- a/boxes/generators/silverwarebox.py +++ b/boxes/generators/silverwarebox.py @@ -45,24 +45,24 @@ using flex for rounded corners""" def centerWall(self, x, h): self.ctx.save() - self.moveTo(self.fingerJointEdge.spacing(), self.fingerJointEdge.spacing()) + self.moveTo(self.edges["f"].spacing(), self.edges["f"].spacing()) for i in range(2, 5): self.fingerHolesAt(i*x/6.0, 0, h-10) - self.fingerJointEdge(x) + self.edges["f"](x) self.corner(90) - self.fingerJointEdge(h-10) + self.edges["f"](h-10) self.corner(90) self.handle(x, 150, 120) #self.handle(x, 40, 30, r=2) self.corner(90) - self.fingerJointEdge(h-10) + self.edges["f"](h-10) self.corner(90) self.ctx.restore() - self.moveTo(x+2*self.fingerJointEdge.spacing()) + self.moveTo(x+2*self.edges["f"].spacing()) ################################################## ### main diff --git a/documentation/presentation.odp b/documentation/presentation.odp index 5292429..f9b6b11 100644 Binary files a/documentation/presentation.odp and b/documentation/presentation.odp differ