- 根因: 四画布 ty 按 y 向上渲染, 而模型坐标 y 向下(v2.11 实证) → 样板内部布局颠倒 - 统一去翻转: ty 直接映射 + toModel 反演同步 + 顶底序归位 - WindoorCanvas: 尺寸手柄(右下角)/中梃竖向拖动 dy 符号/扇符号与标注位置同步修正 - 验证: 组合页 2D 与 3D 方向一致, 设计图纸 704 布局=官方平面图, ui-shots 6 页无报错
22 lines
1.2 KiB
JavaScript
22 lines
1.2 KiB
JavaScript
// 2D 画布方向验证: 打开样板库点首卡片标题 → 画布对话框载入 704, 截 2D 画布对照官方参考图(亮子应在顶部): node verify-2d.mjs <token>
|
|
import puppeteer from 'puppeteer-core'
|
|
const browser = await puppeteer.launch({
|
|
executablePath: 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe',
|
|
headless: 'new',
|
|
args: ['--window-size=1440,900', '--enable-unsafe-swiftshader'],
|
|
defaultViewport: { width: 1440, height: 900 },
|
|
})
|
|
const page = await browser.newPage()
|
|
page.on('pageerror', e => console.log(`[JS异常] ${String(e).slice(0, 200)}`))
|
|
const token = process.argv[2]
|
|
await page.goto(`http://localhost:8000/templates?token=${encodeURIComponent(token)}`, { waitUntil: 'networkidle2' })
|
|
await new Promise(r => setTimeout(r, 1500))
|
|
// 点击第一个样板的标题(避开官方图预览)
|
|
const cap = await page.$('.sample-card .cap, .card .cap, .cap')
|
|
await cap.click()
|
|
await new Promise(r => setTimeout(r, 1800))
|
|
const box = await (await page.$('.canvas-box')).boundingBox()
|
|
await page.screenshot({ path: 'D:/Code/huamenchuang/shots/verify-2d-canvas.png', clip: box })
|
|
console.log('✓ 设计图纸 2D 画布截图完成')
|
|
await browser.close()
|