feat(rebar): 확대기초 철근표 간격·실간격을 격자 실간격 s와 s_v에 연동
- B1–B8: 간격 2s, 실간격 s (cycle 2·4·6·8), 실간격 2s (B1·B3·B5·B7) - B9: 간격 4s, 실간격 2s (엇갈림) · B11·B12: 간격 4s - B10-1·B10-2: 간격·실간격 = s_v - 근거: s 또는 s_v가 기본값과 다르면 '입력', 같으면 '기본값' Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5a20a18185
commit
c40c58d27f
2 files changed
+27
-1
No files matched your search
@@ -2,7 +2,7 @@ import type { PierModel } from '../geometry';
|
||||
import { barLength, bearingBlockRebar, DEFAULT_BLOCK_REBAR, totals } from './bearing-block';
|
||||
import { DEFAULT_COPING_REBAR } from './coping-settings';
|
||||
import { DEFAULT_COLUMN_REBAR } from './column-settings';
|
||||
import type { FootingRebarSettings } from './footing-settings';
|
||||
import { DEFAULT_FOOTING_REBAR, type FootingRebarSettings } from './footing-settings';
|
||||
import { bottomPiece, topBarLength, widthLayout, topSplicePieces } from './coping-main';
|
||||
import { shearBars, shearBarsMulti, copingSideBars, SIDE_HOOK_LEG, c14Bars, c14Length, stairBars, stepDevLength, undersideAt, shearULength, capLength, PIECES_PER_POSITION } from './coping';
|
||||
import { sideRowLevels } from '../coping-geom';
|
||||
@@ -160,6 +160,17 @@ export function linkedSpacing(name: string, model: PierModel): Pick<RebarRow, 's
|
||||
if (name === 'P5') return { spacing: String(k.ctcP5), actual: String(k.ctcP5), basis: basis(k.ctcP5 !== kd.ctcP5) };
|
||||
if (name === 'P4') return { spacing: String(k.ctcP4), actual: String(k.ctcP4), basis: basis(k.ctcP4 !== kd.ctcP4) };
|
||||
if (name === 'P6') return { spacing: String(k.ctcP6), actual: String(k.ctcP6), basis: basis(k.ctcP6 !== kd.ctcP6) };
|
||||
// 확대기초 (승인 2026-10-26): B1–B8 간격 2s (k = 2), 실간격 s on the cycle bars (B2·B4·B6·B8); B9 4s (2s 엇갈림);
|
||||
// B10 s_v; B11·B12 4s. The basis is 기본값 unless the grid spacing s or s_v differs from its default.
|
||||
const fs = model.footingRebar;
|
||||
const fd = DEFAULT_FOOTING_REBAR;
|
||||
if (/^B[1-8]$/.test(name)) {
|
||||
const cycle = name === 'B2' || name === 'B4' || name === 'B6' || name === 'B8';
|
||||
return { spacing: String(2 * fs.s), actual: String(cycle ? fs.s : 2 * fs.s), basis: basis(fs.s !== fd.s) };
|
||||
}
|
||||
if (name === 'B9') return { spacing: `${4 * fs.s} (4s)`, actual: `${2 * fs.s} (2s 엇갈림)`, basis: basis(fs.s !== fd.s) };
|
||||
if (name === 'B11' || name === 'B12') return { spacing: `${4 * fs.s} (4s)`, actual: String(4 * fs.s), basis: basis(fs.s !== fd.s) };
|
||||
if (name === 'B10-1' || name === 'B10-2') return { spacing: String(fs.sV), actual: String(fs.sV), basis: basis(fs.sV !== fd.sV) };
|
||||
if (name === 'S1') return { spacing: String(b.spacingS1), actual: String(b.spacingS1), basis: basis(b.spacingS1 !== bd.spacingS1) };
|
||||
if (name === 'S2') return { spacing: String(b.spacingS2), actual: String(b.spacingS2), basis: basis(b.spacingS2 !== bd.spacingS2) };
|
||||
return undefined;
|
||||
|
||||
Reference in new issue
Block a user