feat(abut-rebar): 교대 벽체 배근 삽도 (교대축 직각 단면 · 계단 단면)
- 배근 규칙 경로로 그림: 구간 1 단면 (W1–W7 · W9 · W10, 단 치수), 계단 단면 (W1 · W5 · W9 · W10 · W11 · W8, 구간 높이) - 번호 풍선 · 선택 강조 · 선택만 보기는 저판 삽도와 같은 함수 (공용으로 export) - verify/dump: 삽도 SVG 덤프 전용 설정 (기본 테스트에 포함 안 됨) Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
66e7d4d90d
commit
079748e5e7
5 files changed
+176
-8
No files matched your search
@@ -154,3 +154,23 @@ describe('③ 벽체 배근 입력 저장', () => {
|
||||
expect(() => checkStoredAbutments([{ ...rec, rebar: { wall: { sL: 'x' } } as never }])).toThrow('벽체 배근');
|
||||
});
|
||||
});
|
||||
|
||||
import { abutWallElevationSvg, abutWallSectionSvg } from '../src/view/abut-wall-rebar-svg';
|
||||
|
||||
describe('③ 벽체 삽도', () => {
|
||||
it('단면: 구간 1 단 치수 "100 · 17@125=2.125 · 147", W9 · W10 간격, 번호 풍선', () => {
|
||||
const svg = abutWallSectionSvg(geom, A1);
|
||||
expect(svg).toContain('100 · 17@125=2.125 · 147');
|
||||
expect(svg).toContain('W9 · W10 5@250');
|
||||
for (const m of ['W1', 'W2', 'W3', 'W4', 'W5', 'W6', 'W7', 'W9', 'W10']) expect(svg).toContain(`data-pick="${m}"`);
|
||||
});
|
||||
|
||||
it('계단 단면: 구간별 높이, 양끝 단 치수, W8 · W11 풍선; 선택하면 나머지는 흐리게 / 숨김', () => {
|
||||
const svg = abutWallElevationSvg(geom, A1);
|
||||
expect(svg).toContain('구간 1 · 2372');
|
||||
expect(svg).toContain('19@125=2.375 · 181');
|
||||
for (const m of ['W8', 'W11']) expect(svg).toContain(`data-pick="${m}"`);
|
||||
expect(abutWallElevationSvg(geom, A1, { marks: new Set(['W9']), only: false })).toContain('opacity="0.15"');
|
||||
expect(abutWallElevationSvg(geom, A1, { marks: new Set(['W9']), only: true })).toContain('opacity="0"');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user