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撰寫問題 Aoe1-113[討論]lisp撰寫問題 Ioaoe110[討論]lisp撰寫問題 2020-310[討論]lisp撰寫問題 Oiu15010[討論]lisp撰寫問題 2020-211[討論]lisp撰寫問題 Ia15010[討論]lisp撰寫問題 Aizyao10[討論]lisp撰寫問題 Uos15010[討論]lisp撰寫問題 BPl3tjj[討論]lisp撰寫問題 Ziao1510
[討論]lisp撰寫問題 Aoe15010[討論]lisp撰寫問題 Oo-2-110[討論]lisp撰寫問題 Zuoiy_10[討論]lisp撰寫問題 Aizyao11[討論]lisp撰寫問題 Iyb_1510[討論]lisp撰寫問題 Aoe1-112[討論]lisp撰寫問題 Uos15011[討論]lisp撰寫問題 Aoe2da10[討論]lisp撰寫問題 Aoe2da11[討論]lisp撰寫問題 Aoe10

[討論]lisp撰寫問題

3 posters

向下

[討論]lisp撰寫問題 Empty [討論]lisp撰寫問題

發表 由 阿希 周五 30 1月 - 13:29

想請教幾個lisp撰寫問題

1.平常執行複製.移動指令時, 選取物件 - 基準點 - 目標點 ,在未點選目標點時,所選的物件會跟隨十字軸移動, 這在程式內該如何做到 ?

2.複製完的物件該如何取得?
avatar
阿希
高級會員
高級會員

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

回頂端 向下

[討論]lisp撰寫問題 Empty 回復: [討論]lisp撰寫問題

發表 由 adslwang 周六 31 1月 - 5:13

個人淺見

1.平常執行複製.移動指令時, 選取物件 - 基準點 - 目標點 ,在未點選目標點時,所選的物件會跟隨十字軸移動, 這在程式內該如何做到
有可能是:
(ssget "p")
netmake、entlast 搭配 grread

2.複製完的物件該如何取得?
(entlast)

____________________________________________________________________________________
學LISP代碼的路好遠、好遠,希望能夠找到一些良師益友精進.......................
[討論]lisp撰寫問題 Ioaoe110 [討論]lisp撰寫問題 Zuoiy_10 [討論]lisp撰寫問題 2020-211 [討論]lisp撰寫問題 Aizyao11 [討論]lisp撰寫問題 Iyb_1510
[討論]lisp撰寫問題 Aizyao10 [討論]lisp撰寫問題 BPl3tjj.png [討論]lisp撰寫問題 Ziao1510 [討論]lisp撰寫問題 Oo-2-110 [討論]lisp撰寫問題 Oooa_110
adslwang
adslwang
高級會員
高級會員

文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
藍鵲88號
男 處女座 馬

回頂端 向下

[討論]lisp撰寫問題 Empty 回復: [討論]lisp撰寫問題

發表 由 阿希 周一 2 2月 - 12:28

adslwang 寫到:個人淺見

1.平常執行複製.移動指令時, 選取物件 - 基準點 - 目標點 ,在未點選目標點時,所選的物件會跟隨十字軸移動, 這在程式內該如何做到
有可能是:
(ssget "p")
netmake、entlast 搭配 grread

2.複製完的物件該如何取得?
(entlast)


第一個問題尚未解決 ~ 再試試大大給的意見 ~~
第二個問題 , ENTLAST 是取得上一個完成的"物件",並無法取得所有選集
我的解決方式是,先設立一個空選集SSA, 複製所要的物件SSB, 再計算SSB選集內的數量,利用REPEAT去將SSB選集內的物件放置SSA選集內
最後複製或移動SSA選集 即可
avatar
阿希
高級會員
高級會員

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

回頂端 向下

[討論]lisp撰寫問題 Empty 回復: [討論]lisp撰寫問題

發表 由 shenhung 周三 4 2月 - 18:46

目前動態顯示很多都用 express tool 內的acetutil.arx 內的公共程式. 如果你有用express tools 的話.就可以直接呼叫函數使用..我附上help讓你下載.
並寫個範圍程式給你參考.  
複製後的圖元選集取得.的概念.是先在複製前用entlast .取得圖面上的最後一個圖元..
因為複製後的圖元是新增圖元.所以圖元序會排在 entlast最後一個圖元後面..所以只要搜尋最後一個圖元之後的圖元.
就是你複製後的圖元了.~!! 這個概念.也可用在爆炸後的圖元取得.!!

acetutil 幫助
https://db.tt/VIwVvYPz

acetutil 幫助備用載點:
https://app.box.com/s/s17yyfanurxad3avxkqf7o9yggrhok5x

help幫助用法.
[討論]lisp撰寫問題 Kuy25fHd

代碼:

