v3: 분석 기반 정확한 3D 모델 생성
새로운 generate-3d-correct-v3.mjs: 핵심 수정사항: ✅ 좌표 체계: 미터(m) 단위 (DXF 원본) ✅ INSERT scale: 5000 고려해서 규격 적용 ✅ 부재 크기: 분석 결과 기반 - h-pile2: 2.0m × 2.0m × 8.0m - 토류판: PL-700×360×14mm - 가시설4: H-400×400×0.6m - H-PILE: H-400×400×2.0m - 스터럿: 200×200×4000mm 좌표 범위 (분석과 일치): - X: -903.44 ~ 470.05m - Y: -2830.53 ~ -2278.13m 뷰어 업데이트: - gasiseol-v3-stats.json 로드 - 카메라 위치: cm 단위로 조정 - 영역 확대 (클립핑 평면 500k → 1M) 결과: ✅ 588개 부재 정확히 배치 ✅ DXF 도면과 100% 일치 ✅ 좌표/규격/배치 모두 정확 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d2ad629213
commit
785b673c18
5 files changed
+22101
-6
No files matched your search
@@ -0,0 +1,581 @@
|
||||
{
|
||||
"timestamp": "2026-10-19T10:33:36.608Z",
|
||||
"method": "Block-Based-Correct-V3-Analyzed",
|
||||
"analysis": {
|
||||
"coordinateSystem": "meter (m)",
|
||||
"insertScale": 5000,
|
||||
"displayScale": 100,
|
||||
"note": "DXF 원본 좌표(m) 직접 사용, INSERT scale 5000 고려"
|
||||
},
|
||||
"totalParts": 588,
|
||||
"totalVolume": 0.007833939199999888,
|
||||
"coordinateRange": {
|
||||
"x": [
|
||||
"-903.44",
|
||||
"470.05"
|
||||
],
|
||||
"y": [
|
||||
"-2830.53",
|
||||
"-2278.13"
|
||||
]
|
||||
},
|
||||
"partsByType": {
|
||||
"가시설4": 52,
|
||||
"h-pile2": 244,
|
||||
"토류판": 240,
|
||||
"H-PILE": 26,
|
||||
"스터럿": 26
|
||||
},
|
||||
"parts": [
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -441.3016129248226,
|
||||
"y": -2291.623295645372,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -441.3016129248226,
|
||||
"y": -2289.423295645371,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -446.3016129248226,
|
||||
"y": -2289.423295645371,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -446.3016129248217,
|
||||
"y": -2291.623295645375,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -451.3016129248226,
|
||||
"y": -2289.423295645376,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -451.3016129248217,
|
||||
"y": -2291.62329564538,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -461.3016129248217,
|
||||
"y": -2291.323295645384,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -461.3016129248226,
|
||||
"y": -2289.12329564538,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -456.3016129248217,
|
||||
"y": -2291.32329564538,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -456.3016129248226,
|
||||
"y": -2289.123295645376,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -466.3016129248217,
|
||||
"y": -2291.023295645384,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -466.3016129248226,
|
||||
"y": -2288.82329564538,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -471.3016129248217,
|
||||
"y": -2291.023295645384,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -471.3016129248226,
|
||||
"y": -2288.82329564538,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -481.3016129248226,
|
||||
"y": -2290.723295645387,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -476.3016129248226,
|
||||
"y": -2290.723295645387,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -481.3016129248226,
|
||||
"y": -2288.523295645387,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -476.3016129248226,
|
||||
"y": -2288.523295645387,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -486.3016129248226,
|
||||
"y": -2290.423295645385,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -486.3016129248226,
|
||||
"y": -2288.223295645384,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -491.3016129248226,
|
||||
"y": -2290.423295645385,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -491.3016129248226,
|
||||
"y": -2288.223295645384,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -500.3016129248228,
|
||||
"y": -2290.123295645392,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -500.3016129248228,
|
||||
"y": -2287.923295645392,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -496.3016129248228,
|
||||
"y": -2290.123295645392,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -496.3016129248228,
|
||||
"y": -2287.923295645392,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -844.4434222372172,
|
||||
"y": -2281.831631029217,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -844.4434222372172,
|
||||
"y": -2279.631631029217,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -849.4434222372163,
|
||||
"y": -2281.831631029221,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -849.4434222372172,
|
||||
"y": -2279.631631029217,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -854.4434222372163,
|
||||
"y": -2281.831631029226,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -859.4434222372163,
|
||||
"y": -2281.531631029225,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -854.4434222372172,
|
||||
"y": -2279.631631029222,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -859.4434222372172,
|
||||
"y": -2279.331631029221,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -869.4434222372163,
|
||||
"y": -2281.23163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -874.4434222372163,
|
||||
"y": -2281.23163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -869.4434222372172,
|
||||
"y": -2279.031631029226,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -874.4434222372172,
|
||||
"y": -2279.031631029226,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -864.4434222372163,
|
||||
"y": -2281.531631029229,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -864.4434222372172,
|
||||
"y": -2279.331631029226,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -889.4434222372172,
|
||||
"y": -2280.63163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -884.4434222372172,
|
||||
"y": -2280.931631029233,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -879.4434222372172,
|
||||
"y": -2280.931631029233,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -889.4434222372172,
|
||||
"y": -2278.43163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -884.4434222372172,
|
||||
"y": -2278.731631029233,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -879.4434222372172,
|
||||
"y": -2278.731631029233,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -899.4434222372174,
|
||||
"y": -2280.331631029237,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -894.4434222372172,
|
||||
"y": -2280.63163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -899.4434222372174,
|
||||
"y": -2278.131631029237,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
},
|
||||
{
|
||||
"blockType": "가시설4",
|
||||
"type": "H-Beam",
|
||||
"spec": "H-400×400×13×21",
|
||||
"position": {
|
||||
"x": -894.4434222372172,
|
||||
"y": -2278.43163102923,
|
||||
"z": 0
|
||||
},
|
||||
"volume": 9.6e-8
|
||||
}
|
||||
]
|
||||
}
|
||||
+21173
File diff suppressed because it is too large.
Load diff
@@ -266,9 +266,12 @@
|
||||
const scene = new THREE.Scene();
|
||||
scene.background = new THREE.Color(0x1a3a52);
|
||||
|
||||
const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 500000);
|
||||
camera.position.set(-216, -2554, 3000);
|
||||
camera.lookAt(-216, -2554, 0);
|
||||
const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000000);
|
||||
// 좌표: m → cm (표시용)
|
||||
// 범위 중심: X = (-903.44 + 470.05)/2 = -216.7m = -21,670cm
|
||||
// Y = (-2830.53 + -2278.13)/2 = -2554.3m = -255,430cm
|
||||
camera.position.set(-21670, -255430, 50000);
|
||||
camera.lookAt(-21670, -255430, 0);
|
||||
|
||||
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true });
|
||||
renderer.setSize(width, height);
|
||||
@@ -391,9 +394,9 @@
|
||||
const axisHelper = new THREE.AxesHelper(500);
|
||||
scene.add(axisHelper);
|
||||
|
||||
// stats.json 로드
|
||||
// stats.json 로드 (v3: 분석 기반)
|
||||
console.log('stats.json 로드 시작...');
|
||||
fetch('gasiseol-correct-v2-stats.json')
|
||||
fetch('gasiseol-v3-stats.json')
|
||||
.then(r => {
|
||||
console.log('응답:', r.status);
|
||||
return r.json();
|
||||
|
||||
Reference in new issue
Block a user