Files
wheel/scripts/compose_corner_2mm.py

34 lines
2.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from PIL import Image,ImageDraw,ImageFont,ImageChops
from pathlib import Path
root=Path(r'C:\projects\wheel\models\new_motor_corners_2mm_concept')
font='C:/Windows/Fonts/msyh.ttc'
def F(n):return ImageFont.truetype(font,n)
im=Image.new('RGB',(2000,1120),'white');d=ImageDraw.Draw(im)
d.text((55,25),'新电机角码与 2 mm 垫片',font=F(40),fill='#183455')
d.text((58,85),'角码直接贴电机;垫片夹在角码和 2020 型材之间',font=F(24),fill='#314e65')
d.text((60,145),'模型局部(红色为垫片)',font=F(26),fill='#172c43')
base=Image.open(root/'单侧角码垫片特写.png').convert('RGB');diff=ImageChops.difference(base,Image.new('RGB',base.size,'white'));b=diff.getbbox();base=base.crop(b);base.thumbnail((930,750));im.paste(base,(35,205))
d.text((1045,145),'接触层叠剖面(示意,非比例)',font=F(26),fill='#172c43')
# canvas positions: motor z=0 baseline at y=810, x+ to right, z+ upwards
d.rectangle((1050,810,1920,920),fill='#abb4bd',outline='#394b59',width=3)
d.text((1370,845),'电机背面',font=F(27),fill='#172c43')
# L foot contacts motor, leg extends vertically
d.polygon([(1180,790),(1480,790),(1480,345),(1515,345),(1515,810),(1180,810)],fill='#e39c3c',outline='#654a1e')
d.text((1190,738),'新角码',font=F(24),fill='#64400b')
# Rail with exact nominal corner-side face at x1545, visible spacer between x1515 and1545
d.rectangle((1545,335,1850,810),fill='#71899b',outline='#1d384c',width=3)
d.text((1630,490),'2020 型材',font=F(25),fill='white')
# washer represented as full y cross section red of thickness 1 mm
d.rectangle((1515,510,1545,610),fill='#d82f36',outline='#8c1824',width=2)
d.line((1370,560,1650,560),fill='#28303a',width=8)
d.rectangle((1370,540,1398,580),fill='#485b69')
d.text((1085,350),'2 mm 金属垫片',font=F(26),fill='#bd2029')
d.line([(1280,390),(1445,390),(1529,509)],fill='#bd2029',width=4)
d.polygon([(1529,509),(1515,491),(1535,496)],fill='#bd2029')
d.text((1155,690),'角码贴紧电机',font=F(22),fill='#61400d')
d.text((1550,670),'螺丝示意;槽和滑块未建模',font=F(18),fill='#fff')
d.text((55,1000),'每个电机角码型材侧垫片总厚 2 mm,共 4 处;电机侧不放垫片。',font=F(25),fill='#173756')
d.text((55,1045),'此图用于表达安装方向,未确认实际角码弯曲半径、孔位及五金尺寸。',font=F(21),fill='#b04337')
im.save(root/'角码垫片位置_剖面示意.png')