iCAx开思网
标题:
【求助】LISP 相關
[打印本页]
作者:
iham
时间:
2002-6-26 15:05
标题:
【求助】LISP 相關
敝人新學 LISP.編第一個 LISP 程序就遇到一個麻煩事.
程序如下(為了實現點選圓或圓弧直接生成中心線):
(defun c:xo ()
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
;取得圓心座標數據
(setq BC(entsel "Select a Circle or Arc:"))
(setq center(cdr (assoc 10 (entget (car BC)))))
;取得半徑值
(setq ra(cdr (assoc 40 (entget (car BC)))))
;分別取得左,右,上,下各繪圖點座標數據
(setq l(polar center pi (/ ra 5)))
(setq r(polar center 0 (/ ra 5)))
(setq u(polar center (/ pi 2) (/ ra 5)))
(setq o(polar center (/(* pi 3) 2) (/ ra 5)))
;以下依据 l,r,u,o繪線
(command "line" l r "")
(command "line" u o "")
(prin1)
)
(prompt "********** << C:xo >> **********")
(prin1)
但在使用時,圖形很小時就只有一個點,這是輸入命令后的提示:
指令: xo
Select a Circle or Arc:在 (262.4982, 124.5987, 0.0000) 建立了長度為零的線
在 (262.4982, 124.5987, 0.0000) 建立了長度為零的線
稍微放大一點就只畫出一根線.放足夠大才有十字線.
望高手指點 !
作者:
haha
时间:
2002-6-27 09:31
把 对象捕做 关掉就OK.
作者:
iham
时间:
2002-6-27 17:44
haha說的對, 這是我在海信上問到的
(defun c:xo ()
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq os(getvar "osmode"))
(SetVar "osmode" 0)
;取得圓心座標數據
.
.
.
(SetVar "osmode" os)
(prin1)
)
(prompt "********** << C:xo >> **********")
(prin1)
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3