feat(bearing): 방위각 입력 · 계산 비교와 계산값 적용 버튼
교각·교대 솔플레이트 표에 받침별 '방위각 입력 (CAD)' · '방위각 계산 (CAD)' · '차이 (″, 계산 − 입력)' · [적용] 열을 두고, 표 위에 '계산 방위각 모두 적용 / 모두 입력값으로' 버튼을 둔다 (사용자 요청 2026-11-06, Q-SH4 "입력값 유지"를 사용자가 고르게 바꿈). - 계산 방위각: 거더 짝이면 두 받침을 잇는 방향, 교대만의 현 짝이면 원곡선 접선(현 방향 ± 방위각 변화의 절반) - 적용값은 교각 input.azimuthApplied / 교대 record.azimuthApplied에 받침번호별로 저장, 엑셀 값은 그대로. 블럭 · 받침 · 솔플레이트 회전과 오르막 방향에 쓰고, 짝 찾기는 엑셀 입력값으로 - 차이 표시: 거더 짝 ≤ 10″ / WS01, 현 짝은 '현 · 참고'. 도·분·초 CAD 각(엑셀과 같은 표기) - 테스트: P1 전열 계산값 ≤ 0.5″ · 후열 없음, 적용한 받침만 블럭 회전 변화, 원곡선 현 접선 = 입력, 교대 toAbutInput 반영 - 브라우저: 운곡교AA.xlsx A1-광주 ① 적용 → 블럭 회전 4.39° → 4.36°, 모두 적용 5개 · 모두 해제, 예외 0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7c5f129712
commit
c7acfccd51
9 files changed
+161
-22
No files matched your search
@@ -38,6 +38,9 @@ export interface BearingSole {
|
||||
pair?: { structure: string; no: number };
|
||||
/** 방위각 검사 (″): this bearing's input azimuth against the direction to its pair (Q-SH4, WS01 > 10″). Absent without a pair. */
|
||||
azimuthCheckSec?: number;
|
||||
/** 입력 방위각 and the one computed from the pair (deg, model 진북); the second is absent without a pair. */
|
||||
azimuthInputDeg: number;
|
||||
azimuthCalcDeg?: number;
|
||||
/** girder (같은 거더) or chord (교대만, A1 ↔ A2 현). */
|
||||
pairKind?: 'girder' | 'chord';
|
||||
slopePct: number;
|
||||
@@ -65,7 +68,10 @@ export interface BearingSole {
|
||||
export interface SoleBearing {
|
||||
no: number;
|
||||
row: string;
|
||||
/** The azimuth in use (an applied 계산 방위각 when chosen) — for the 오르막 direction. */
|
||||
azimuthDeg: number;
|
||||
/** The workbook azimuth, when it differs from the one in use. */
|
||||
inputAzimuthDeg?: number;
|
||||
}
|
||||
|
||||
const DEG = Math.PI / 180;
|
||||
@@ -121,6 +127,8 @@ export function structureSoles(structure: string, bearings: SoleBearing[], setti
|
||||
return {
|
||||
no: b.no, row: b.row, pair: pair ? (pair.from.structure === structure ? pair.to : pair.from) : undefined,
|
||||
pairKind: pair?.kind,
|
||||
azimuthInputDeg: b.inputAzimuthDeg ?? b.azimuthDeg,
|
||||
azimuthCalcDeg: pair ? (pair.from.structure === structure && pair.from.no === b.no ? pair.fromCalcDeg : pair.toCalcDeg) : undefined,
|
||||
azimuthCheckSec: pair ? (pair.from.structure === structure && pair.from.no === b.no ? pair.fromCheckSec : pair.toCheckSec) : undefined,
|
||||
slopePct, slopeSource: source, aMm, bMm, L, W, T, tTyped: typed, T1, T2, tReq: req[i], h3: s.h3Mm,
|
||||
dropMm: T - s.tRefMm, uphill: sign ? { e: sign * dir.e, n: sign * dir.n } : null, warnings,
|
||||
|
||||
Reference in new issue
Block a user