From 3869852d3d7d03c4772ed2313d26168be2b63029 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 28 Sep 2026 14:27:56 +0900 Subject: [PATCH] =?UTF-8?q?chore(tools):=20=EC=98=A4=ED=86=A0=EC=BA=90?= =?UTF-8?q?=EB=93=9C=20WEBCLIP=20LISP=20=EC=A7=80=EC=9B=80=20=E2=80=94=20?= =?UTF-8?q?=EB=B3=84=EB=8F=84=20=EC=84=A4=EC=B9=98=20=EC=97=86=EC=9D=B4=20?= =?UTF-8?q?WBLOCK=C2=B7DXFOUT=20=ED=8C=8C=EC=9D=BC=20=EB=81=8C=EC=96=B4?= =?UTF-8?q?=EB=8B=A4=20=EB=86=93=EA=B8=B0=EB=A1=9C=20=EB=B0=94=EA=BF=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 끌어다 놓기 길(서버 /api/projects/dxf-clip/file · CAD 흐린 테두리 · 안내 글)은 8ebb5532(auto:)에 함께 올라감. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01K7JS47SacjPxZ718QsZKyr --- resources/tools/autocad/aislo_webclip.lsp | 88 ----------------------- 1 file changed, 88 deletions(-) delete mode 100644 resources/tools/autocad/aislo_webclip.lsp diff --git a/resources/tools/autocad/aislo_webclip.lsp b/resources/tools/autocad/aislo_webclip.lsp deleted file mode 100644 index a7126076..00000000 --- a/resources/tools/autocad/aislo_webclip.lsp +++ /dev/null @@ -1,88 +0,0 @@ -;;; ============================================================================= -;;; aislo_webclip.lsp — 오토캐드 도형을 Aislo 웹 CAD 로 붙여넣기 (명령 WEBCLIP) -;;; -;;; 쓰는 법 -;;; 1. 오토캐드 명령줄에 WEBCLIP → 보낼 개체를 고르고 Enter -;;; 2. 명령줄에 「N개 복사됨 · 웹 CAD 에서 Ctrl+V」가 뜨면 -;;; 3. 웹 CAD(B07 상세 설계 · 마스터 도면 양식) 캔버스를 한 번 누르고 Ctrl+V -;;; → 원좌표 그대로 · 도면층 이름 그대로 붙고 고른 상태가 됨 -;;; -;;; 설치 (한 번) -;;; · 이번만: 명령 APPLOAD → 이 파일을 골라 [로드] -;;; · 매번 자동: APPLOAD 창 오른쪽 아래 「시작하기 세트」의 [내용...] → [추가...] → 이 파일 -;;; · 파일 자리가 「신뢰할 수 있는 위치」(옵션 → 파일 → 신뢰할 수 있는 위치)가 아니면 -;;; 불러올 때 보안 경고가 한 번 뜸 — [한 번 로드] 또는 그 폴더를 신뢰 위치에 더함 -;;; · 이 파일은 UTF-8 — AutoCAD 2021 이상(LISPSYS 1)이면 안내 글이 바로 보임 · -;;; 옛 판은 안내 글만 깨지고 동작은 같음 -;;; -;;; 하는 일 -;;; 고른 개체만 DXFOUT(ASCII · 소수 16자리) → %TEMP%\aislo_webclip.dxf → -;;; PowerShell `Get-Content -Raw -Encoding UTF8 | Set-Clipboard` 로 파일 글을 클립보드 글로. -;;; LISP 로 파일을 직접 읽지 않는 까닭 — AutoCAD 2007 이후 DXF 는 UTF-8 인데 LISP read-line 은 -;;; ANSI(한글 CP949)로 읽어 한글 글자가 깨짐. PowerShell 이 없는 PC 는 htmlfile -;;; (parentWindow.clipboardData.setData "Text") 로 바꿀 수 있으나 같은 한글 문제가 남음. -;;; 웹 CAD 는 클립보드 글이 「0 / SECTION」으로 시작하면 DXF 로 알아보고 서버가 도형으로 바꿈 -;;; (`B07_DesignDetail_Engine_Frame_Import.py` · 해치 · 솔리드는 빠지고 블록 · 치수는 풀려서 들어감). -;;; ============================================================================= - -(vl-load-com) - -(defun aislo:webclip-path () - (strcat (vl-string-right-trim "\\" (getenv "TEMP")) "\\aislo_webclip.dxf") -) - -;;; 파일 글(UTF-8)을 클립보드 글로 — 성공하면 0 -(defun aislo:clipboard-from-file (path / shell cmd rc) - (setq shell (vlax-create-object "WScript.Shell")) - (setq cmd - (strcat - "powershell -NoProfile -ExecutionPolicy Bypass -Command " - "\"Get-Content -Raw -Encoding UTF8 -LiteralPath '" path "' | Set-Clipboard\"" - ) - ) - ;; 0 = 창 안 띄움 · :vlax-true = 끝날 때까지 기다림 - (setq rc (vl-catch-all-apply 'vlax-invoke-method (list shell 'Run cmd 0 :vlax-true))) - (vlax-release-object shell) - (if (vl-catch-all-error-p rc) -1 rc) -) - -(defun c:WEBCLIP (/ ss path old-dia old-echo rc *error*) - (setq old-dia (getvar "FILEDIA") old-echo (getvar "CMDECHO")) - (defun *error* (msg) - (setvar "FILEDIA" old-dia) - (setvar "CMDECHO" old-echo) - (if (not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*취소*")) - (princ (strcat "\nWEBCLIP 실패: " msg)) - ) - (princ) - ) - (princ "\n웹 CAD 로 보낼 개체를 고르십시오: ") - (if (setq ss (ssget)) - (progn - (setq path (aislo:webclip-path)) - (if (findfile path) (vl-file-delete path)) - (setvar "FILEDIA" 0) - (setvar "CMDECHO" 0) - ;; 파일 이름 → [개체] → 고른 개체 → 소수 자릿수(기본 16) - (command "_.DXFOUT" path "_O" ss "" "") - (setvar "FILEDIA" old-dia) - (setvar "CMDECHO" old-echo) - (cond - ((not (findfile path)) - (princ "\nDXF 를 만들지 못했습니다 — 다시 해 보십시오.") - ) - ((/= 0 (setq rc (aislo:clipboard-from-file path))) - (princ "\n클립보드에 넣지 못했습니다(PowerShell 확인) — DXF 는 %TEMP%\\aislo_webclip.dxf 에 있습니다.") - ) - (t - (princ (strcat "\n" (itoa (sslength ss)) "개 복사됨 · 웹 CAD 에서 Ctrl+V")) - ) - ) - ) - (princ "\n고른 개체가 없습니다.") - ) - (princ) -) - -(princ "\nAislo WEBCLIP 불러옴 — 명령 WEBCLIP 으로 고른 개체를 웹 CAD 로 복사.") -(princ)