feat(view): solplate taper across the 교각축 직각 (thick T1 at the (−) side); 교량받침 본체 as a box
The solplate's L (A + margin) runs across the 교각축 직각 and its W (B + margin) along the 교축; the top tapers across L with T1 at the (−) side (T1 = T + L·|S|/200). The 교량받침 본체 is one box per bearing: the solplate plan less 100 mm on each side, from the mortar top (EL.X) up h3 = 181 mm, turned with the bearing row. It is shown with the bearing group. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a108a76707
commit
22fd1dc5f4
4 files changed
+36
-17
No files matched your search
+9
-2
@@ -2,7 +2,7 @@ import * as THREE from 'three';
|
||||
import type { PierModel } from '../core/geometry';
|
||||
import { solplateGeometry } from '../core/solplate';
|
||||
|
||||
export type PartName = 'coping' | 'columns' | 'footings' | 'piles' | 'blinding' | 'blocks' | 'pads' | 'solplates' | 'ground';
|
||||
export type PartName = 'coping' | 'columns' | 'footings' | 'piles' | 'blinding' | 'blocks' | 'pads' | 'bearings' | 'solplates' | 'ground';
|
||||
|
||||
export const PART_LABELS: Record<PartName, string> = {
|
||||
coping: '코핑',
|
||||
@@ -12,6 +12,7 @@ export const PART_LABELS: Record<PartName, string> = {
|
||||
blinding: '버림콘크리트',
|
||||
blocks: '받침블럭',
|
||||
pads: '모르타르 패드',
|
||||
bearings: '교량받침 본체',
|
||||
solplates: '솔플레이트',
|
||||
ground: '지반',
|
||||
};
|
||||
@@ -24,6 +25,7 @@ const COLORS: Record<PartName, number> = {
|
||||
blinding: 0xe6e2d8,
|
||||
blocks: 0xd6dde5,
|
||||
pads: 0x8898aa,
|
||||
bearings: 0x5b6676,
|
||||
solplates: 0x6f7c8a,
|
||||
ground: 0x6b8f4e,
|
||||
};
|
||||
@@ -140,7 +142,12 @@ export function buildPierScene(m: PierModel): PierScene {
|
||||
pad.translate(b.s, b.padTop - 0.025, b.n);
|
||||
add('pads', pad, 1, b.k);
|
||||
if (b.plan) {
|
||||
// Solplate: a wedge that tapers along the 교축 (T1 on the 시점 side), on the bearing (승인 2026-10-23).
|
||||
// 교량받침 본체 (승인 2026-10-23): the solplate plan less 100 mm on each side, from the mortar top up to the solplate.
|
||||
const body = new THREE.BoxGeometry((b.plan.B + b.plan.margin) / 1000 - 0.2, b.plan.h3 / 1000, (b.plan.A + b.plan.margin) / 1000 - 0.2);
|
||||
body.rotateY(turn);
|
||||
body.translate(b.s, b.padTop + b.plan.h3 / 2000, b.n);
|
||||
add('bearings', body, 1, b.k);
|
||||
// Solplate: a wedge that tapers across the 교각축 직각 (T1 at the (−) side), on the bearing (승인 2026-10-23).
|
||||
const sp = solplateGeometry(b, b.plan.h3, { A: b.plan.A, B: b.plan.B, margin: b.plan.margin, T: b.plan.T, slopePct: b.plan.S });
|
||||
add('solplates', wedgeGeometry(sp.corners), 1, b.k);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user