AutoLISP里getpoint命令如果指定第二個(gè)參數(shù)的話,自動(dòng)實(shí)現(xiàn)橡皮筋效果,但是同時(shí)繪制三條直線的時(shí)候無(wú)法實(shí)現(xiàn)橡皮筋效果,雖然grread函數(shù)能夠?qū)崿F(xiàn)鼠標(biāo)移動(dòng)時(shí)候的預(yù)覽,但是grread函數(shù)執(zhí)行的時(shí)候是不能執(zhí)行對(duì)象捕捉的,因此無(wú)法指定繪圖的第二點(diǎn)。
(defun c:tt ()
(setq r (getreal "n請(qǐng)輸入管道寬度:"))
(if (= nil r)
(setq r 100)
)
;;; (If (= p1 nil)
(setq p1 (getpoint "n起點(diǎn):"))
;;; )
(setq flag t)
(while (and flag (setq get (grread 1 7 0)))
(cond
;;; 點(diǎn)擊鼠標(biāo)左鍵畫圖
((= 3 (car get))
(setq p2 (cadr (grread 1)))
(setq ang (angle p1 p2))
(setq p1down (polar p1 (+ ang (* 1.5 pi)) (/ r 2)))
(setq p2down (polar P2 (+ ang (* 1.5 pi)) (/ r 2)))
(setq p1up (polar p1 (+ ang (/ pi 2)) (/ r 2)))
(setq p2up (polar p2 (+ ang (/ pi 2)) (/ r 2)))
(command "line" p1 p2 "")
(command "line" p1up p2up "")
(command "line" p1down p2down "")
(redraw)
(exit)
)
;;; 鼠標(biāo)右鍵退出
((= 25 (car get))
(setq flag nil)
)
;;; 鼠標(biāo)拖動(dòng)顯示預(yù)覽
((= 5 (car get))
(setq temppt (list (car (cadr (grread 1)))
(cadr (cadr (grread 1)))
)
)
(setq tempang (angle p1 temppt))
(setq tempp1down (polar p1 (+ tempang (* 1.5 pi)) (/ r 2)))
(setq
tempp2down
(polar temppt
(+ tempang (* 1.5 pi))
(/ r 2)
)
)
(setq tempp1up (polar p1 (+ tempang (/ pi 2)) (/ r 2)))
(setq tempp2up (polar temppt (+ tempang (/ pi 2)) (/ r 2)))
(redraw)
(grdraw p1 temppt 1)
(grdraw tempp1down tempp2down 1) #p#分頁(yè)標(biāo)題#e#
(grdraw tempp1up tempp2up 1)
)
(t nil)
)
)
)
該段程序還有一個(gè)問(wèn)題是鼠標(biāo)移動(dòng)的時(shí)候執(zhí)行g(shù)rread函數(shù)但是,點(diǎn)擊鼠標(biāo)左鍵指定繪圖第二點(diǎn)的時(shí)候并不能保證鼠標(biāo)移動(dòng)循環(huán)已經(jīng)結(jié)束,因此當(dāng)光標(biāo)沒(méi)有變成十字型時(shí)候,單擊左鍵無(wú)效,試圖用鼠標(biāo)反應(yīng)器解決該問(wèn)題,但是鼠標(biāo)事件只有雙擊和右鍵單擊事件,沒(méi)有鼠標(biāo)移動(dòng)事件。這里還有網(wǎng)上的一個(gè)類似的問(wèn)題。
相關(guān)文章
- 2021-07-30AutoCAD程序設(shè)計(jì)魔法書 [AutoLISP DCL基礎(chǔ)篇]PDF下載
- 2020-12-24AutoCAD 2004與AutoLISP二次開(kāi)發(fā)技術(shù)PDF下載
- 2012-05-24AutoCAD 2004與AutoLISP二次開(kāi)發(fā)技術(shù)
- 2010-12-29AutoLISP知識(shí)普及及相關(guān)教程
- 2010-11-18柱子填充的autolisp源代碼下載
- 2010-11-18pkpm梁配筋計(jì)算書歸并程序(含autolisp源碼下載)
- 2010-11-18黃金右手autolisp源碼下載
- 2010-11-18體積配箍率計(jì)算程序autolisp源碼下載
- 2010-11-18CAD批量打印autolisp源碼下載
- 2009-12-13二維螺紋的AutoLISP工具免費(fèi)下載