From 19b3db0499e277b8abebc9fd0afe1f8f11b5d535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Fri, 13 Mar 2026 08:55:10 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[bim]=20BIM=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EA=B8=B0=20=EB=A9=94=EB=89=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 방화셔터/방화문/방화댐퍼 파라메트릭 3D 설계 - 실시간 Three.js 프리뷰 + IfcProduct JSON 생성 - IFC STEP 파일 내보내기 - PMIS 사이드바에 BIM 생성기 메뉴 등록 --- .../Controllers/Juil/PlanningController.php | 9 + resources/views/juil/bim-generator.blade.php | 1064 +++++++++++++++++ resources/views/juil/bim-viewer.blade.php | 1 + routes/web.php | 1 + 4 files changed, 1075 insertions(+) create mode 100644 resources/views/juil/bim-generator.blade.php diff --git a/app/Http/Controllers/Juil/PlanningController.php b/app/Http/Controllers/Juil/PlanningController.php index 002b9d0c..e98074ad 100644 --- a/app/Http/Controllers/Juil/PlanningController.php +++ b/app/Http/Controllers/Juil/PlanningController.php @@ -57,6 +57,15 @@ public function bimViewer(Request $request): View|Response return view('juil.bim-viewer'); } + public function bimGenerator(Request $request): View|Response + { + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('juil.construction-pmis.bim-generator')); + } + + return view('juil.bim-generator'); + } + // ── 시공관리 ── public function pmisWorkforce(Request $request): View|Response diff --git a/resources/views/juil/bim-generator.blade.php b/resources/views/juil/bim-generator.blade.php new file mode 100644 index 00000000..2846fcb3 --- /dev/null +++ b/resources/views/juil/bim-generator.blade.php @@ -0,0 +1,1064 @@ +@extends('layouts.app') + +@section('title', 'BIM 생성기') + +@section('content') +
+@endsection + +@push('scripts') + + + + +@include('partials.react-cdn') + +@endpush diff --git a/resources/views/juil/bim-viewer.blade.php b/resources/views/juil/bim-viewer.blade.php index c2911242..7c9c094f 100644 --- a/resources/views/juil/bim-viewer.blade.php +++ b/resources/views/juil/bim-viewer.blade.php @@ -931,6 +931,7 @@ class BimScene { const PMIS_MENUS = [ { icon: 'ri-building-2-line', label: 'BIM 관리', id: 'bim', children: [ { label: 'BIM 뷰어', id: 'bim-viewer', url: '/juil/construction-pmis/bim-viewer' }, + { label: 'BIM 생성기', id: 'bim-generator', url: '/juil/construction-pmis/bim-generator' }, ]}, { icon: 'ri-line-chart-line', label: '시공관리', id: 'construction', children: [ { label: '인원관리', id: 'workforce', url: '/juil/construction-pmis/workforce' }, diff --git a/routes/web.php b/routes/web.php index a719adb9..9476d620 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1740,6 +1740,7 @@ Route::get('/construction-pmis/profile', [PlanningController::class, 'pmisProfile'])->name('construction-pmis.profile'); Route::put('/construction-pmis/profile', [PlanningController::class, 'pmisProfileUpdate'])->name('construction-pmis.profile.update'); Route::get('/construction-pmis/bim-viewer', [PlanningController::class, 'bimViewer'])->name('construction-pmis.bim-viewer'); + Route::get('/construction-pmis/bim-generator', [PlanningController::class, 'bimGenerator'])->name('construction-pmis.bim-generator'); // 시공관리 Route::get('/construction-pmis/workforce', [PlanningController::class, 'pmisWorkforce'])->name('construction-pmis.workforce');