fix box_maker_living_hinge
This commit is contained in:
parent
2dec70a6d2
commit
5550e09014
@ -350,7 +350,7 @@ class BoxMakerLivingHinge(inkex.EffectExtension):
|
||||
unit=self.options.unit
|
||||
inside=self.options.inside
|
||||
X = self.svg.unittouu( str(self.options.length) + unit )
|
||||
Y = self.svg.unittouu( str(self.options.width) + unit )
|
||||
Y = self.svg.unittouu( str(self.options.width) + unit )
|
||||
Z = self.svg.unittouu( str(self.options.height) + unit )
|
||||
thickness = self.svg.unittouu( str(self.options.thickness) + unit )
|
||||
nomTab = self.svg.unittouu( str(self.options.tab) + unit )
|
||||
@ -417,7 +417,7 @@ class BoxMakerLivingHinge(inkex.EffectExtension):
|
||||
#center middle row
|
||||
[(2,0,0,1),(2,0,0,1),X,Y,0b0000,0],
|
||||
#right middle row
|
||||
[(3,1,0,1),(2,0,0,1),Z+(self.EllipseCircumference(X/2, Z/2)/4)+thickness,Y,0b1011,1],
|
||||
[(3,1,0,1),(2,0,0,1),Z/2+(self.EllipseCircumference(X/2, Z/2)/4) + X/2,Y,0b1011,1],
|
||||
#center top row
|
||||
[(2,0,0,1),(1,0,0,0),X,Z,0b0010,-1]]
|
||||
elif layout==1: # Inline(compact) Layout
|
||||
@ -425,10 +425,12 @@ class BoxMakerLivingHinge(inkex.EffectExtension):
|
||||
[(1,0,0,0),(1,0,0,0),X,Y,0b0000,0],
|
||||
#Front panel
|
||||
[(2,1,0,0),(1,0,0,0),Z,Y,0b1111,0],
|
||||
#Sides with curves
|
||||
#Side with curves #1
|
||||
[(3,1,0,1),(1,0,0,0),X,Z,0b1000,-2],
|
||||
#Side with curves #2
|
||||
[(4,2,0,1),(1,0,0,0),X,Z,0b0010,-1],
|
||||
#Long piece w/ hinge
|
||||
[(5,3,0,1),(1,0,0,0),Z/2+(self.EllipseCircumference(X/2, Z/2)/4) + X/2,Y,0b1011,1]
|
||||
]
|
||||
|
||||
for piece in pieces: # generate and draw each piece of the box
|
||||
@ -460,7 +462,7 @@ class BoxMakerLivingHinge(inkex.EffectExtension):
|
||||
elif piece[5] == -1:
|
||||
self.drawS(self.side(x+dx+skew,y+dy,-b,-c,-b,a,thickness if b else -thickness,dy,0,-1,b,shortSide, True)) # side b (right) when the right side participates in a curve
|
||||
else:
|
||||
#It is a cardnal sin to compare floats, so assume <0.0005 is 0 since the front end only gives you 3 digits of precision
|
||||
#It is a cardinal sin to compare floats, so assume <0.0005 is 0 since the front end only gives you 3 digits of precision
|
||||
if float(0.0005) <= float(self.options.thumbTab):
|
||||
self.side(x+dx+skew,y,-b,a,-b,-c,thickness if b else -thickness,dy,0,1,b,shortSide, False, True, True) #The one call to side that doesn't actually draw. Instead, side draws boxes on its own
|
||||
self.drawS(self.box(x+dx+skew,y+thickness,x+dx+skew+self.svg.unittouu( thumbTab + unit ),y+dy-thickness, True))
|
||||
@ -485,7 +487,7 @@ class BoxMakerLivingHinge(inkex.EffectExtension):
|
||||
if not inside:
|
||||
self.livingHinge3(x+(Z/2), y+thickness, x+(Z/2)+(self.EllipseCircumference(X/2, Z/2)/4), y + dy - thickness, 1, hingeThick)
|
||||
else:
|
||||
self.livingHinge3(x+(Z/2), y + 2*thickness, x+(Z/2)+(self.EllipseCircumference(X/2, Z/2)/4), y + dy - 2*thickness, 1, hingeThick)
|
||||
self.livingHinge3(x+(Z/2), y + 2*thickness, x+(Z/2)+(self.EllipseCircumference(X/2, Z/2)/4), y + dy - 2*thickness, 1, hingeThick)#
|
||||
|
||||
elif hingeOpt == 2: #Double spiral
|
||||
self.livingHinge3(x+(Z/2), y+thickness, x+(Z/2)+(self.EllipseCircumference(X/2, Z/2)/4), y + (dy/2), 1, hingeThick)
|
||||
|
Loading…
Reference in New Issue
Block a user