feat(rebar): 상면 주철근 단 간격(세로) 입력 100 mm, 가로는 2d 고정

- 세로 단 간격은 입력(기본 100, 범위 80–120)으로 상면 C1–C6, C14 상면, 기둥 C3 높이에 쓴다
- 가로 단 간격은 2d(H29, 57.2 mm)로 고정 (코핑철근.md의 s_lay 하나를 둘로 나눔)
- P1 기준 값 갱신: 상면 높이 43.284 / 43.184 / 43.084, C14 상면 43.208 / 43.108, P1 위 끝 zTop1 14776

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-26 15:42:40 +09:00
1 parent 9c93a6aa01
commit 2acb427bab
10 files changed
+26 -25

No files matched your search

+2 -2
View File
@@ -150,7 +150,7 @@ export function buildRebar3D(m: PierModel, common: Material = DEFAULT_MATERIAL,
const topEl = m.copingRefTop;
const hookTop = MAIN.hook / 1000;
for (let k = 1; k <= 3; k++) {
const z = topEl - 0.127 - (k - 1) * 0.057;
const z = topEl - 0.127 - (k - 1) * (m.copingRebar.mainLayerGap / 1000);
const xk = cover + ((k - 1) * MAIN.layHorizontal) / 1000;
xs.forEach((n, j) => {
const name = `C${k + (j % 2 === 1 ? 0 : 3)}`;
@@ -239,7 +239,7 @@ export function buildRebar3D(m: PierModel, common: Material = DEFAULT_MATERIAL,
const c14Hook = mm(hookLength('main90', NOMINAL_DIAMETER.H19));
const c14Na = -B / 2 + mm(C14_INSET);
const c14Nb = B / 2 - mm(C14_INSET);
for (const b of c14Bars(L * 1000, topEl, [...side.c12, ...side.c13], (x) => undersideAt(L * 1000, x, m.endBottom, m.levelBottom, m.copingGeom.levelWidth))) {
for (const b of c14Bars(L * 1000, topEl, [...side.c12, ...side.c13], (x) => undersideAt(L * 1000, x, m.endBottom, m.levelBottom, m.copingGeom.levelWidth), m.copingRebar.mainLayerGap / 1000)) {
const xm = mm(b.x);
addBar('C14', 0, [xm, b.z, c14Na], [xm, b.z, c14Nb], NOMINAL_DIAMETER.H19, COLOR.coping);
// 연직 발 below the coping underside is left out (코핑철근.md §8).