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的寫法請教

4 posters

向下

[已解決]LISP的寫法請教 Empty [已解決]LISP的寫法請教

發表 由 adslwang 周五 27 五月 - 23:59

新手練習,以下煩請教請高手指點一二:
1.參考參考書一般都是選擇集比較多,點位的範例似乎比較少,所以我想問
如果 (setq pp1 (getpoint "第1點:"))
(setq pp2 (getpoint "下1點:"))
有什麼方法可以以LISP求得這兩點的距離?(因為會有方向性跟角度點的問題)

2.請問LINE及PLINE指令的LISP可以在資料夾內找的到嘛?
(PS:一直想要去模擬它 可是再怎麼用都試不成功)
3.我想將下面的pline
(command "pline")
(setq pp2 (getpoint "第1點:"))
(while pp2 (command pp2)
(setq pp2 (getpoint pp2 "下1點:"))
)
(command "")
(command "move" "cp" ) )
上面那一段 是我要連同框把內容物移走 也就是說有一個圖形 被包在pline不規則多邊形框內的圖形 有方什麼方法可以取得點位並帶入MOVE的指令中呢?或者要採用其它的方法呢?



Tiger&蘋果爸 在 周一 30 五月 - 9:57 作了第 4 次修改 (原因 : 將主題顏色改為無)
adslwang
adslwang
高級會員
高級會員

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

回頂端 向下

[已解決]LISP的寫法請教 Empty 回復: [已解決]LISP的寫法請教

發表 由 lsj 周六 28 五月 - 15:12

1. (distance pt1 pt2)
2. 就是模擬它,如(command "line" pt1 pt2 "")
3. 請參考,依自己的需求再完善
(defun c:test()
(setq osm (getvar "osmode"))

(setq tsort '())
(setq pt1 (getpoint "\n第一點:"))
(setq tsort (cons pt1 tsort))
(vl-cmdf "pline" pt1)
(while (setq pt2 (getpoint pt1 "\n下一點:"))
(vl-cmdf pt2)
(setq tsort (cons pt2 tsort))
(setq pt1 pt2)
)
(vl-cmdf "c")
(setq ssl (entlast))

(setq ss (ssget "wp" tsort))
(if (/= ss nil)
(progn
(vl-cmdf "move" ss ssl "")
(prompt "\指定基準點:")
(while (= (logand (getvar "CmdActive") 1) 1) (command pause))
)
)

(setvar "osmode" osm)
(prin1)
)

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


Tiger&蘋果爸 在 周一 30 五月 - 9:58 作了第 1 次修改 (原因 : 加分囉~)
lsj
lsj
初級會員
初級會員

文章總數 : 43
年齡 : 59
來自 : 桃園
職業 : 營建工程
愛好 :
個性 :
使用年資 : 10↑
使用版本 : 2008
積分 : 2
經驗值 : 5506
威望值 : 110
注冊日期 : 2010-06-28
男 水瓶座 龍

回頂端 向下

[已解決]LISP的寫法請教 Empty 回復: [已解決]LISP的寫法請教

發表 由 adslwang 周六 28 五月 - 16:50

前輩,受教了謝謝您 都有獲得解決了 竊喜

其實我是要用來加入extrim來修剪局部的圖檔,沒有這個的話會浪費我很多時間再修邊框

不過再請教一下(setq tsort '()) 第一次看到setq之後的括弧也可以用空的 這有什麼特別的功能 還有我看書上有很多座標串列都會加入前面那一點 是所有的座標都要加入那一點嘛?

再次謝謝您的幫忙 感動



adslwang 在 周六 28 五月 - 16:53 作了第 1 次修改 (原因 : 修改文字)
adslwang
adslwang
高級會員
高級會員

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

回頂端 向下

[已解決]LISP的寫法請教 Empty 回復: [已解決]LISP的寫法請教

發表 由 lsj 周六 28 五月 - 17:25

(setq tsort '()) = (setq tsort nil)

指令: (setq a '(1 1))
(1 1)

指令: (setq b (list 1 1))
(1 1)

指令: (setq c '())
nil

指令: (setq d (list))
nil
lsj
lsj
初級會員
初級會員

文章總數 : 43
年齡 : 59
來自 : 桃園
職業 : 營建工程
愛好 :
個性 :
使用年資 : 10↑
使用版本 : 2008
積分 : 2
經驗值 : 5506
威望值 : 110
注冊日期 : 2010-06-28
男 水瓶座 龍

回頂端 向下

[已解決]LISP的寫法請教 Empty 回復: [已解決]LISP的寫法請教

發表 由 adslwang 周六 28 五月 - 21:36

lsj 寫到:(setq tsort '()) = (setq tsort nil)

指令: (setq a '(1 1))
(1 1)

指令: (setq b (list 1 1))
(1 1)

指令: (setq c '())
nil

指令: (setq d (list))
nil

前輩,您說的很詳細,謝謝您的指教 竊喜
adslwang
adslwang
高級會員
高級會員

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

回頂端 向下

[已解決]LISP的寫法請教 Empty 回復: [已解決]LISP的寫法請教

發表 由 Tiger&蘋果爸 周一 30 五月 - 16:45

若是要使用EXTRIM
之前我有試過使用巨集(連續指令)
你可以試試看合不合用~
[已解決]LISP的寫法請教 Aoc_216
矩形修剪巨集語法:
^C^CRECTANG;\\EXTRIM;L;\ERASE;L;;