# 螺丝试装件的切片预设(2026-09-30):同 bambu_flatten.py,工艺仍用 0.20 Standard(换 0.12mm Fine 预设 CLI 返回 -18), # 覆盖成层高 0.12、实心、加 brim。 import json, os, sys SYS = os.path.join(os.environ['APPDATA'], 'BambuStudio', 'system', 'BBL') def load(kind, name): d = json.load(open(os.path.join(SYS, kind, name + '.json'), encoding='utf-8')) parent = d.get('inherits') base = load(kind, parent) if parent else {} base.update(d) base.pop('inherits', None) return base out = sys.argv[1] spec = [('machine', 'Bambu Lab A1 0.4 nozzle', {}), ('process', '0.20mm Standard @BBL A1', {'layer_height': '0.12', 'wall_loops': '4', 'sparse_infill_density': '100%', 'brim_type': 'outer_only', 'brim_width': '3'}), ('filament', 'Generic PETG @BBL A1', {})] for kind, name, over in spec: d = load(kind, name) d.update(over) d['from'] = 'system' json.dump(d, open(os.path.join(out, kind + '.json'), 'w', encoding='utf-8'), ensure_ascii=False, indent=1) keys = ('filament_type', 'nozzle_temperature', 'wall_loops', 'layer_height', 'sparse_infill_density', 'brim_type') print(kind, {k: d[k] for k in keys if k in d})