feat(rebar): 확대기초 단면 최외측 열에 B1–B4 연장선과 측면 피복 다리선 추가
- 최외측 두 열에 B1·B2·B3·B4 점을 모두 표시 (빠진 점은 'ext'로 추가, 표 개수 불변) - 상단(B1)과 하단(B2·B4) 연장선을 측면 피복 c_s까지 이음 - 측면 피복선에 B2 다리선을 하면 1단에서 B1 높이까지 그림 - 테스트: 다리선 2개, 연장 표시 존재, 기존 개수 테스트 유지 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f793a69d3f
commit
3fe94fa0e1
2 files changed
+23
No files matched your search
@@ -87,6 +87,24 @@ export function footingSectionSvg(model: PierModel): string {
|
||||
}
|
||||
});
|
||||
|
||||
// Outermost columns (승인 2026-10-26, 추천): B1·B2·B3·B4 all sit in the first and last grid column (확대기초철근 (1).md §3, §5).
|
||||
// The missing ones are drawn as 'ext' points (they do not change the table counts). Their top (B1) and bottom (B2·B4) runs extend
|
||||
// to the side cover c_s, and a leg line at the cover runs from the 하면 1단 (B2) up to the B1 height.
|
||||
const xSideL = x(-W / 2 + fs.cSide);
|
||||
const xSideR = x(W / 2 - fs.cSide);
|
||||
const last = xs.length - 1;
|
||||
for (const i of [0, last]) {
|
||||
const drawnHere = i % 2 === 1 ? ['B1', 'B2', 'B3'] : ['B4'];
|
||||
const xx = x(xs[i]);
|
||||
for (const [name, zz] of [['B1', z.B1], ['B2', z.B24], ['B3', z.B3], ['B4', z.B24]] as const) {
|
||||
if (!drawnHere.includes(name)) parts.push(dot('ext', name, xx, y(zz), COLOR.b14));
|
||||
}
|
||||
const xSide = i === 0 ? xSideL : xSideR;
|
||||
parts.push(line('ext', 'B1', xx, xSide, y(z.B1), COLOR.b14, 1));
|
||||
parts.push(line('ext', 'B2', xx, xSide, y(z.B24), COLOR.b14, 1));
|
||||
parts.push(vline('leg', 'B2', xSide, y(z.B1), y(z.B24), COLOR.b14));
|
||||
}
|
||||
|
||||
// B9: one purple vertical line per row along W (the rows of b9Bars).
|
||||
const b9 = b9Bars(L, W, [], 2000, fs);
|
||||
for (const n of [...new Set(b9.bars.map((b) => b.n))]) parts.push(vline('b9', 'B9', x(n), y(z.B24), y(z.B5), COLOR.b9));
|
||||
|
||||
Reference in new issue
Block a user