17 lines
866 B
Plaintext
17 lines
866 B
Plaintext
from pathlib import Path
|
|
import FreeCAD as A,json,traceback
|
|
outdir=Path(r'C:\projects\wheel\models\70_m4_threaded')
|
|
try:
|
|
d=A.openDocument(str(outdir/'70_M4_threaded.FCStd'))
|
|
s=d.getObject('ThreadProfiles');p=d.getObject('Parameters')
|
|
before=s.Geometry[0].Center
|
|
p.set('B6','46 deg');d.recompute()
|
|
after=s.Geometry[0].Center
|
|
h=d.getObject('ThreadHoles');f=d.getObject('FinishedPlate')
|
|
result={'before':[before.x,before.y],'after':[after.x,after.y],'delta_mm':(after-before).Length,'thread_valid':h.Shape.isValid(),'final_valid':f.Shape.isValid(),'final_state':f.State,'changes_saved':False}
|
|
(outdir/'parameter_check.json').write_text(json.dumps(result,indent=2),encoding='utf-8')
|
|
except:
|
|
(outdir/'parameter_error.txt').write_text(traceback.format_exc(),encoding='utf-8')
|
|
for name in list(A.listDocuments()): A.closeDocument(name)
|
|
Gui.getMainWindow().close()
|