feat(core): lengths for coping, column and the B2 split (추천안)
- Coping: C9/C10 lower U = 1740 + 2h with h linear along the slope and 2300 on the Level (3522 / 6098 / 6249 / 6340 from the document); C12 (3717–10183), C13 11746, C14 3447.5, C15 3852, C16 4070. - Column: P3 = C_t + 1.3·l_d(H19) lap (추천안 for Q-C6, lap 1146.6), P5 = C_t. - Footing: B2 13646 is split into two pieces at a splice with 1.3·l_d(S25, SD500) (추천안 for Q-B6), piece ≈ 7776 each. - Not done: C9/C11 cap (삿갓) lengths (Q-K5 open), P1/P2 per-line pieces. - Tests against the document values; P1 summary updated. - Not verified in a browser. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
73bff19aba
commit
5641bbe265
6 files changed
+105
-24
No files matched your search
@@ -71,3 +71,27 @@ export function c14Total(): number {
|
||||
|
||||
/** C15 (거꾸로 된 U, 가장 높은 계단) and C16 (L형, 2구간) counts (코핑철근.md §7). */
|
||||
export const STEP_BAR_COUNTS = { C15: 11, C16: 22 } as const;
|
||||
|
||||
/**
|
||||
* C9·C10 lower U length (코핑철근.md §4.3): 1740 + 2h. h rises linearly along the slope between the document's
|
||||
* ends (x 300 → h 890.9, x 4550 → h 2178.8) and stays at the Level height 2300 from the Level edge (4950) on.
|
||||
* The bar's upper cap (삿갓) length depends on l_cap, which is still open (Q-K5), so only the U is given here.
|
||||
*/
|
||||
export const SHEAR_U = { x0: 300, h0: 890.9, x1: 4550, h1: 2178.8, levelH: 2300, levelEdgeFromCentre: 1050, flat: 1740 } as const;
|
||||
|
||||
export function shearUHeight(x: number, coping: number): number {
|
||||
const xs = Math.min(x, coping - x); // mirror to the left half
|
||||
const slope = (SHEAR_U.h1 - SHEAR_U.h0) / (SHEAR_U.x1 - SHEAR_U.x0);
|
||||
const h = SHEAR_U.h0 + (xs - SHEAR_U.x0) * slope;
|
||||
return Math.min(h, SHEAR_U.levelH);
|
||||
}
|
||||
|
||||
export function shearULength(x: number, coping: number): number {
|
||||
return SHEAR_U.flat + 2 * shearUHeight(x, coping);
|
||||
}
|
||||
|
||||
/** C12 straight lengths per row (코핑철근.md §6 table, mm) and C13. */
|
||||
export const SIDE_LENGTHS = { C12: [3717, 5333, 6950, 8567, 10183], C13: 11746 } as const;
|
||||
|
||||
/** C15 (거꾸로 된 U, 3852) and C16 (L형, 4070 / 4069) lengths, mm (코핑철근.md §7). */
|
||||
export const STEP_LENGTHS = { C15: 3852, C16: [4070, 4069] as const, C14: 3447.5 } as const;
|
||||
Reference in new issue
Block a user