feat(abut-rebar): 교대 흉벽 · 브라켓 배근 삽도 (단면 · 교대축 단면 · P10 다웰 평면)
- 대표 단면(흉벽 높이 = 입력값): P1–P3 · P6 · P7 · P10 선, P4 · P5 점, 두께 · 단 수 치수 - 교대축 단면: 상단 경사와 나란한 P4, P1, 끝면 P11 · P8 · P9 - P10 평면: 슬래브 측면선, 다웰 n개, P3 다리 위치와 비켜 옮긴 다웰 - verify/dump: 흉벽 삽도 덤프 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ba71911edc
commit
914e3dbda8
3 files changed
+190
No files matched your search
@@ -158,3 +158,23 @@ describe('③ 흉벽 배근 입력 저장', () => {
|
||||
expect(() => checkStoredAbutments([{ ...rec, rebar: { parapet: { c: 'x' } } as never }])).toThrow('흉벽 배근');
|
||||
});
|
||||
});
|
||||
|
||||
import { abutParapetDowelSvg, abutParapetElevationSvg, abutParapetSectionSvg } from '../src/view/abut-parapet-rebar-svg';
|
||||
|
||||
describe('③ 흉벽 삽도', () => {
|
||||
it('단면: 두께 치수 "100 · 300 · 100", 단 수, 번호 풍선 P1–P7 · P10', () => {
|
||||
const svg = abutParapetSectionSvg(geom, A1);
|
||||
expect(svg).toContain('100 · 300 · 100');
|
||||
expect(svg).toContain('P4 19단 · P5 7 + 12단');
|
||||
for (const m of ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P10']) expect(svg).toContain(`data-pick="${m}"`);
|
||||
});
|
||||
|
||||
it('교대축 단면 · 다웰 평면: 끝면 P8 · P9 · P11 풍선, 다웰 n과 옮긴 개수; 선택하면 나머지 흐리게 / 숨김', () => {
|
||||
const el = abutParapetElevationSvg(geom, A1);
|
||||
for (const m of ['P8', 'P9', 'P11', 'P4']) expect(el).toContain(`data-pick="${m}"`);
|
||||
const dw = abutParapetDowelSvg(geom, A1);
|
||||
expect(dw).toContain('n = 28');
|
||||
expect(dw).toContain(`${A1.dowel.moved}개 P3 비켜 옮김`);
|
||||
expect(abutParapetDowelSvg(geom, A1, { marks: new Set(['P10']), only: true })).toContain('opacity="0"');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user