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.
[求助]autolisp指令問題 Ioaoe110[求助]autolisp指令問題 2020-310[求助]autolisp指令問題 Oiu15010[求助]autolisp指令問題 2020-211[求助]autolisp指令問題 Ia15010[求助]autolisp指令問題 Aizyao10[求助]autolisp指令問題 Uos15010[求助]autolisp指令問題 BPl3tjj[求助]autolisp指令問題 Ziao1510
[求助]autolisp指令問題 Oo-2-110[求助]autolisp指令問題 Zuoiy_10[求助]autolisp指令問題 Aizyao11[求助]autolisp指令問題 Iyb_1510[求助]autolisp指令問題 Aoe1-111[求助]autolisp指令問題 Uos15011[求助]autolisp指令問題 Aoe2da10[求助]autolisp指令問題 Aoe2da11[求助]autolisp指令問題 Aoe10

[求助]autolisp指令問題

5 posters

向下

[求助]autolisp指令問題 Empty [求助]autolisp指令問題

發表 由 LuZongTing 2019-10-29, 08:35

各位先進您們好:
小弟初學lisp
在教學範例中使用command指令來畫線都是有輸入座標[例如(command "line" '(-120 0) '(120 0) "")]
我想請問各位先進如果我想以滑鼠點選的方式來讓我指定第一個點甚至到第五個點以上,指令該怎麼改
謝謝各位!
LuZongTing
LuZongTing
一般會員
一般會員

文章總數 : 10
年齡 : 23
來自 : 桃園市
職業 : 工程師助理
愛好 : 畫圖
個性 : 好奇
使用年資 : 4年
使用版本 : 2019
經驗值 : 1703
威望值 : 15
注冊日期 : 2019-10-21
男 雙魚座 蛇

回頂端 向下

[求助]autolisp指令問題 Empty 回復: [求助]autolisp指令問題

發表 由 n112212 2019-10-30, 10:48

可以使用getpoint函數 或使用pause暫停動作等待輸入

以下三個範例有相同的作用

1.
(defun c:test ()
 (setq p1 (GETPOINT "請指定第一點")
p2 (GETPOINT "請指定第二點")
 )
 (command "LINE" p1 p2 "")
)

2.
(defun c:test1 ()
 (command "LINE" pause pause "")
 (alert "完成")
)

3.
(defun c:test2 ()
   (vl-cmdf "LINE" (GETPOINT "請指定第一點") (GETPOINT "請指定第二點") "")
 (alert "完成")
)

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

文章總數 : 10
年齡 : 30
來自 : 台中
職業 : 待業
愛好 : 健身
個性 : 和善
使用年資 : 新手初學
使用版本 : 2016
積分 : 1
經驗值 : 2936
威望值 : 37
注冊日期 : 2016-06-19
男 金牛座 雞

回頂端 向下

[求助]autolisp指令問題 Empty 回復: [求助]autolisp指令問題

發表 由 Tiger&蘋果爸 2019-10-30, 11:40

n112212 寫到:可以使用getpoint函數 或使用pause暫停動作等待輸入

以下三個範例有相同的作用

1.
(defun c:test ()
 (setq p1 (GETPOINT "請指定第一點")
p2 (GETPOINT "請指定第二點")
 )
 (command "LINE" p1 p2 "")
)

2.
(defun c:test1 ()
 (command "LINE" pause pause "")
 (alert "完成")
)

3.
(defun c:test2 ()
   (vl-cmdf "LINE" (GETPOINT "請指定第一點") (GETPOINT "請指定第二點") "")
 (alert "完成")
)
好完整的教學範例~
讚啦!!

____________________________________________________________________________________
👉[好康]🎁加入專屬B取得大補帖及看2D+3D影片(點我)👈
[求助]autolisp指令問題 Sesa2011 [求助]autolisp指令問題 Youtub11 [求助]autolisp指令問題 Oiea2011 [求助]autolisp指令問題 Oe20011 [求助]autolisp指令問題 Fbi20011 [求助]autolisp指令問題 Line2011
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

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

回頂端 向下

[求助]autolisp指令問題 Empty 回復: [求助]autolisp指令問題

發表 由 as920029as 2020-04-14, 14:48

n112212 寫到:可以使用getpoint函數 或使用pause暫停動作等待輸入

以下三個範例有相同的作用

1.
(defun c:test ()
 (setq p1 (GETPOINT "請指定第一點")
p2 (GETPOINT "請指定第二點")
 )
 (command "LINE" p1 p2 "")
)

2.
(defun c:test1 ()
 (command "LINE" pause pause "")
 (alert "完成")
)

3.
(defun c:test2 ()
   (vl-cmdf "LINE" (GETPOINT "請指定第一點") (GETPOINT "請指定第二點") "")
 (alert "完成")
)


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

太強了 感謝教學 原本想說進來看是否是跟自己所想的一樣答案
結果我只會第一種 進來後多學到 2 跟3 感謝大大
as920029as
as920029as
一般會員
一般會員

文章總數 : 110
年齡 : 33
來自 : 台南市
職業 : 繪圖員
愛好 : 電腦遊戲
個性 : 開朗
使用年資 : 3年
使用版本 : 2010
經驗值 : 4987
威望值 : 47
注冊日期 : 2012-05-06
男 白羊座 羊

回頂端 向下

[求助]autolisp指令問題 Empty 回復: [求助]autolisp指令問題

發表 由 a6666262000 2021-11-04, 15:02

透過以下:
(setq ch 0
a 0
)
(while (/= a nil) ---->>>>不需要點就按enter會返回nila滿足跳出迴圈
(setq a (getpoint))
(if (/= a nil)
(set (read (strcat "p" (itoa ch))) a)
(setq ch +1)
)
)
產出P1 P2 P3 P4 P5 P6 P7 P8
再套上
(COND
((= 2 CH)(COMMAND "MLINE" "_J" "_T" P0 P1))
((= 3 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2))
((= 4 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3))
((= 5 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3 P4))
((= 6 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3 P4 P5))
((= 7 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3 P4 P5 P6))
((= 8 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3 P4 P5 P6 P7))
((= 9 CH)(COMMAND "MLINE" "_J" "_T" P0 P1 P2 P3 P4 P5 P6 P7 P8))
類似的方式把式子拉到比你極限點還大
你就可以滿足你要到
這是比較簡單的笨方法
a6666262000
a6666262000
一般會員
一般會員

文章總數 : 25
年齡 : 32
來自 : 台南
職業 : 機械,空間套圖
愛好 : 電影、電玩、
個性 : 喜好研究
使用年資 : 10
使用版本 : 2014-2018
經驗值 : 1771
威望值 : 42
注冊日期 : 2019-11-07
男 雙魚座 猴

Tiger&蘋果爸 likes this post

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[求助]autolisp指令問題 Ioaoe110[求助]autolisp指令問題 2020-310[求助]autolisp指令問題 Oiu15010[求助]autolisp指令問題 2020-211[求助]autolisp指令問題 Ia15010[求助]autolisp指令問題 Aizyao10[求助]autolisp指令問題 Uos15010[求助]autolisp指令問題 BPl3tjj[求助]autolisp指令問題 Ziao1510
[求助]autolisp指令問題 Oo-2-110[求助]autolisp指令問題 Zuoiy_10[求助]autolisp指令問題 Aizyao11[求助]autolisp指令問題 Iyb_1510[求助]autolisp指令問題 Aoe1-111[求助]autolisp指令問題 Uos15011[求助]autolisp指令問題 Aoe2da10[求助]autolisp指令問題 Aoe2da11[求助]autolisp指令問題 Aoe10