- src/core/parse.mjs: DXF 파일 파싱 (dxf-parser 사용) * 1720개 엔티티 추출 (선, 폴리라인, 원, 호, 텍스트) * 17개 레이어 분류 * 241개 폐곡선 검출 * 치수 정보 추출 - src/build.mjs: IR 생성 (DXF → JSON) * 5개 뷰 분리 (평면도, 종단면, 횡단면 A-A/B-B, 상세) * 폐곡선 관리 * 208 KB IR 파일 생성 - src/build/generate-3d.mjs: Three.js 기반 3D 변환 * IR에서 폐곡선 읽음 * 각 폐곡선 → 3D 박스 Extrude * 20개 부재 생성 (최대) * OBJ 파일 내보내기 (480 정점) - package.json: three, dxf-parser 의존성 추가 결과: ✅ 실제 가시설_평면.dxf 파일 기반 3D 모델 생성 ✅ 웹 뷰어에서 실시간 확인 가능 ✅ Boolean 미지원 (B1 단계) 다음: B2 업그레이드 (Boolean 연산) 또는 배포 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
73 lines
2.2 KiB
JSON
73 lines
2.2 KiB
JSON
{
|
|
"name": "dxf-to-3d-web",
|
|
"version": "1.0.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "dxf-to-3d-web",
|
|
"version": "1.0.0",
|
|
"license": "MPL-2.0",
|
|
"dependencies": {
|
|
"dxf-parser": "latest",
|
|
"three": "latest"
|
|
},
|
|
"devDependencies": {
|
|
"node": ">=18.0.0"
|
|
}
|
|
},
|
|
"node_modules/dxf-parser": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/dxf-parser/-/dxf-parser-1.1.2.tgz",
|
|
"integrity": "sha512-GPTumUvRkounlIazLIyJMmTWt+nlg+ksS0Hdm8jWvejmZKBTz6gvHTam76wRm4PQMma5sgKLThblQyeIJcH79Q==",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"loglevel": "^1.7.1"
|
|
}
|
|
},
|
|
"node_modules/loglevel": {
|
|
"version": "1.9.2",
|
|
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.2.tgz",
|
|
"integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==",
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">= 0.6.0"
|
|
},
|
|
"funding": {
|
|
"type": "tidelift",
|
|
"url": "https://tidelift.com/funding/github/npm/loglevel"
|
|
}
|
|
},
|
|
"node_modules/node": {
|
|
"version": "26.12.0",
|
|
"resolved": "https://registry.npmjs.org/node/-/node-26.12.0.tgz",
|
|
"integrity": "sha512-/P4rDRs4lOBFW0UUDb1Yuy02aDd9oh/RHZfl3haBnatqUcDnY0np4fo9EgK7zhX09bzZ/uroJfyzW+Tgo5kyiA==",
|
|
"dev": true,
|
|
"hasInstallScript": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"node-bin-setup": "^1.0.0"
|
|
},
|
|
"bin": {
|
|
"node": "bin/node"
|
|
},
|
|
"engines": {
|
|
"npm": ">=5.0.0"
|
|
}
|
|
},
|
|
"node_modules/node-bin-setup": {
|
|
"version": "1.1.4",
|
|
"resolved": "https://registry.npmjs.org/node-bin-setup/-/node-bin-setup-1.1.4.tgz",
|
|
"integrity": "sha512-vWNHOne0ZUavArqPP5LJta50+S8R261Fr5SvGul37HbEDcowvLjwdvd0ZeSr0r2lTSrPxl6okq9QUw8BFGiAxA==",
|
|
"dev": true,
|
|
"license": "ISC"
|
|
},
|
|
"node_modules/three": {
|
|
"version": "0.186.1",
|
|
"resolved": "https://registry.npmjs.org/three/-/three-0.186.1.tgz",
|
|
"integrity": "sha512-blFeqb49wRCSGUGj7gtpfnSGHy2lwDk94RhUmS1c/hTby70kvChbWpkJ4Pm1390LqzzvTmzgXKHPEafJwCb8jA==",
|
|
"license": "MIT"
|
|
}
|
|
}
|
|
}
|