建立方向盘项目初始版本

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,35 @@
from PIL import Image, ImageChops, ImageDraw, ImageFont
from pathlib import Path
root = Path(r'C:\projects\wheel\models')
a = root / 'kfl_100_flange57_concept'
b = root / 'kfl_100_flange57_shift_concept'
font = r'C:\Windows\Fonts\msyh.ttc'
title = ImageFont.truetype(font, 38)
normal = ImageFont.truetype(font, 23)
small = ImageFont.truetype(font, 21)
im = Image.new('RGB', (1920, 1300), 'white')
d = ImageDraw.Draw(im)
d.text((40, 20), '更新法兰尺寸:100 mm 轴装配空间检查', fill='#1a304d', font=title)
d.text((40, 82), '电机侧法兰:Ø57 底盘厚 4 mm,Ø30 凸台高 20 mm(从底盘表面量起)', fill='#52657b', font=normal)
d.rounded_rectangle((40, 125, 1880, 180), radius=8, fill='#fff0eb')
d.text((55, 137), '示意布局存在干涉或插入不足风险,不能认定 100 mm 轴可用', fill='#9b2b22', font=normal)
def panel(path, box):
view = Image.open(path).convert('RGB').rotate(90, expand=True)
mask = ImageChops.difference(view, Image.new('RGB', view.size, 'white')).convert('L').point(lambda p:255 if p>12 else 0)
bounds = mask.getbbox()
if bounds: view = view.crop(bounds)
view.thumbnail((box[2]-box[0],box[3]-box[1]))
im.paste(view, (box[0] + (box[2]-box[0]-view.width)//2, box[1]))
d.text((40, 200), 'A:沿用原位置,电机侧轴插入 18 mm;新凸台与后轴承示意外形相交', font=normal, fill='#243a55')
panel(a / 'side.png', (35, 240, 1885, 610))
d.text((40, 625), 'B:轴前移 6 mm、轴承和开关前移 10 mm;电机侧插入 12 mm,前端仅剩 5 mm', font=normal, fill='#243a55')
panel(b / 'side.png', (35, 665, 1885, 1035))
d.line((40, 1060, 1880, 1060), fill='#d8e0e9', width=2)
d.text((42, 1080), '绿色为 50 mm 开关包络占位;开关内孔、白色回正机构未实测。', font=small, fill='#405b4a')
d.text((42, 1120), 'KFL 凸起和板孔尺寸、前端轮毂、键槽及电机中心 M3 螺母均未实测。', font=small, fill='#46586b')
d.text((42, 1160), 'B 的后端轴承仅有约 0.5 mm 名义间隙,前端轮毂仍干涉;5 mm 插入深度未经验证。', font=small, fill='#9b2b22')
d.text((42, 1200), '此前 12 + 14.5 + 50 + 14.5 + 9 的预算不再适用;凸台高 20 不等于必须插入 20 mm。', font=small, fill='#46586b')
im.save(a / '更新尺寸_装配示意.png')