AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]修改配置空間的圖塊屬性 Io15010 [討論]修改配置空間的圖塊屬性 Easase10 [討論]修改配置空間的圖塊屬性 Oiu15010 [討論]修改配置空間的圖塊屬性 2020-211 [討論]修改配置空間的圖塊屬性 Oo-2-110 [討論]修改配置空間的圖塊屬性 BPl3tjj

[討論]修改配置空間的圖塊屬性

向下

[討論]修改配置空間的圖塊屬性 Empty [討論]修改配置空間的圖塊屬性

發表 由 leoneriol 于 2009-12-22, 09:28

想要寫個修改圖框屬性質的程式.....
一般的寫法要取得圖塊屬性內的值必須先建立ActiveX所需的AutoCAD基本物件環境
(vl-load-com)
(setq acadobj(vlax-get-acad-object))
(setq dwgobj (vla-get-ActiveDocument acadobj))
(setq mspace (vla-get-ModelSpace dwgobj)) <---取得模型空間集合物件
因為我的屬性圖塊是放在配置空間的...
所以關於紅色的部分我本來以為要改成vla-get-PaperSpace,但是查詢過後並無這個指令~

請教各位高手是有相似的指令可以用嗎?還是我的出發點錯了?有另外的方式可以解決呢?


Tiger&蘋果爸 在 2010-01-04, 15:10 作了第 6 次修改 (原因 : 改為討論!)
leoneriol
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 818
年齡 : 36
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 7677
威望值 : 956
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 litung 于 2009-12-22, 12:40

可以告之一下,你要修改圖框的那些東西嗎?用途跟想法。
或許不用寫程式,可用【功能變數】來達成。

小弟想到的是,你可能是用配置來出圖;用配置出圖,有可能就會配合圖紙集的使用方式。這樣或許可以使用現成的【功能變數】來自動變更圖框屬性值。
litung
litung
中級會員
中級會員

文章總數 : 225
年齡 : 45
來自 : 高雄市阿蓮區
職業 : PLC設計、HMI規劃、VB6、接案
愛好 : 電腦、卡通、桌球
個性 : 溫和、內向
使用年資 : 現在只出嘴
使用版本 : CAD 2008
積分 : 7
經驗值 : 4859
威望值 : 249
發帖精華 : 1
注冊日期 : 2009-10-30
串連貼紙成功 男 處女座 兔

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 leoneriol 于 2009-12-23, 09:33

litung您好...先謝謝您的回覆

我目前主要的目的是修改"比例"(1:100,1:200,....)

之後也希望能夠方便修改"建築名稱","建築物編號"等等配置裡圖框圖塊上內容重覆性統一性高的屬性

-------我是分隔線------------

我現在修改這類重複性統一性高的屬性圖塊,做法都是使用"尋找與取代(find)的功能來做修改.....

但是隨著時間推移,慢慢的圖的張數會越來越多,所以想使用程式配合修改

希望可以能自動開啟指定檔案並且操作修改動作....而小弟目前已經擁有自動開啟指定檔案的程式了

卡在"操作修改的動作"一直研究不出來該怎麼解決才好
leoneriol
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 818
年齡 : 36
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 7677
威望值 : 956
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 張譽璋 于 2009-12-27, 00:24

配置的設計本來就是用來出圖用的,所以圖框上的比例常常會出現必須自己輸入的問題,除此之外很多的lisp外掛根本無法用在配置中,所以請各位要有一個認知配置出圖主要是給無法寫程式的繪圖者使用的最便利的方式,但是對有能力開發程式的人來說,配置反而是個困擾,所以大部分的機械相關產業的公司很少會去利用配置的方式出圖,對機械業來說圖面上有很多的標註需要靠lisp程式去輔助標註上的不足,所以你們遇到的麻煩到目前為止沒有一個很好的方法來解決.我自己有寫過修改的程式但是這個部分是相當麻煩解決的,要花很多時間去思考但是我可以提供幾個函數你可以參考看看entnext,因為圖框中所有的屬性是包含在圖框圖塊中,所以你必須去找出你想修改的屬性,所以難度算蠻高的,你可以用entnext去幫你找,但是他無法直接找出,而是你必須去比對每一個屬性,去找出符合條件的屬性,這個程式會讓你有的傷腦筋,所以這也考驗你的功力了,真的不容宜喔! 頭暈目眩
avatar
張譽璋
榮譽顧問
榮譽顧問

文章總數 : 304
年齡 : 50
來自 : 彰化縣員林鎮
職業 : 機械設計工程師/AutoCAD講師/AutoCAD外掛系統開發/AutoCAD書籍作者
愛好 : 旅行及電影
個性 : 風趣健談
使用年資 : 25年
使用版本 : AutoCAD2010/2011/2012/2013
積分 : 20
經驗值 : 5996
威望值 : 635
發帖精華 : 2
回帖精華 : 1
注冊日期 : 2008-05-28
藍鵲12號
男 處女座 狗

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 Tiger&蘋果爸 于 2009-12-28, 16:27

寫程式的確是很複雜...
我所使用的方式是腳本檔(SCR)來更改屬性圖塊!!

