from pathlib import Path import FreeCAD as App import traceback out = Path(r'C:\projects\wheel\models\70_m4_drill_plain') out.mkdir(parents=True, exist_ok=True) try: source = Path(r'C:\projects\wheel\scripts\build_70_m4_drill_plain.py') exec(compile(source.read_text(encoding='utf-8'), str(source), 'exec'), {'__name__':'__main__','__file__':str(source)}) (out / 'build_status.txt').write_text('OK', encoding='utf-8') except: (out / 'build_status.txt').write_text(traceback.format_exc(), encoding='utf-8') for name in list(App.listDocuments()): App.closeDocument(name) Gui.getMainWindow().close()