GuitarModels/compile_nylon.py

26 lines
873 B
Python

from subprocess import Popen
import multiprocessing
# import subprocess
frets = list(range(22))
fret_pairs = list(zip(frets, frets[1:])) + list(zip(frets, frets[2:])) #+ list(zip(frets, frets[3:]))
def run_openscad(frets):
i, j = frets
p = Popen(["openscad", "--backend=manifold", "--enable=all", "-o", f"output/nylon6_{i}_{j}.3mf", "-D", f"F0={i}", "-D", f"F1={j}", "CFTubesNylon.scad"])
p.wait()
def main():
print("Compiling .3mf files for fret pairs: ", fret_pairs)
# processes = [Popen(["openscad", "--backend=manifold", "--enable=all", "-o", f"output/nylon6_{i}_{j}.3mf", "-D", f"F0={i}", "-D", f"F1={j}", "CFTubesNylon.scad"]) for (i,j) in fret_pairs]
# for p in processes:
# p.wait()
with multiprocessing.Pool(2) as p:
for result in p.imap_unordered(run_openscad, fret_pairs):
pass
print("Finished compiling!")
if __name__ == '__main__':
main()