Files
Pier_v1/수량산출/bearing-dimensions.ts
T
ypshim f51865c57b Merge origin/master with current Pierzainer development
Preserve local abutment, cast-in-place rebar and compact header features alongside remote drawing, ground-link and quantity workspaces. Adapt drawing and takeoff consumers to generated solplate plans, retain current P1 regression coverage, and resolve bearing-detail annotation collisions.

Validation: 122 test files / 975 tests passed; production build passed; 10 browser integration checks passed.
2026-11-06 17:10:33 +09:00

8 lines
516 B
TypeScript

import type {PierModel} from '../src/core/geometry';
/** Same bearing-body dimensions as src/view/scene.ts, from the generated solplate plan. */
export function bearingDimensions(model:PierModel){
const plans=model.blocks.map(b=>b.plan);
const uniform=(values:(number|undefined)[])=>values.length&&values.every(v=>v!=null&&Number.isFinite(v)&&v>0&&Math.abs(v-values[0]!)<1e-7)?values[0]!:null;
return {length:uniform(plans.map(p=>p?p.L/1000-.2:undefined)),width:uniform(plans.map(p=>p?p.W/1000-.2:undefined))};
}