sfc/slicer.py: add overshoot only after slicing

Otherwise, we slice below the bottom of the piece , which probably won't
go too well ..
This commit is contained in:
Werner Almesberger 2015-01-23 02:49:20 -03:00
parent a20499bb9f
commit dc79b03b1d
1 changed files with 6 additions and 5 deletions

View File

@ -217,17 +217,18 @@ else:
if height is not None and height < 0 and z_levels[-1] > height:
z_levels.append(height - z_off)
z_levels[-1] += end
for next_z in z_levels:
for i in range(0, len(z_levels)):
next_z = z_levels[i]
wires = shape.slice(Base.Vector(0, 0, 1), next_z + epsilon)
if i == len(z_levels) - 1:
next_z += end
if z_step is None or last_z is None or last_z - z_step <= next_z:
dump_level(wires, next_z + z_off)
else:
d = last_z - next_z
n = int(d // z_step) + 1
for i in range(0, n):
dump_level(wires, last_z - (i + 1) * (d / n) + z_off)
for j in range(0, n):
dump_level(wires, last_z - (j + 1) * (d / n) + z_off)
last_z = next_z
#