feat(abut-rebar): 교대 접속슬래브 배근 삽도 (평면 · 단면)
- 평면: 왼쪽 절반 하면 (R3 · R4 · R8) · 오른쪽 절반 상면 (R1 · R2), 모따기 모서리 R7, 교대축 · 길이 배치 치수 - 단면 (길이 방향, 폭 가운데): 브라켓 위 평탄 + 경사, 층 순서, R8은 R1 · R3 사이 - verify/dump: 접속슬래브 삽도 덤프 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9ae6cf0945
commit
e9d79957c8
3 files changed
+173
No files matched your search
@@ -124,3 +124,21 @@ describe('③ 접속슬래브 배근 입력 저장', () => {
|
||||
expect(() => checkStoredAbutments([{ ...rec, rebar: { slab: { c: 'x' } } as never }])).toThrow('접속슬래브 배근');
|
||||
});
|
||||
});
|
||||
|
||||
import { abutSlabPlanSvg, abutSlabSectionSvg } from '../src/view/abut-slab-rebar-svg';
|
||||
|
||||
describe('③ 접속슬래브 삽도', () => {
|
||||
it('평면: 교대축 · 길이 배치 치수, 하면 · 상면 반쪽, 번호 풍선 R1–R4 · R7 · R8', () => {
|
||||
const svg = abutSlabPlanSvg(geom, A1);
|
||||
expect(svg).toContain(A1.across.text);
|
||||
expect(svg).toContain('100 · 250 · 21@300=6.300 · 250 · 100');
|
||||
for (const m of ['R1', 'R2', 'R3', 'R4', 'R7', 'R8']) expect(svg).toContain(`data-pick="${m}"`);
|
||||
});
|
||||
|
||||
it('단면: 매립형 · 경사 −4 %, 선택하면 나머지 흐리게 / 숨김', () => {
|
||||
const svg = abutSlabSectionSvg(geom, A1);
|
||||
expect(svg).toContain('매립형');
|
||||
expect(svg).toContain('−4.0 %'.replace('−', '-'));
|
||||
expect(abutSlabSectionSvg(geom, A1, { marks: new Set(['R8']), only: true })).toContain('opacity="0"');
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user