feat(rebar,view): coping end height h1, taper h2 and Level width as inputs on ② (1단계)
The three values are inputs on the coping card, with the P1 values (1000 · 1500 · 2100) when absent, and they are tracked like the other shape inputs. The geometry and the coping rebar read them from one CopingGeom: the U heights follow the closed form (h1 − 2c) + h2·min(x_s, x_L0)/x_L0, which reproduces the P1 values. The side rows are assumed to keep their position relative to the Level underside (명세 확인 필요). P1 results are unchanged; the full suite passes. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5b5db60657
commit
0a5edfb152
9 files changed
+169
-45
No files matched your search
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Coping heights and Level width (mm) that the coping geometry and the coping rebar depend on (1단계, 승인 2026-10-23).
|
||||
* Dependency-free so that both the model and the rebar modules can import it.
|
||||
*/
|
||||
export interface CopingGeom {
|
||||
/** 끝단 높이 h1 (mm). */
|
||||
h1: number;
|
||||
/** 테이퍼 높이 h2 (mm). */
|
||||
h2: number;
|
||||
/** Level 폭 W_L (mm). */
|
||||
levelWidth: number;
|
||||
}
|
||||
|
||||
/** P1 values: 끝단 높이 1000, 테이퍼 높이 1500, Level 폭 2100. Used when the input does not give them. */
|
||||
export const P1_COPING_GEOM: CopingGeom = { h1: 1000, h2: 1500, levelWidth: 2100 };
|
||||
|
||||
/**
|
||||
* Side-row levels (EL m) of C12 / C13 from the Level underside: the lowest row and the row where the sloped underside breaks.
|
||||
* P1: 40.911 + 0.377 = 41.288 and 40.911 + 1.627 = 42.538. ASSUMPTION: the side rows keep this position relative to the
|
||||
* Level underside when h1 or h2 changes (명세 확인 필요).
|
||||
*/
|
||||
export function sideRowLevels(levelBottom: number): { zBottom: number; zBreak: number } {
|
||||
return { zBottom: levelBottom + 0.377, zBreak: levelBottom + 1.627 };
|
||||
}
|
||||
Reference in new issue
Block a user