def flatten_glider(glider, path): # Temporary declarations: allowance_general = 0.01 parts = [] drawing = dxf.drawing(path) drawing.add_layer('MARKS') drawing.add_layer('CUTS') for cell in glider.cells: left, right = flattened_cell(cell) left_out = left.copy() right_out = right.copy() left_out.add_stuff(-allowance_general) right_out.add_stuff(allowance_general) right_out.data = right_out.data[::-1] left_out += right_out right.data = right.data[::-1] left = left + right left.layer = 'MARKS' left_out.layer = 'CUTS' parts.append([left, left_out]) startx = 0 for liste in parts: startpoint = [startx + 0.1, 0] group = DXFList() for element in liste: startx = max(startx, startpoint[0] + max([x[0] for x in element.data])) group.append( dxf.polyline(points=(element.data + startpoint) * 1000, layer=element.layer)) drawing.add(group) drawing.save() return True
def flatten_glider(glider, path): # Temporary declarations: allowance_general = 0.01 glider.recalc() parts = [] drawing = dxf.drawing(path) drawing.add_layer('MARKS') drawing.add_layer('CUTS') for cell in glider.cells: left, right = flattened_cell(cell) left_out = left.copy() right_out = right.copy() left_out.add_stuff(-allowance_general) right_out.add_stuff(allowance_general) right_out.data = right_out.data[::-1] left_out += right_out right.data = right.data[::-1] left = left + right left.layer = 'MARKS' left_out.layer = 'CUTS' parts.append([left, left_out]) startx = 0 for liste in parts: startpoint = [startx+0.1, 0] group = DXFList() for element in liste: startx = max(startx, startpoint[0]+max([x[0] for x in element.data])) group.append(dxf.polyline(points=(element.data+startpoint)*1000, layer=element.layer)) drawing.add(group) drawing.save() return True