feat(core): 일체기초 footings for 2·3주형 with per-footing pile grid
- Columns closer than one footing length (10400) share a 일체기초 whose length is the outer-column distance + 10400, centred between them (spec §4.6). - Pile grid is computed from each footing's length (rows across 8150, pile count along the length from (length − 1400) / 2250 + 1). - Blinding concrete follows each combined footing. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5466b3522e
commit
ad59c0c74d
3 files changed
+64
-22
No files matched your search
@@ -106,3 +106,27 @@ describe('bearing and block checks (spec §10 W03, W04)', () => {
|
||||
expect(issues.map((i) => i.code)).toContain('W04');
|
||||
});
|
||||
});
|
||||
|
||||
describe('일체기초 (spec §4.6)', () => {
|
||||
it('2주형 L 12000: columns 7200 apart share one footing of 17600 with 4 × 8 piles', () => {
|
||||
const m = buildPier({ ...loadP1(), type: '2주형', columnCount: 2, copingLengthMm: 12000, foundationType: '말뚝기초' });
|
||||
expect(m.footings).toHaveLength(1);
|
||||
expect(m.footings[0].length).toBeCloseTo(17.6, 6);
|
||||
expect(m.footings[0].s).toBeCloseTo(6.0, 6);
|
||||
expect(m.blindings[0].length).toBeCloseTo(17.8, 6);
|
||||
expect(m.piles).toHaveLength(32);
|
||||
expect(m.derived.pileLayout).toBe('7@2314 × 3@2250 = 32본');
|
||||
});
|
||||
|
||||
it('3주형 L 12000: three columns 3600 apart share one footing', () => {
|
||||
const m = buildPier({ ...loadP1(), type: '3주형', columnCount: 3, copingLengthMm: 12000, foundationType: '직접기초' });
|
||||
expect(m.footings).toHaveLength(1);
|
||||
expect(m.footings[0].length).toBeCloseTo(17.6, 6);
|
||||
});
|
||||
|
||||
it('2주형 with columns 18000 apart: separate footings of 10400', () => {
|
||||
const m = buildPier({ ...loadP1(), type: '2주형', columnCount: 2, copingLengthMm: 30000, foundationType: '직접기초' });
|
||||
expect(m.footings).toHaveLength(2);
|
||||
expect(m.footings.every((f) => Math.abs(f.length - 10.4) < 1e-9)).toBe(true);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user