建立方向盘项目初始版本

This commit is contained in:
2026-10-29 22:04:55 +08:00
commit 9962cbfbce
834 changed files with 1519203 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
from pathlib import Path
import os, traceback, json
import FreeCAD as A, Part
R=Path(r'C:\projects\wheel'); O=R/'models'/'kfl001_plate_draft'
try:
assembly=A.openDocument(str(R/'models'/'switch_2020_direct_profiles'/'Assembly.FCStd'))
draft=A.openDocument(str(O/'KFL001_plate_DRAFT.FCStd'))
f=draft.getObject('Plate_DRAFT').Shape
results=[]
for i,z in ((0,-84),(1,-187)):
p=assembly.getObject('CompactPlate%d'%i).Shape.copy()
p.translate(A.Vector(0,41,-z))
a=p.cut(f).Volume;b=f.cut(p).Volume
assert a<0.0001 and b<0.0001,(a,b)
results.append({'assembly':'CompactPlate%d'%i,'assembly_minus_draft_mm3':a,'draft_minus_assembly_mm3':b,'plate_z':z})
(O/'assembly_comparison.json').write_text(json.dumps(results,indent=2),encoding='utf8')
A.closeDocument(draft.Name);A.closeDocument(assembly.Name);os._exit(0)
except Exception:
(O/'assembly_comparison_error.txt').write_text(traceback.format_exc(),encoding='utf8');os._exit(1)