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-將線型bylayer改成continuous Aoe1-113[已解決]LISP-將線型bylayer改成continuous Ioaoe110[已解決]LISP-將線型bylayer改成continuous 2020-310[已解決]LISP-將線型bylayer改成continuous Oiu15010[已解決]LISP-將線型bylayer改成continuous 2020-211[已解決]LISP-將線型bylayer改成continuous Ia15010[已解決]LISP-將線型bylayer改成continuous Aizyao10[已解決]LISP-將線型bylayer改成continuous Uos15010[已解決]LISP-將線型bylayer改成continuous BPl3tjj[已解決]LISP-將線型bylayer改成continuous Ziao1510
[已解決]LISP-將線型bylayer改成continuous Aoe15010[已解決]LISP-將線型bylayer改成continuous Oo-2-110[已解決]LISP-將線型bylayer改成continuous Zuoiy_10[已解決]LISP-將線型bylayer改成continuous Aizyao11[已解決]LISP-將線型bylayer改成continuous Iyb_1510[已解決]LISP-將線型bylayer改成continuous Aoe1-112[已解決]LISP-將線型bylayer改成continuous Uos15011[已解決]LISP-將線型bylayer改成continuous Aoe2da10[已解決]LISP-將線型bylayer改成continuous Aoe2da11[已解決]LISP-將線型bylayer改成continuous Aoe10

[已解決]LISP-將線型bylayer改成continuous

3 posters

向下

[已解決]LISP-將線型bylayer改成continuous Empty [已解決]LISP-將線型bylayer改成continuous

發表 由 leoneriol 2009-08-20, 09:44

我碰到的問題是....當線型為bylayer時....物件群碼是省略的狀態.....
之前是有嘗試使用CHPROP這個指令去達到我想要的更換線型指令
測試的時候是ok...但是正式使用時...系統總是回應我選到的選項是在配置空間然後指令就中止了
(造成只令終止的是無法刪除的viewport,而且也是在圖紙空間,沒有作用平常也看不到選不到,但是卻又可以用filter選到)
所以我就捨棄了使用CHPROP這個指令...改用物件群碼.....
但是我發現我所用的lisp程式對省略的物件群碼無作用....而我又找不到將(6 . "continuous")增加入物件群馬的方式...
請高手們幫幫忙...

(defun chglt ()
(prompt "改線型continuous")
(setq ss nil)
(setq ss (ssget "x" '((0 . "*")(6 . "bylayer"))))
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i))
(chgendata en 6 "continuous")
(setq i (1+ i))
)
)

