From b5cec674b1f63274bb3c7f808ba3862ed2ae49f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 8 Mar 2026 17:53:48 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[rd]=20=EC=9E=90=EB=8F=99=EB=8F=84?= =?UTF-8?q?=EB=A9=B4=20=EC=83=9D=EC=84=B1=20=EB=A9=94=EB=89=B4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 레거시 전개도 시뮬레이터를 MNG 환경으로 마이그레이션 - RdController에 autoDrawing 메서드 추가 (HX-Request 체크 포함) - 라우트: GET /rd/auto-drawing - R&D 대시보드에 자동도면 생성 카드 추가 - 레거시 PHP 코드 제거 (세션, API키, 서버기록 등) - Three.js 3D 렌더링, SVG 미리보기, DXF 도면 생성 기능 유지 --- app/Http/Controllers/RdController.php | 12 + .../views/rd/auto-drawing/index.blade.php | 4884 +++++++++++++++++ resources/views/rd/index.blade.php | 18 + routes/web.php | 3 + 4 files changed, 4917 insertions(+) create mode 100644 resources/views/rd/auto-drawing/index.blade.php diff --git a/app/Http/Controllers/RdController.php b/app/Http/Controllers/RdController.php index 52802102..e5f5bfbf 100644 --- a/app/Http/Controllers/RdController.php +++ b/app/Http/Controllers/RdController.php @@ -589,4 +589,16 @@ public function soundLogoTts(Request $request): JsonResponse 'mime_type' => $inlineData['mimeType'] ?? 'audio/L16;rate=24000', ]); } + + /** + * 자동도면 생성 (전개도 시뮬레이터) + */ + public function autoDrawing(Request $request): View|\Illuminate\Http\Response + { + if ($request->header('HX-Request')) { + return response('', 200)->header('HX-Redirect', route('rd.auto-drawing')); + } + + return view('rd.auto-drawing.index'); + } } diff --git a/resources/views/rd/auto-drawing/index.blade.php b/resources/views/rd/auto-drawing/index.blade.php new file mode 100644 index 00000000..4f85217b --- /dev/null +++ b/resources/views/rd/auto-drawing/index.blade.php @@ -0,0 +1,4884 @@ +@extends('layouts.app') + +@section('title', '자동도면 생성') + +@section('content') + + +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+
+

+ 01 + 절곡 단면 시각화 +

+
+
+ REAL-TIME PROFILE +
+
+ +
+
+ +
+
+
+ + + + + + +
+ + +
+ + + + +
+ +
+
+

+ + 전개도 정밀 미리보기 +

+
+ SCALE: 100% +
+ +
+ +
+
+ + +
+ + + +
+
+ +
+ +
+ +
+ + mm +
+

좌우/앞뒤 공통

+
+ +
+ +
+ + mm +
+

앞뒤 = Width - (T×2)

+
+ +
+ +
+ + mm +
+

좌우 프레임 전체 폭

+
+ +
+ +

자동 업데이트

+
+
+ + +
+ +
+ +
+ + mm +
+

상단 절곡 날개

+
+ + +
+ +
+ + mm +
+

벽면 전체 높이

+
+ + +
+ +
+ + mm +
+

수직부 높이

+
+ + +
+ +
+ + mm +
+

바닥면 너비

+
+ + +
+ +
+ + mm +
+

끝점~팝너트

+
+ + +
+

+ + 설정 요약 +

+
+
날개:30
+
높이:150
+
1단:70
+
+
+
+
+
+ + + + + + + + + +
+ +
+ +
+
+ + + +
+
+
+ + + + + + + + + + +
+@endsection + +@push('styles') + +@endpush + +@push('scripts') + + + + +@endpush diff --git a/resources/views/rd/index.blade.php b/resources/views/rd/index.blade.php index 67e7ce8b..de0e4d85 100644 --- a/resources/views/rd/index.blade.php +++ b/resources/views/rd/index.blade.php @@ -111,6 +111,24 @@ + + +
+
+ +
+
+

자동도면 생성

+

조명천장 프레임의 절곡 전개도를 시뮬레이션하고 DXF 도면을 생성합니다.

+
+ 전개도 + DXF + 3D 렌더링 +
+
+
+
+
diff --git a/routes/web.php b/routes/web.php index 8751f03f..ecafc9e2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -426,6 +426,9 @@ Route::post('/sound-logo/generate', [RdController::class, 'soundLogoGenerate'])->name('sound-logo.generate'); Route::post('/sound-logo/tts', [RdController::class, 'soundLogoTts'])->name('sound-logo.tts'); Route::get('/sound-logo/lyria-config', [RdController::class, 'soundLogoLyriaConfig'])->name('sound-logo.lyria-config'); + + // 자동도면 생성 + Route::get('/auto-drawing', [RdController::class, 'autoDrawing'])->name('auto-drawing'); }); // 일일 스크럼 (Blade 화면만)