當前位置:編程學習大全網 - 編程語言 - CAD怎麽自己編lisp程序

CAD怎麽自己編lisp程序

做了隱藏和顯示兩個命令.

我編寫的簡單,功能不太全.妳看著用吧

復制下列代碼,創建acad.lsp.放在在CAD安裝目錄第壹層文件夾下,可自動加載啊:

;在命令行輸入該命令hidsel,然後選擇圖元,結果沒選的被改到隱藏層

(defun C:hidsel(/ all;所有圖元

xs;非隱藏圖元

yc;隱藏圖元

n nam dat)

(setvar "CMDECHO" 0);關閉命令回顯

(command "_layer" "n" "臨時隱藏圖層" "")(command "_layer" "off" "臨時隱藏圖層" "")

(setvar "CMDECHO" 1)

(setq all (ssget "x"));選擇所有

(setq xs (ssget));選擇非隱藏圖元

(setq n -1 yc all);運算隱藏圖元

(repeat (sslength xs)

(setq n (+ n 1))

(setq nam (ssname xs n));返回第N個圖元的名稱

(setq yc (ssdel nam yc))

)

(setq N -1);隱藏

(repeat (sslength yc)

(setq N (+ n 1))

(setq nam (ssname yc n));返回第N個圖元的名稱

(setq dat (entget nam));DAT儲存第N個圖元數據

(entmod (subst (cons 8 "臨時隱藏圖層") (Assoc 8 dat) dat));將yc集合隱藏

)

(setq all nil xs nil yc nil n nil nam nil dat nil);清除數據占用內存

(princ)

)

;顯示所有圖元

(defun c:shoal(/ all n nam dat)

(setq all (ssget "x"));選擇所有

(setq N -1);隱藏

(repeat (sslength all)

(setq N (+ n 1))

(setq nam (ssname all n));返回第N個圖元的名稱

(setq dat (entget nam));DAT儲存第N個圖元數據

(entmod (subst (cons 8 "0") (Assoc 8 dat) dat));將yc集合隱藏

)

(setvar "CMDECHO" 0)

(COMMAND "PURGE" "LA" "臨時隱藏圖層" "Y" "Y" "")

(setvar "CMDECHO" 1)

(setq all nil n nil nam nil dat nil);清除數據占用內存

(princ)

)

  • 上一篇:保研自薦書「特薦」
  • 下一篇:截的組詞大全(約50個) 截的詞語解釋_截是什麽意思?
  • copyright 2024編程學習大全網