;問題1
(defun c:tt()
(setvar "cmdecho" 0)
(setq sn1 (entlast)) ;取得複製前最後一個圖元
(setq p2 (acet-ss-drag-move (setq ss (ssget)) (setq p1 (getpoint "\n基準點")) "\n指定第二點" 1))
(command "copy" ss "" p1 p2)
(setvar "cmdecho" 0)
(setq co-ss (ssadd))
(setq en (entnext sn1)) ;開始尋找最後一個圖元的下一個.
(while (/= en nil) ;如果找到.加入選集.一直到最後.
       (setq co-ss (ssadd en co-ss))
       (setq en (entnext en))
)  
(if co-ss (print (sslength co-ss)))
)  

____________________________________________________________________________________
[討論]lisp撰寫問題 Ioaoe110 [討論]lisp撰寫問題 Zuoiy_10 [討論]lisp撰寫問題 2020-211 [討論]lisp撰寫問題 Aizyao11 [討論]lisp撰寫問題 Iyb_1510
[討論]lisp撰寫問題 Aizyao10 [討論]lisp撰寫問題 BPl3tjj.png [討論]lisp撰寫問題 Ziao1510 [討論]lisp撰寫問題 Oo-2-110 [討論]lisp撰寫問題 Oooa_110
shenhung
shenhung
高級會員
高級會員

文章總數 : 281
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 8075
威望值 : 1188
注冊日期 : 2009-06-03
男 摩羯座 馬

回頂端 向下

[討論]lisp撰寫問題 Empty 回復: [討論]lisp撰寫問題

發表 由 adslwang 周三 11 2月 - 22:29

shenhung 寫到:目前動態顯示很多都用 express tool 內的acetutil.arx 內的公共程式. 如果你有用express tools 的話.就可以直接呼叫函數使用..我附上help讓你下載.
並寫個範圍程式給你參考.  
複製後的圖元選集取得.的概念.是先在複製前用entlast .取得圖面上的最後一個圖元..
因為複製後的圖元是新增圖元.所以圖元序會排在 entlast最後一個圖元後面..所以只要搜尋最後一個圖元之後的圖元.
就是你複製後的圖元了.~!! 這個概念.也可用在爆炸後的圖元取得.!!

acetutil 幫助
https://db.tt/VIwVvYPz

acetutil 幫助備用載點:
https://app.box.com/s/s17yyfanurxad3avxkqf7o9yggrhok5x

help幫助用法.
[討論]lisp撰寫問題 Kuy25fHd

代碼:

;問題1
(defun c:tt()
(setvar "cmdecho" 0)
(setq sn1 (entlast)) ;取得複製前最後一個圖元
(setq p2 (acet-ss-drag-move (setq ss (ssget)) (setq p1 (getpoint "\n基準點")) "\n指定第二點" 1))
(command "copy" ss "" p1 p2)
(setvar "cmdecho" 0)
(setq co-ss (ssadd))
(setq en (entnext sn1)) ;開始尋找最後一個圖元的下一個.
(while (/= en nil) ;如果找到.加入選集.一直到最後.
       (setq co-ss (ssadd en co-ss))
       (setq en (entnext en))
)  
(if co-ss (print (sslength co-ss)))
)  

前輩研究了解很深 學習中 謝謝

____________________________________________________________________________________
學LISP代碼的路好遠、好遠,希望能夠找到一些良師益友精進.......................
[討論]lisp撰寫問題 Ioaoe110 [討論]lisp撰寫問題 Zuoiy_10 [討論]lisp撰寫問題 2020-211 [討論]lisp撰寫問題 Aizyao11 [討論]lisp撰寫問題 Iyb_1510
[討論]lisp撰寫問題 Aizyao10 [討論]lisp撰寫問題 BPl3tjj.png [討論]lisp撰寫問題 Ziao1510 [討論]lisp撰寫問題 Oo-2-110 [討論]lisp撰寫問題 Oooa_110
adslwang
adslwang
高級會員
高級會員

文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
藍鵲88號
男 處女座 馬

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]lisp撰寫問題 Aoe1-113[討論]lisp撰寫問題 Ioaoe110[討論]lisp撰寫問題 2020-310[討論]lisp撰寫問題 Oiu15010[討論]lisp撰寫問題 2020-211[討論]lisp撰寫問題 Ia15010[討論]lisp撰寫問題 Aizyao10[討論]lisp撰寫問題 Uos15010[討論]lisp撰寫問題 BPl3tjj[討論]lisp撰寫問題 Ziao1510
[討論]lisp撰寫問題 Aoe15010[討論]lisp撰寫問題 Oo-2-110[討論]lisp撰寫問題 Zuoiy_10[討論]lisp撰寫問題 Aizyao11[討論]lisp撰寫問題 Iyb_1510[討論]lisp撰寫問題 Aoe1-112[討論]lisp撰寫問題 Uos15011[討論]lisp撰寫問題 Aoe2da10[討論]lisp撰寫問題 Aoe2da11[討論]lisp撰寫問題 Aoe10