(defun chgendata (#en #qnum #new)
(setq endata(entget #en));;;取得圖元資料
(setq oldlist (assoc #qnum endata))
(setq newlist (cons #qnum #new))
(setq endata (subst newlist oldlist endata))
(entmod endata)
)


leoneriol 在 2009-08-20, 11:19 作了第 1 次修改
leoneriol
leoneriol
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 阿希 2009-08-20, 09:51

leoneriol 寫到:我碰到的問題是....當線型為bylayer時....物件群碼是省略的狀態.....
之前是有嘗試使用CHPROP這個指令去達到我想要的更換線型指令
測試的時候是ok...但是正式使用時...系統總是回應我選到的選項是在配置空間然後指令就中止了
(造成只令終止的是無法刪除的viewport,而且也是在圖紙空間,沒有作用平常也看不到選不到,但是卻又可以用filter選到)
所以我就捨棄了使用CHPROP這個指令...改用物件群碼.....
但是我發現我所用的lisp程式對省略的物件群碼無作用....而我又找不到將(6 . "continuous")增加入物件群馬的方式...
請高手們幫幫忙...

(defun chglt ()
(prompt "改線型continuous")
(setq ss nil)
(setq ss (ssget "x" '((0 . "*")(6 . "bylayer"))))
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i))
(chgendata en 6 "continuous")
(setq i (1+ i))
)
)

(defun chgendata (#en #qnum #new)
(setq endata(entget #en));;;取得圖元資料
(setq oldlist (assoc #qnum endata))
(setq newlist (cons #qnum #new))
(setq endata (subst newlist oldlist endata))
(entmod endata)
)

不清楚你的程式需求為何 ?
將所有物件線型改成BYLAYER ?
avatar
阿希
高級會員
高級會員

文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6824
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
男 摩羯座 猴

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 leoneriol 2009-08-20, 09:55

我的需求是...將所有物件線型為bylayer的..全部改成continuous...
leoneriol
leoneriol
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 阿希 2009-08-20, 10:27

leoneriol 寫到:我的需求是...將所有物件線型為bylayer的..全部改成continuous...

就如同你所提問的 "我發現我所用的lisp程式對省略的物件群碼無作用"
如果線型為BYLAYER ~ 則群碼6是不存在的
這時你只要先把自己虛設(6.XXX) 加到資料串列內再去更換即可

沒有 - 加入虛設群馬 - 新群碼取代需設群馬 - 圖面更新 - 完成
avatar
阿希
高級會員
高級會員

文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6824
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
男 摩羯座 猴

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 leoneriol 2009-08-20, 10:37

加入虛設群碼.....請問這個動作要怎麼做呢???
我該使用哪一個指令?? 是cons嗎??
leoneriol
leoneriol
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 leoneriol 2009-08-20, 10:39

(defun chgendata (#en #qnum #new)
(setq endata(entget #en));;;取得圖元資料
(setq oldlist (assoc #qnum endata))
(setq newlist (cons #qnum #new))
(setq endata (subst newlist oldlist endata))不知是不是再這一行做變動即可??...把subst改成cons??
(entmod endata)
)
leoneriol
leoneriol
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 阿希 2009-08-20, 11:03

leoneriol 寫到:(defun chgendata (#en #qnum #new)
(setq endata(entget #en));;;取得圖元資料
(setq oldlist (assoc #qnum endata))
(setq newlist (cons #qnum #new))
(setq endata (subst newlist oldlist endata))不知是不是再這一行做變動即可??...把subst改成cons??
(entmod endata)
)


(setq endata (CONS (cons 6 0) endata)) ; 將群碼點串列加到ENDATA資料串列內
(setq endata (subst newlist oldlist endata)) ;新舊串列替換
avatar
阿希
高級會員
高級會員

文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6824
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
男 摩羯座 猴

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 leoneriol 2009-08-20, 11:18

(defun c:addtest()
(setvar "cmdecho" 0);關閉LISP在指令區的操綽回應
;修改
(prompt "改線型continuous")
(setq ss nil)
(setq ss (ssget "x" '((0 . "*")(6 . "bylayer"))))
(setq i 0)
(repeat (sslength ss)
(setq en (ssname ss i))
(addendata en 6 "continuous")
(setq i (1+ i))
)
(setvar "cmdecho" 1);還原LISP在指令區的操綽回應
(prin1)
)
(defun addendata (#en #qnum #new)
(setq endata(entget #en));;;取得圖元資料
(setq endata(cons (cons #qnum #new) endata));;直接將群碼加入endata!!
(entmod endata);;更新Endata
)


太感謝阿希大了!!!!這是我程式最後的樣子....請過目


leoneriol 在 2009-08-20, 11:49 作了第 3 次修改
leoneriol
leoneriol
榮譽顧問
榮譽顧問

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

回頂端 向下

[已解決]LISP-將線型bylayer改成continuous Empty 回復: [已解決]LISP-將線型bylayer改成continuous

發表 由 Tiger&蘋果爸 2009-08-20, 11:32

阿希 寫到:(setq endata (CONS (cons 6 0) endata)) ; 將群碼點串列加到ENDATA資料串列內
(setq endata (subst newlist oldlist endata)) ;新舊串列替換
******************************************************
讚啦!! 謝謝技術指導~< 積分 +1>

____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
編輯個人資料 Sesa2011 編輯個人資料 Youtub11 編輯個人資料 Oiea2011 編輯個人資料 Oe20011 編輯個人資料 Fbi20011 編輯個人資料 Line2011
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 21382
年齡 : 48
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照/吸貓
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2022
經驗值 : 90360
威望值 : 17197
注冊日期 : 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-將線型bylayer改成continuous Aoe1-113[已解決]LISP-將線型bylayer改成continuous Ioaoe110[已解決]LISP-將線型bylayer改成continuous 2020-310[已解決]LISP-將線型bylayer改成continuous Oiu15010[已解決]LISP-將線型bylayer改成continuous 2020-211[已解決]LISP-將線型bylayer改成continuous Ia15010[已解決]LISP-將線型bylayer改成continuous Aizyao10[已解決]LISP-將線型bylayer改成continuous Uos15010[已解決]LISP-將線型bylayer改成continuous BPl3tjj[已解決]LISP-將線型bylayer改成continuous Ziao1510
[已解決]LISP-將線型bylayer改成continuous Aoe15010[已解決]LISP-將線型bylayer改成continuous Oo-2-110[已解決]LISP-將線型bylayer改成continuous Zuoiy_10[已解決]LISP-將線型bylayer改成continuous Aizyao11[已解決]LISP-將線型bylayer改成continuous Iyb_1510[已解決]LISP-將線型bylayer改成continuous Aoe1-112[已解決]LISP-將線型bylayer改成continuous Uos15011[已解決]LISP-將線型bylayer改成continuous Aoe2da10[已解決]LISP-將線型bylayer改成continuous Aoe2da11[已解決]LISP-將線型bylayer改成continuous Aoe10