明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1575|回复: 1

[基础] [求助]跪求!关于DISTANCE计算距离莫名错误问题

[复制链接]
发表于 2009-9-26 13:26 | 显示全部楼层 |阅读模式

(setq osmode (getvar "osmode"))

(setq o(getpoint "\n指定基点:"))

(setvar "osmode" 4);捕捉目标点时只开圆心

(setq b(getpoint "\n指定目标点:"))
(setvar "osmode" 0)            
(command "point" b)

(setvar "osmode" osmode)
                    (setq c(angle o b));A

                    (setq dist(distance o b));B
             
       这是我的一个LISP程序中一个循环的一部分,目的是连续计算从图中捕捉到的点坐标到一个固定基点的距离和方向,

然而突然发现在批量计算时,结果出现错误!并不是经常出现,而是极偶然的,我核对后发现,出错时总是代入 A和B行的目标点坐标值并不是现捕捉到的坐标值,而是前面捕捉过的某个点的坐标值的X值与现捕捉到的点坐标的Y值组成的一个非特征点的坐标,于是出现错误!!!这有点类似用LSP作图时的对象捕捉干扰,可是DISTANCE函数只是根据捕捉到的坐标进行计算,经观察捕捉到的点坐标是正确的,就是当DISTANCE函数对坐标进行距离计算时结果错误!并且是有时错有时对!从没听说过对象捕捉还能影响LSP程序内部计算的!

请问,这是怎么回事?应该不是锁点干扰吧,我已经关闭了对象捕捉!只是在计算前开启对象捕捉了,没道理导致计算混乱吧???而且出现这种情况的机会很少!请高手指点迷津!给出确切解释及处理办法,不胜感激!!!   请高手指点

发表于 2009-9-26 21:05 | 显示全部楼层
1、最好将OSMODE变量名大写;
2、将A、B两行放到COMMAND行后试试。如果不出错就是捕捉的原因了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 03:49 , Processed in 0.131886 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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