AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Io15010 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) 2020-310 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Oiu15010 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) 2020-211 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Oo-2-110 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) BPl3tjj

[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換)

向下

[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Empty [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換)

發表 由 蔣秉澔 于 2013-11-29, 09:47

決定開始學lisp,這2個月來,於利用工作閒霞之際,加上不斷上網觀摩跟版上偷師,借力使力,終於有一點點的小成果,分享給有需要的會友。
小小程式,希望兄姐弟妹能賜教。
圖塊互換:
(defun c:bkchange()
 (setq bk1(entsel"請選取圖塊1"))
 (setq bk1_data(entget(car bk1)))
 (setq bk1_old(assoc 2 bk1_data))
 (setq bk2(entsel"請選取圖塊2"))
 (setq bk2_data(entget(car bk2)))
 (setq bk2_old(assoc 2 bk2_data))
 (setq bk1_data (subst bk2_old bk1_old bk1_data))
 (setq bk2_data (subst bk1_old bk2_old bk2_data))
 (entmod bk1_data)(entmod bk2_data)
)


圖塊複製:
(defun c:bkcopy()
 (setq bk1(entsel"請選取圖塊"))
 (setq bk1_data(entget(car bk1)))
 (setq bk1_old(assoc 2 bk1_data))
 (setq bk2(ssget))
 (setq bk2_qu(sslength bk2))
 (setq i 0)
 (while (< i bk2_qu)
   (setq bk2_data(entget(ssname bk2 i)))
   (setq bk2_new(assoc 2 bk2_data))
   (setq bk2_data (subst bk1_old bk2_new bk2_data))
   (entmod bk2_data)
   (setq i(1+ i))
  );while 結束
)
蔣秉澔
蔣秉澔
初級會員
初級會員

文章總數 : 211
年齡 : 43
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 3915
威望值 : 168
注冊日期 : 2013-08-31
顧問外掛程式 藍鵲661號
男 金牛座 蛇

回頂端 向下

[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Empty 回復: [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換)

發表 由 hueigo 于 2013-12-02, 17:29

請問一下,這個功能適合用在那呢??如能舉例或許能較了解他的作用,謝謝。
hueigo
hueigo
初級會員
初級會員

文章總數 : 91
年齡 : 56
來自 : 台中
職業 : 建築設計師
愛好 : 圍棋
個性 : 平實
使用年資 : 15
使用版本 : 2013
積分 : 4
經驗值 : 3508
威望值 : 121
注冊日期 : 2012-10-01
顧問外掛程式 經典問與答讀者 男 天蝎座 龍

回頂端 向下

[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Empty 回復: [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換)

發表 由 Tiger&蘋果爸 于 2013-12-02, 17:48

hueigo 寫到:請問一下,這個功能適合用在那呢??如能舉例或許能較了解他的作用,謝謝。
第一個可以參考顧問的外掛程式,也有類似操作影片[物件互換]喔~
[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) ObjectChange32 [物件互換]ObjectChange指令:選取目標一物件及目標二物件,以物件基準點進行互換動作。

第二個可以參考顧問的外掛程式,也有類似操作影片[圖塊置換]喔~
[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) MATBlock32 [圖塊置換]MATBlock指令:將所選來源圖塊物件,置換套用至其他目標圖塊物件。

AutoCAD顧問外掛程式 - 圖塊應用工具操作 (上)
https://www.autocad-tw.com/t14841-topic

ACADAdviser外掛程式 - 圖塊應用工具說明
https://www.autocad-tw.com/t14820-topic
竊喜

____________________________________________________________________________________
[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Oo-2-110 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Ia15010 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Ziao1510 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 19443
年齡 : 44
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2021
經驗值 : 77213
威望值 : 14792
注冊日期 : 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初階學習成果發表-圖塊小小應用(複製&互換)

發表 由 蔣秉澔 于 2013-12-03, 11:32

謝謝蘋果爸幫我說明。
這個小程式要跟大師跟比較,還天差地遠呢,呵呵
蔣秉澔
蔣秉澔
初級會員
初級會員

文章總數 : 211
年齡 : 43
來自 : 嘉義市
職業 : 大電力系統設計、製程、檢測
愛好 : 電腦相關,出遊踏青
個性 : 待人隨和,對事執著
使用年資 : 8年
使用版本 : 2011 Electrical,2014
積分 : 4
經驗值 : 3915
威望值 : 168
注冊日期 : 2013-08-31
顧問外掛程式 藍鵲661號
男 金牛座 蛇

回頂端 向下

[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Empty 回復: [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換)

發表 由 devinchou 于 2015-02-17, 19:46

版大...
小弟我也有寫一樣的東西喲...

以下為圖塊替換程式碼...
 ; 本程式為圖塊替換輔助小工具(B圖塊變更為A圖塊)
 ; 支援軟體版本("AutoCAD")
 ; 設計者:Devin,Chou
 ; 版權所有,歡迎使用
 ; Rev.2(2014/12/01)
 ; 進版說明: 1.程式碼精簡 2.圖塊替換後比例維持不變
(defun C:bks (/ ba ba_n ba_x ba_y ba_z
               bb bb_d bb_n bb_x bb_y bb_z )
(setvar "cmdecho" 0 )
(setq ba (entsel "\n選取來源圖塊:" ))
(setq ba_n
   (assoc 2
   (entget (car ba ))
   ))
(setq ba_x
   (assoc 41
   (entget (car ba ))
   ))
(setq ba_y
   (assoc 42
   (entget (car ba ))
   ))
(setq ba_z
   (assoc 43
   (entget (car ba ))
   ))
(while
(setq bb (entsel "\n選取目的圖塊:" ))
(setq bb_d (entget (car bb )))
(setq bb_n
   (assoc 2 bb_d ))
(setq bb_x
   (assoc 41 bb_d ))
(setq bb_y
   (assoc 42 bb_d ))
(setq bb_z
   (assoc 43 bb_d ))
(setq bb_d
   (subst ba_n bb_n bb_d ))
(setq bb_d
   (subst ba_x bb_x bb_d ))
(setq bb_d
   (subst ba_y bb_y bb_d ))
(setq bb_d
   (subst ba_z bb_z bb_d ))
(entmod bb_d )
) ; while
(prin1)
) ; end
(princ "\nC:bks(2版)")
(prin1)

以下為圖塊位置互換程式碼...
 ; 本程式為圖塊位置互換輔助小工具(A.B圖塊位置互換)
 ; 支援軟體版本("AutoCAD")
 ; 設計者:Devin,Chou
 ; 版權所有,歡迎使用
 ; Rev.2(2014/12/11)
 ; 進版說明: -.程式碼精簡
(defun C:bkab (/ ba ba_d ba_ne
                bb bb_d bb_ne )
(setvar "cmdecho" 0 )
(while
(setq ba (entsel "\n選取圖塊(A):" ))
(setq ba_d (entget (car ba )))
(setq ba_ne
   (assoc 10 ba_d ))
(setq bb (entsel "\n選取圖塊(B):" ))
(setq bb_d (entget (car bb )))
(setq bb_ne
   (assoc 10 bb_d ))
(setq ba_d
   (subst bb_ne ba_ne ba_d ))
(setq bb_d
   (subst ba_ne bb_ne bb_d ))
(entmod ba_d )
(entmod bb_d )
) ; while
(prin1)
) ; end
(princ "\nC:bkab(2版)")
(prin1)
devinchou
devinchou
初級會員
初級會員

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

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Uos15010 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) BPl3tjj [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Ziao1510 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Oo-2-110 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) Oooo-110 [分享]lisp初階學習成果發表-圖塊小小應用(複製&互換) 2020-211