29 lines
671 B
Python
29 lines
671 B
Python
|
from shapely import geometry
|
||
|
import axi
|
||
|
import sys
|
||
|
|
||
|
def main():
|
||
|
size = axi.A3_SIZE
|
||
|
bounds = axi.A3_BOUNDS
|
||
|
d = axi.Drawing.load(sys.argv[1])
|
||
|
print(len(d.paths[0]))
|
||
|
d = d.scale_to_fit(*size).center(*size)
|
||
|
d = d.simplify_paths(0.01 / 25.4)
|
||
|
print(len(d.paths[0]))
|
||
|
|
||
|
g = geometry.Polygon(d.paths[0])
|
||
|
while True:
|
||
|
b = -0.25 / 25.4
|
||
|
g = g.buffer(b)
|
||
|
if g.is_empty:
|
||
|
break
|
||
|
g = g.simplify(0.01 / 25.4)
|
||
|
d.paths.extend(axi.shapely_to_paths(g))
|
||
|
|
||
|
print(d.bounds)
|
||
|
d.dump('out.axi')
|
||
|
d.render(bounds=bounds, line_width=0.2/25.4).write_to_png('out.png')
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|