明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2005|回复: 1

VBA比LISP执行速度快,后面的语句会超过LISP执行吗

[复制链接]
发表于 2011-9-27 22:35:34 | 显示全部楼层 |阅读模式
有个问题请教.是不是LISP执行速度慢.VBA后面的语句会超过LISP执行.比LISP执行快.会造成两者不同步啊.我用VBA编程.中间由于VBA执行不稳定,部分用LISP实现,用VBA来调用LISP.结果却令我相当不满意.明明不是这个值,值却变了.这是为什么呢?难道真是执行速度不一样造成的?怎么解决呢?请高手解答.谢谢
 楼主| 发表于 2011-9-27 22:48:12 | 显示全部楼层
本帖最后由 zoubo604 于 2011-9-27 23:00 编辑

http://bbs.mjtd.com/forum.php?mod=attachment&aid=NjE0MjN8MDcxYzZiNzE3OTc3ZDgzZmFjMDc0NWVmODBkNGRhYTB8MTczMjUzMTU2Nw%3D%3D&request=yes&_f=.JPG

如图.为什么结果会是这样.
LISP中代码如下:
(defun c:tc()
;(setq pt10 (getvar "useri1"))'第一个点x
(setq pt11 (getvar "userr1"))
(setq pt1 (list 116 pt11))

;(setq pt20 (getvar "useri2"))'第二个点x
(setq pt21 (getvar "userr2"))
(setq pt2 (list 116 pt21))

;(setq pt30 (getvar "useri3"))第三个点x
;(setq pt31 pt21)
(setq pt3 (list 135 pt21))

;(setq pt40 (getvar "useri4"))'第四个点x
;(setq pt41 pt11)
(setq pt4 (list 135 pt11))

(setq ptt5 (getvar "users5"))
(command "pline" pt1 pt2 pt3 pt4 "c")
(command "_hatch" ptt5 "" "" (entlast) "")
(princ)
)

明明第三个点的Y坐标=第二个点的Y坐标.图形中第三个点却跑到第1个点的Y值那里去了.(左上角为点1.左下为点2,右下为点3,右上为点4,是一个矩形)并且,第3个点的X值,我赋了135的,应该和第4个点的X值一样,形成一个矩形.为何第3.个点的X,Y值异常变化呢,.该填充由一个循环控制,要从上到下,要画5-N个矩形,并填充.后面循环中第3个点的值也会变.第5次循环时,四个点的值都正确了!真是奇怪呀

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 18:46 , Processed in 0.151029 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表