1
0
mirror of https://github.com/nophead/Mendel90.git synced 2025-01-17 04:48:15 +01:00

Can now make a single STL regardless of whether it is on the BOM.

This commit is contained in:
Chris Palmer 2012-03-14 23:15:12 +00:00
parent 3e16e05231
commit 1e86cd17aa

31
stls.py
View File

@ -11,8 +11,10 @@ def stls(machine, parts = None):
# #
target_dir = machine + "/stls" target_dir = machine + "/stls"
if os.path.isdir(target_dir): if os.path.isdir(target_dir):
shutil.rmtree(target_dir) if not parts:
os.makedirs(target_dir) shutil.rmtree(target_dir)
else:
os.makedirs(target_dir)
# #
# Set the target machine # Set the target machine
@ -24,16 +26,16 @@ def stls(machine, parts = None):
# #
# Make a list of all the stls in the BOM # Make a list of all the stls in the BOM
# #
targets = [] if parts:
for line in open(machine + "/bom/bom.txt", "rt").readlines(): targets = parts
words = line.split() else:
if words: targets = []
last_word = words[-1] for line in open(machine + "/bom/bom.txt", "rt").readlines():
if len(last_word) > 4 and last_word[-4:] == ".stl": words = line.split()
if not parts or (last_word in parts): if words:
targets.append(last_word.replace(".stl", "_stl")) last_word = words[-1]
if len(last_word) > 4 and last_word[-4:] == ".stl":
targets.append(last_word)
# #
# Find all the scad files # Find all the scad files
# #
@ -46,7 +48,8 @@ def stls(machine, parts = None):
words = line.split() words = line.split()
if(len(words) and words[0] == "module"): if(len(words) and words[0] == "module"):
module = words[1].split('(')[0] module = words[1].split('(')[0]
if module in targets: stl = module.replace("_stl", ".stl")
if stl in targets:
# #
# make a file to use the module # make a file to use the module
# #
@ -60,7 +63,7 @@ def stls(machine, parts = None):
# #
stl_name = target_dir + "/" + module[:-4] + ".stl" stl_name = target_dir + "/" + module[:-4] + ".stl"
openscad.run("-o", stl_name, stl_maker_name) openscad.run("-o", stl_name, stl_maker_name)
targets.remove(module) targets.remove(stl)
# #
# List the ones we didn't find # List the ones we didn't find