____________________________________________________________________________________
[討論]修改配置空間的圖塊屬性 Oo-2-110 [討論]修改配置空間的圖塊屬性 Ia15010 [討論]修改配置空間的圖塊屬性 Ziao1510 [討論]修改配置空間的圖塊屬性 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 19332
年齡 : 44
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 76504
威望值 : 14609
注冊日期 : 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

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 leoneriol 于 2010-01-04, 10:46

感謝蘋果爸,litung與張譽璋老師給的建議以及意見,小弟我會多去嘗試的


leoneriol 在 2010-01-04, 10:48 作了第 1 次修改 (原因 : 修改)
leoneriol
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 818
年齡 : 36
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 7677
威望值 : 956
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 Tiger&蘋果爸 于 2010-01-04, 15:12

leoneriol 寫到:感謝蘋果爸,litung與張譽璋老師給的建議以及意見,小弟我會多去嘗試的
ok~
有問題請再提出!!

PS:另外我將主題改為討論,看看有沒有其他成員可以一起加入討論~

____________________________________________________________________________________
[討論]修改配置空間的圖塊屬性 Oo-2-110 [討論]修改配置空間的圖塊屬性 Ia15010 [討論]修改配置空間的圖塊屬性 Ziao1510 [討論]修改配置空間的圖塊屬性 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 19332
年齡 : 44
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 76504
威望值 : 14609
注冊日期 : 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

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 macgyver_hsu 于 2010-04-07, 23:41

這有修改屬性副程式一支
你可以修改屬性值後出圖
出完圖後再改回原值
;用法 : (attchval <圖元名稱: 7ed7cda8> 標籤 新值)
(defun attchval (bkname label nv / bn sn snlist chk0 labname lab)
(if (/= bkname nil)
(progn
(setq bkname (entget bkname))
(setq sn (cdr (assoc -1 bkname)))
)
(setq sn nil)
)
(while (/= sn nil)
(setq snlist (entget sn))
(setq chk0 (cdr (assoc 0 snlist)))
(if (= chk0 "ATTRIB")
(progn
(setq labname (cdr (assoc 2 snlist)))
(if (= (strcase labname) (strcase label))
(progn
(setq snlist (subst (cons 1 nv) (assoc 1 snlist) snlist))
(entmod snlist)
(entupd sn)
(setq lab 1)
(setq sn nil)
)
(setq sn (entnext sn))
)
)
(setq sn (entnext sn))
)
)
(if (and (= sn nil) (= lab nil))
(princ "\n找不到符合的屬性標籤\n")
;(princ "\nchange OK")
)
(princ)
)

Tiger&蘋果爸 寫到:讚啦!! 謝謝熱心回覆~< 積分 +1>
[公告]關於團隊成員的回文及貢獻


Tiger&蘋果爸 在 2010-04-09, 11:14 作了第 1 次修改 (原因 : 積分+1)
macgyver_hsu
macgyver_hsu
初級會員
初級會員

文章總數 : 17
年齡 : 55
來自 : 岡山
職業 : 自動化設計
愛好 : 創造發明設計
個性 : 隨和
使用年資 : R10到現在
使用版本 : 2006M
積分 : 1
經驗值 : 3917
威望值 : 9
注冊日期 : 2010-03-12
男 雙子座 蛇

回頂端 向下

[討論]修改配置空間的圖塊屬性 Empty 回復: [討論]修改配置空間的圖塊屬性

發表 由 macgyver_hsu 于 2010-04-07, 23:47

再補一支副程式

;;;;;抓取屬性值
;;(get_att_val <圖元名稱: 4008b690> 標簽)

(defun get_att_val (bkname lab / snlist chk0 labname val)
(while (/= bkname nil)
(setq snlist (entget bkname))
(setq chk0 (cdr (assoc 0 snlist)))
(if (= chk0 "ATTRIB")
(progn
(setq labname (cdr (assoc 2 snlist)))
(if (= (strcase labname) (strcase lab))
(progn
(setq val (cdr (assoc 1 snlist)))
(setq bkname nil)
)
(setq bkname (entnext bkname))
)
)
(setq bkname (entnext bkname))
)
)
(if (= val nil)
(progn
(princ "\nNot find Block & setting the value is 1")
(setq val 1)
)
)
val
)
macgyver_hsu
macgyver_hsu
初級會員
初級會員

文章總數 : 17
年齡 : 55
來自 : 岡山
職業 : 自動化設計
愛好 : 創造發明設計
個性 : 隨和
使用年資 : R10到現在
使用版本 : 2006M
積分 : 1
經驗值 : 3917
威望值 : 9
注冊日期 : 2010-03-12
男 雙子座 蛇

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]修改配置空間的圖塊屬性 Uos15010 [討論]修改配置空間的圖塊屬性 BPl3tjj [討論]修改配置空間的圖塊屬性 Ziao1510 [討論]修改配置空間的圖塊屬性 Oo-2-110 [討論]修改配置空間的圖塊屬性 Oooo-110 [討論]修改配置空間的圖塊屬性 2020-211