26 lines
873 B
Python
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()
|