fix(rebar): column heights Hc and h_cop from the model (Level underside, step top) instead of P1 constants

Hc = Level underside − footing top, and h_cop = step top at the column centre − Level underside. P1 gives 12703 and 2644,
unchanged. With taper h2 = 3000 the Level underside moves down, so Hc = 11203 and the P2 top (Level underside + l_d)
moves to 13039, while the P1 top stays at the step top (15147). The 3D and the 철근표 use the same heights.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-23 13:10:51 +09:00
1 parent df6aeb5c46
commit f37a0bf9ce
4 files changed
+46 -4

No files matched your search

+3 -2
View File
@@ -4,7 +4,7 @@ import { assemblyEndOffset, assemblyJs, b10Levels, b9Bars, FOOTING_DEFAULTS, gri
import { bottomPiece, MAIN, widthLayout } from '../core/rebar/coping-main';
import { C14_INSET, c14Bars, CAP, COPING_REBAR, SHEAR_LOOP_STEP, shearBars, shearBarsMulti, shearUHeight, copingSideBars, SIDE_HOOK_LEG, stairBars, undersideAt } from '../core/rebar/coping';
import { sideRowLevels } from '../core/coping-geom';
import { columnRebar, COLUMN_P1 } from '../core/rebar/column';
import { columnRebar, columnInputFor, COLUMN_P1 } from '../core/rebar/column';
import { barsAcross, BLOCK_REBAR } from '../core/rebar/bearing-block';
import { blockFramePoint } from '../core/geometry';
import { bendRadius, DEFAULT_MATERIAL, FckByMember, hookLength, Material, materialFor, NOMINAL_DIAMETER } from '../core/rebar/common';
@@ -256,7 +256,8 @@ export function buildRebar3D(m: PierModel, common: Material = DEFAULT_MATERIAL,
}
// Columns: P1 / P2 main bars on their radii, ties P3 / P5 / P4 as rings, P6 crossties across the column.
const col = columnRebar(COLUMN_P1, mColumn);
const colInput = columnInputFor(m);
const col = columnRebar(colInput, mColumn);
const zBot = col.zBot; // mm
const ring = (name: string, k: number, sc: number, y: number, r: number, d: number) => {
const N = 36;