28 行
1.3 KiB
Python
28 行
1.3 KiB
Python
# 螺丝试装件的切片预设(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})
|