feat(rebar): 확대기초 패널 규칙 값 표시 (상면·2단, B2·B6 디리, B9, 조립 단 수) 및 "규칙" 표기
- footingRuleValues: 패널 표시값을 계산 함수에서 직접 읽음 (새 공식 없음) - B2·B6 디리 두 값, 조립 단 수(3단) 표시 - "(고정)"은 Δ₂ 100에만 사용, 4s·2s·상면 2s는 "(규칙)"으로 표기 - 테스트: 기본값 P1에서 250 · 100 · 1723 · 500·250 · 500·3단 @400 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ddd6d55a72
commit
48e6811600
3 files changed
+57
-11
No files matched your search
@@ -1,6 +1,6 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { buildPier } from '../src/core/geometry';
|
||||
import { assemblyJs, gridPositions } from '../src/core/rebar/footing';
|
||||
import { assemblyJs, footingRuleValues, gridPositions } from '../src/core/rebar/footing';
|
||||
import { DEFAULT_FOOTING_REBAR, FOOTING_REBAR_RANGES, footingSettingsIssues } from '../src/core/rebar/footing-settings';
|
||||
import { rebarSummary } from '../src/core/rebar/summary';
|
||||
import { loadP1 } from './helpers';
|
||||
@@ -58,6 +58,15 @@ describe('확대기초 배근 입력 (승인 2026-10-26, 시안 ③ 확대기초
|
||||
expect(rowsAxis.find((r) => r.name === 'B5')!.basis).toBe('default');
|
||||
});
|
||||
|
||||
it('패널 규칙 값 (P1, H 2000): 상면·2단 250 · Δ₂ 100 · B2·B6 1723 · B9 500·250 · 조립 500 · 3단 @400', () => {
|
||||
const r = footingRuleValues(2000, DEFAULT_FOOTING_REBAR);
|
||||
expect([r.upper2sAxis, r.upper2sPerp, r.delta2]).toEqual([250, 250, 100]);
|
||||
expect(r.b2Leg).toBeCloseTo(1723, 0);
|
||||
expect(r.b6Leg).toBeCloseTo(1723, 0);
|
||||
expect([r.b9Pitch, r.b9Stagger]).toEqual([500, 250]);
|
||||
expect([r.assemblyPlanPitch, r.assemblyVertical, r.assemblyLevels]).toEqual([500, 400, 3]);
|
||||
});
|
||||
|
||||
it('the 조립 단 배수 n reaches the assembly levels', () => {
|
||||
const H = 2000;
|
||||
const base = assemblyJs(H, DEFAULT_FOOTING_REBAR);
|
||||
|
||||
Reference in new issue
Block a user