AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[分享]快速刪除物件(LISP) Io15011 [分享]快速刪除物件(LISP) 2020-310 [分享]快速刪除物件(LISP) Oiu15010 [分享]快速刪除物件(LISP) 2020-211 [分享]快速刪除物件(LISP) Oo-2-110 [分享]快速刪除物件(LISP) BPl3tjj

[分享]快速刪除物件(LISP)

+2
Tiger&蘋果爸
devinchou
6 posters

向下

[分享]快速刪除物件(LISP) Empty [分享]快速刪除物件(LISP)

發表 由 devinchou 2020-09-16, 22:01

大家好!
好久不見!
送上自己寫的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>
[公告]關於團隊成員的回文及貢獻
附件
[分享]快速刪除物件(LISP) Attachment
53. 快速刪除 QE.zip 您無權下載這里的附件。(1 Kb) 下載 39 次
devinchou
devinchou
初級會員
初級會員

文章總數 : 55
年齡 : 43
來自 : 基隆
職業 : 鋼筋檢料
愛好 : 寫作.閱讀.烹飪
個性 : 懶小孩一枚
使用年資 : 每天
使用版本 : 2006.2008
積分 : 3
經驗值 : 2901
威望值 : 171
注冊日期 : 2015-02-15
男 天蝎座 蛇

yingjen likes this post

回頂端 向下

[分享]快速刪除物件(LISP) Empty 回復: [分享]快速刪除物件(LISP)

發表 由 Tiger&蘋果爸 2020-09-17, 16:36

devinchou 寫到:大家好!
好久不見!
送上自己寫的LISP...
讚啦!! 謝謝devinchou無私分享,有需要的朋友記得回文感謝,不要靜靜下載...靜靜離開喔😅

____________________________________________________________________________________
[分享]快速刪除物件(LISP) Oo-2-110 [分享]快速刪除物件(LISP) Ia15010 [分享]快速刪除物件(LISP) Ziao1510 [分享]快速刪除物件(LISP) BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 19822
年齡 : 45
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2021
經驗值 : 79744
威望值 : 15371
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

[分享]快速刪除物件(LISP) Empty 回復: [分享]快速刪除物件(LISP)

發表 由 asd601023 2020-12-22, 16:04

感謝大大分享! 很需要這個!
asd601023
asd601023
一般會員
一般會員

文章總數 : 10
年齡 : 24
來自 : 台中
職業 : 鈑金加工
愛好 : 發呆
個性 : 隨和
使用年資 : 1
使用版本 : 2016
經驗值 : 324
威望值 : 0
注冊日期 : 2020-12-22
男 水瓶座 鼠

回頂端 向下

[分享]快速刪除物件(LISP) Empty 回復: [分享]快速刪除物件(LISP)

發表 由 ban9900 2021-05-16, 14:39

感謝分享
ban9900
ban9900
贊助會員
贊助會員

文章總數 : 14
年齡 : 62
來自 : 台中市
職業 : 測量
愛好 : 爬山
個性 : 文靜
使用年資 : 初學
使用版本 : 初學
經驗值 : 1842
威望值 : 0
注冊日期 : 2016-11-13
男 射手座 狗

回頂端 向下

[分享]快速刪除物件(LISP) Empty 回復: [分享]快速刪除物件(LISP)

發表 由 LUCAS_LAI 2021-06-13, 11:22

;;提點意見
代碼:

;;多圖層 / 單一圖層!!<--可以不用選
;;多圖層 不是包含 單一圖層的功能嗎?

;;程式的寫法
;|
(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)
LUCAS_LAI
LUCAS_LAI
一般會員
一般會員

文章總數 : 33
年齡 : 56
來自 : 桃園市
職業 : 工程師
愛好 : 看動漫
個性 : 內向
使用年資 : 25年以上,但最近10年少用
使用版本 : 2011
經驗值 : 386
威望值 : 79
注冊日期 : 2021-05-27
男 摩羯座 龍

http://lucas-lai.ys168.com/

回頂端 向下

[分享]快速刪除物件(LISP) Empty 回復: [分享]快速刪除物件(LISP)

發表 由 nicky740821 2021-06-19, 00:08

這真的超好用,尤其用在建築殺圖的時候
nicky740821
nicky740821
一般會員
一般會員

文章總數 : 4
年齡 : 36
來自 : 台北市中和
職業 : 繪圖
愛好 : 健身
個性 : 很好
使用年資 : 新手初學
使用版本 : 2021
經驗值 : 123
威望值 : 0
注冊日期 : 2021-06-09
男 獅子座 牛

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[分享]快速刪除物件(LISP) Uos15010 [分享]快速刪除物件(LISP) BPl3tjj [分享]快速刪除物件(LISP) Ziao1510 [分享]快速刪除物件(LISP) Oo-2-110 [分享]快速刪除物件(LISP) Oooo-110 [分享]快速刪除物件(LISP) 2020-211