R2:底板 / 刀片布局布线脚本、快照、截图与规划文档更新(含外壳、打印件、布线归档)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
@@ -0,0 +1,62 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
u"""派生无滤网版(2026-09-13 用户:去掉滤网设计,两端都用风扇格栅):
|
||||
topshell_v6 → topshell_v7:删西端滤网导轨(整机不再有 6.4 外凸),两端格栅保留
|
||||
bottomplate_v4 → bottomplate_v5:西边缘 −24.3 → −17.9(顶盖外沿 −18.4 再内缩 0.5)
|
||||
place_v6 → place_v7:删滤网框插入与滑槽间隙核对;新包围盒
|
||||
整机长 140.7 → 134.3。纯文本补丁,锚点断言次数。"""
|
||||
import io
|
||||
import sys
|
||||
|
||||
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', write_through=True)
|
||||
T = u'C:\\Users\\35138\\.claude\\jobs\\11836093\\tmp\\'
|
||||
|
||||
|
||||
def patch(src, dst, pairs, cuts, head):
|
||||
s = open(T + src, encoding='utf-8').read()
|
||||
for a_mark, b_mark in cuts:
|
||||
if s.count(a_mark) != 1 or s.count(b_mark) != 1:
|
||||
raise SystemExit(u'%s:删段锚点次数不对 %r / %r' % (src, a_mark[:40], b_mark[:40]))
|
||||
a = s.index(a_mark)
|
||||
b = s.index(b_mark)
|
||||
if b <= a:
|
||||
raise SystemExit(u'%s:删段锚点顺序不对' % src)
|
||||
s = s[:a] + s[b:]
|
||||
for old, new, n in pairs:
|
||||
c = s.count(old)
|
||||
if c != n:
|
||||
raise SystemExit(u'%s:锚点 %r 出现 %d 次(期望 %d)' % (src, old[:70], c, n))
|
||||
s = s.replace(old, new)
|
||||
s = s.replace(u'# -*- coding: utf-8 -*-\n', u'# -*- coding: utf-8 -*-\n# ' + head + u'\n', 1)
|
||||
open(T + dst, 'w', encoding='utf-8').write(s)
|
||||
print(u'写出', dst)
|
||||
|
||||
|
||||
patch('topshell_v6.py', 'topshell_v7.py', [
|
||||
(u"TopShell_v6.SLDPRT'", u"TopShell_v7.SLDPRT'", 1),
|
||||
(u"'TOPSHELL_V6'", u"'TOPSHELL_V7'", 1),
|
||||
(u"check(u'最终', [XO, Y0, -H, X1, Y1, 0.0])", u"check(u'最终', [X0, Y0, -H, X1, Y1, 0.0])", 1),
|
||||
], [(u'# ── [6b] 西端插拔式滤网导轨', u'\n# ── 验收')],
|
||||
u'v7:无滤网版 —— 删西端滤网导轨,两端墙竖槽格栅,外形 x −18.4~115.9')
|
||||
|
||||
patch('bottomplate_v4.py', 'bottomplate_v5.py', [
|
||||
(u"BottomPlate_v4.SLDPRT'", u"BottomPlate_v5.SLDPRT'", 1),
|
||||
(u"'BOTTOMPLATE_V4'", u"'BOTTOMPLATE_V5'", 1),
|
||||
(u"X0, X1, Y0, Y1 = -24.8 + INSET, 115.9 - INSET, -4.055 + INSET, 106.745 - INSET",
|
||||
u"X0, X1, Y0, Y1 = -18.4 + INSET, 115.9 - INSET, -4.055 + INSET, 106.745 - INSET # 无滤网:西沿回到顶盖外沿 −18.4", 1),
|
||||
], [], u'v5:无滤网版 —— 西边缘 −17.9(不再托滤网/导轨),脚垫窝随中心重排')
|
||||
|
||||
patch('place_v6.py', 'place_v7.py', [
|
||||
(u"(u'TopShell_v6.SLDPRT', (0, 0, 74.4), [-24.8, -4.055, -10.0, 115.9, 106.745, 74.4])",
|
||||
u"(u'TopShell_v7.SLDPRT', (0, 0, 74.4), [-18.4, -4.055, -10.0, 115.9, 106.745, 74.4])", 1),
|
||||
(u"(u'BottomPlate_v4.SLDPRT', (0, 0, -10.0), [-24.3, -3.555, -13.6, 115.4, 106.245, 0.0])",
|
||||
u"(u'BottomPlate_v5.SLDPRT', (0, 0, -10.0), [-17.9, -3.555, -13.6, 115.4, 106.245, 0.0])", 1),
|
||||
(u"((u'v6_iso', 7),)", u"((u'v7_iso', 7),)", 1),
|
||||
], [(u"\nP(u'\\n[2b] 插滤网框", u"\nP(u'\\n[1b] 风扇")],
|
||||
u'v7:无滤网版总装 —— 删滤网框(OLD 列表里的 FILTERFRAME 负责把旧件删掉)')
|
||||
|
||||
for f in ('topshell_v7.py', 'place_v7.py'):
|
||||
txt = open(T + f, encoding='utf-8').read()
|
||||
for bad in (u'[6b]', u'XO, Y0', u'FilterFrame_v', u'滑槽间隙'):
|
||||
if bad in txt:
|
||||
raise SystemExit(u'⛔ %s 里还残留 %r' % (f, bad))
|
||||
print(u'残留检查通过')
|
||||
在新工单中引用
屏蔽一个用户