[分享]快速刪除物件(LISP)
+10
oldtea
rickyyang
ianlcc
abc1001221149
nicky740821
LUCAS_LAI
ban9900
asd601023
Tiger&蘋果爸
devinchou
14 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[分享]快速刪除物件(LISP)
大家好!
好久不見!
送上自己寫的LISP...
好久不見!
送上自己寫的LISP...
- 代碼:
; [AutoCAD EXTEND] QUICK ERASE(BY LAYER ERASE OBJECT).
; [AutoCAD "指令"功能延伸] 快速刪除(依圖層刪除物件)。
; 支援軟體版本("AutoCAD")
; 設計者:Devin,Chou
; 版權所有,歡迎使用
; Rev.1(2016/11/03)
(defun C:qe (/ L_X ss
lc_s L_s
lc_m m_lt m_in m_o L_mt L_m )
(setvar "cmdecho" 0 )
(initget "S M" )
(setq L_X
(getkword
(strcat "\n刪除模式[單一圖層(S)/多圖層(M)]<S>:" )))
(if (= L_X nil )
(setq L_X "S" )) ; if.end
(if (= L_X "S" )
(setq lc_s 0 )) ; if.end
(if (= L_X "M" )
(setq lc_m 0 )) ; if.end
(while (= lc_s 0 )
(setq L_s
(assoc 8
(entget
(car
(entsel "\n請選取要刪除物件的圖層:" )))))
(princ "\n圖層:" )(princ (cdr L_s ))
(setq lc_s 1 )) ; while-lc_s.end
(while (= lc_m 0 )
(setq m_lt '() m_in 0 )
(princ "\n請選取要刪除物件的圖層(多圖層):" )
(setq m_o (ssget ))
(repeat (sslength m_o )
(setq L_mt
(assoc 8
(entget
(ssname m_o m_in ))))
(princ "\n圖層:" )(princ (cdr L_mt ))
(setq m_lt (cons L_mt m_lt ))
(setq m_in
(1+ m_in ))) ; repeat.end
(setq L_m
(cons '(-4 . "<OR")
(reverse
(cons '(-4 . "OR>") m_lt ))))
(setq lc_m 1 )) ; while-lc_m.end
(princ "\n請選取要刪除的物件:" )
(if (= L_X "S" )
(setq ss (ssget (list L_s )))) ; if.end
(if (= L_X "M" )
(setq ss (ssget L_m ))) ; if.end
(command "ERASE" ss "" )
(prin1)
) ; end
(princ "\nC:qe")
(prin1)
Tiger&蘋果爸 寫到: 謝謝熱心程式分享~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
- 附件
devinchou- 初級會員
- 文章總數 : 56
年齡 : 47
來自 : 基隆
職業 : 鋼筋檢料
愛好 : 寫作.閱讀.烹飪
個性 : 懶小孩一枚
使用年資 : 每天
使用版本 : 2006.2008
積分 : 3
經驗值 : 4081
威望值 : 192
注冊日期 : 2015-02-15
yingjen and idorun19830119 like this post
回復: [分享]快速刪除物件(LISP)
謝謝devinchou無私分享,有需要的朋友記得回文感謝,不要靜靜下載...靜靜離開喔😅devinchou 寫到:大家好!
好久不見!
送上自己寫的LISP...
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [分享]快速刪除物件(LISP)
感謝大大分享! 很需要這個!
asd601023- 一般會員
- 文章總數 : 11
年齡 : 27
來自 : 台中
職業 : 鈑金加工
愛好 : 發呆
個性 : 隨和
使用年資 : 1
使用版本 : 2016
經驗值 : 1485
威望值 : 0
注冊日期 : 2020-12-22
ban9900- 一般會員
- 文章總數 : 16
年齡 : 65
來自 : 台中市
職業 : 測量
愛好 : 爬山
個性 : 文靜
使用年資 : 初學
使用版本 : 初學
經驗值 : 3006
威望值 : 0
注冊日期 : 2016-11-13
回復: [分享]快速刪除物件(LISP)
;;提點意見
- 代碼:
;;多圖層 / 單一圖層!!<--可以不用選
;;多圖層 不是包含 單一圖層的功能嗎?
;;程式的寫法
;|
(initget "S M")
(setq L_X
(getkword
(strcat "\n刪除模式[單一圖層(S)/多圖層(M)]<S>:")
)
)
(if (= L_X NIL)
(setq L_X "S")
) ; if.end
(if (= L_X "S")
(setq LC_S 0)
) ; if.end
(if (= L_X "M")
(setq LC_M 0)
) ; if.end
|;
;|
;;通常getkword用在比2種還多的情況
;;所以用getstring可簡化程式
(setq LAY (getstring "\n刪除模式[多圖層 / 單一圖層<S>]:"))
(if (OR (= LAY "") (= (STRCASE LAY) "S"))
(progn
(PRINT LAY)
.......
)
(progn
(PRINT "ok")
.......
)
)
|;
;;-----------------------------------------------------
(defun C:QE_LAI (/ N LST LAY)
(setq LST "")
(setq N 0)
(while
(null
(setq SS (ssget (prompt "\n請選取要刪除物件的圖層:")))
)
)
(repeat (sslength SS)
(setq LAY (cdr (assoc 8 (entget (ssname SS N)))))
;;(prompt (strcat "\n圖層:\n" LAY))
(setq LST (strcat LST LAY ","))
(setq N (1+ N))
)
(setq LST (substr LST 1 (1- (strlen LST)))) ;去掉最後","
(prompt (strcat "\n請選取要刪除圖層(" lst ")的物件:"))
(setq SS (ssget (list (cons 8 lst))))
(command "_.ERASE" SS "")
)
(princ "\nC:QE_LAI By Lucas_lai")
(princ)
回復: [分享]快速刪除物件(LISP)
這真的超好用,尤其用在建築殺圖的時候
nicky740821- 一般會員
- 文章總數 : 4
年齡 : 39
來自 : 台北市中和
職業 : 繪圖
愛好 : 健身
個性 : 很好
使用年資 : 新手初學
使用版本 : 2021
經驗值 : 1279
威望值 : 0
注冊日期 : 2021-06-09
abc1001221149- 一般會員
- 文章總數 : 9
年齡 : 31
來自 : 桃園
職業 : 設計師
愛好 : 畫圖
個性 : 瘋狂
使用年資 : 12年
使用版本 : 2018
經驗值 : 2602
威望值 : 0
注冊日期 : 2017-11-21
回復: [分享]快速刪除物件(LISP)
這樣子很方便,厲害。
謝謝您的分享。
謝謝您的分享。
ianlcc- 一般會員
- 文章總數 : 160
年齡 : 49
來自 : 高雄市
職業 : 營建業
愛好 : 拍照、喝咖啡、看電演、上網
個性 : 平靜
使用年資 : 5
使用版本 : 2012
經驗值 : 5385
威望值 : 69
注冊日期 : 2012-06-24
回復: [分享]快速刪除物件(LISP)
感謝大大無私地分享......感恩
rickyyang- 專屬會員
- 文章總數 : 196
年齡 : 45
來自 : 台北
職業 : 營建暨室內裝修工程管理
愛好 : 喜愛黃金獵犬、哈士奇
個性 : 誠信、正義、穩健
使用年資 : 17
使用版本 : AutoCAD 2023
經驗值 : 4590
威望值 : 36
注冊日期 : 2014-11-11
回復: [分享]快速刪除物件(LISP)
這個LISP對清圖很有幫助
感謝您的分享~
感謝您的分享~
oldtea- 一般會員
- 文章總數 : 8
年齡 : 30
來自 : 臺中市
職業 : 繪圖員
愛好 : game.animate
個性 : 內向隨和
使用年資 : 2
使用版本 : 2018
經驗值 : 557
威望值 : 0
注冊日期 : 2023-06-21
回復: [分享]快速刪除物件(LISP)
這LISP超實用
謝謝大大的無私分享
謝謝大大的無私分享
ryan0106- 一般會員
- 文章總數 : 42
年齡 : 49
來自 : 台南
職業 : 製造
愛好 : 一般
個性 : 努力
使用年資 : 新手初學
使用版本 : 2010
經驗值 : 4592
威望值 : 0
注冊日期 : 2012-11-08
回復: [分享]快速刪除物件(LISP)
感謝無私分享
安東尼- 一般會員
- 文章總數 : 25
年齡 : 50
來自 : 桃園
職業 : 待業
愛好 : 音樂
個性 : 誠實
使用年資 : 5年
使用版本 : 2022
經驗值 : 608
威望值 : 0
注冊日期 : 2023-07-23
回復: [分享]快速刪除物件(LISP)
通常作法是 "快速選取",然後點選物件圖層,再匡選區域,來達到選取物件後刪除,LISP直接簡化作業,很好用!
jkop- 一般會員
- 文章總數 : 78
年齡 : 43
來自 : 基隆
職業 : 儀電設計
愛好 : 網遊、下載
個性 : 簡單、輕鬆、安靜
使用年資 : 5年
使用版本 : 2018
經驗值 : 2993
威望值 : 12
注冊日期 : 2017-09-13
回復: [分享]快速刪除物件(LISP)
謝謝分享 很方便的小工具
linxyz168- 專屬會員
- 文章總數 : 59
年齡 : 46
來自 : 新北市
職業 : 設計
愛好 : 看電影/打球
個性 : 隨和
使用年資 : 12年
使用版本 : 2011
經驗值 : 4545
威望值 : 12
注冊日期 : 2013-03-31
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章