feat(abut-rebar): 교대 받침블럭 배근 삽도 (평면 · 단면)
- 평면: 블럭 1200 × 1200, S2 실선 (위) · S1 파선 (아래), 번호 풍선 - 단면: 교좌면 기준, 몰탈패드 50, S1 다리 · S2 본, 묻힘 치수 문자열 - 결과에 교좌면 높이(seatZ) 추가 — 단면 축을 교좌면 기준으로 맞춤 - verify/dump: 받침블럭 삽도 덤프 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5856cfb423
commit
a68e4a0366
4 files changed
+107
-1
No files matched your search
@@ -0,0 +1,16 @@
|
||||
// 교대 A1 받침블럭 배근 삽도 2장을 SVG로 저장한다 (PNG 확인: python3 -I ../verify/svg_to_png.py <svg> <png>).
|
||||
import { mkdirSync, writeFileSync } from 'node:fs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { it } from 'vitest';
|
||||
import { abutBlockRebar } from '../../src/core/abut/rebar/block';
|
||||
import { abutBlockPlanSvg, abutBlockSectionSvg } from '../../src/view/abut-block-rebar-svg';
|
||||
|
||||
it('dump 교대 받침블럭 삽도', () => {
|
||||
const out = process.env.DUMP_OUT ?? fileURLToPath(new URL('./out', import.meta.url));
|
||||
mkdirSync(out, { recursive: true });
|
||||
const blocks = [1, 2, 3, 4, 5].map((no, i) => ({ no, s: 1 + i * 2, t: 0.2, rotDeg: 0, seatEl: 44.367, blockHeightMm: 125 }));
|
||||
const r = abutBlockRebar(blocks, 40.895);
|
||||
const ns = (svg: string) => svg.replace('<svg ', '<svg xmlns="http://www.w3.org/2000/svg" ');
|
||||
writeFileSync(`${out}/block-plan.svg`, ns(abutBlockPlanSvg(r, undefined, [blocks[0].s * 1000, blocks[0].t * 1000])));
|
||||
writeFileSync(`${out}/block-section.svg`, ns(abutBlockSectionSvg(r)));
|
||||
});
|
||||
Reference in new issue
Block a user