LISP绘图问题

最近做了个已知椭圆画四心圆的小程序,为什么全屏的时候就画错,局部显示的时候就能画正确呢?-------------------刚写了这么多就发现有毛病捏。(defunc:... 最近做了个已知椭圆画四心圆的小程序,为什么全屏的时候就画错,局部显示的时候就能画正确呢?
-------------------刚写了这么多就发现有毛病捏。
(defun c:el4 ()
(setq o (getpoint "\n给出椭圆的中心:"))
(setq ox (car o))
(setq oy (cadr o))
(setq d (getdist "\n给出长轴长度:"))
(setq b (getdist "\n给出短轴长度:"))
(setq oo1 (* (/ 1 (* 4 d)) (- d b) (+ (+ d b) (sqrt (+ (* d d) (* b b))))))
(setq oo2 (* (/ d b) oo1))
(command "circle" (list (+ ox oo1) oy) (- (/ d 2) oo1))
(command "circle" (list (- ox oo1) oy) (- (/ d 2) oo1))
(command "circle" (list ox (+ oo2 oy)) (+ oo2 (/ b 2)))
(command "circle" (list ox (- oy oo2)) (+ oo2 (/ b 2)))
)
神马问题捏???
展开
 我来答
snddd2000
2011-01-20 · TA获得超过4272个赞
知道大有可为答主
回答量:2266
采纳率:0%
帮助的人:1715万
展开全部
(defun c:el4 ()
(setq a (getvar "osmode"))
(setvar "osmode" 0)

(setq o (getpoint "\n给出椭圆的中心:"))
(setq ox (car o))
(setq oy (cadr o))
(setq d (getdist "\n给出长轴长度:"))
(setq b (getdist "\n给出短轴长度:"))
(setq oo1 (* (/ 1 (* 4 d)) (- d b) (+ (+ d b) (sqrt (+ (* d d) (* b b))))))
(setq oo2 (* (/ d b) oo1))
(command "circle" (list (+ ox oo1) oy) (- (/ d 2) oo1))
(command "circle" (list (- ox oo1) oy) (- (/ d 2) oo1))
(command "circle" (list ox (+ oo2 oy)) (+ oo2 (/ b 2)))
(command "circle" (list ox (- oy oo2)) (+ oo2 (/ b 2)))
)

(setvar "osmode" a)
)
gln67254
2011-01-20 · TA获得超过581个赞
知道小有建树答主
回答量:723
采纳率:0%
帮助的人:573万
展开全部
你的问题也太笼统了吧,或者你把你的名词代码的意思和所要的目标成果的cad文件发给我,我可以尝试给你写一下。
gaohuigang@126.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-20
展开全部
应该是捕捉模式的问题,先把捕捉模式关掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式