(setq osmode (getvar "osmode")) (setq b(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 (setq f(angle o o1)) (setq dist(rtos (/ dist q) 2 2)) (setq c(angtos (- (+ pi pi) (- c f)) 1 4)) 这是我的一个LISP程序中一个循环的一部分,目的是连续计算从图中捕捉到的点坐标到一个固定基点的距离, 然而突然发现在批量计算时,结果出现错误!并不是经常出现,而是极偶然的,我核对后发现,出错时总是代入 A和B行的目标点坐标值并不是现捕捉到的坐标值,而是前面捕捉过的某个点的坐标值的X值与现捕捉到的点坐标的Y值组成的一个非特征点的坐标,于是出现错误!!! 请问,这是怎么回事?应该不是锁点干扰吧,我已经关闭了对象捕捉!只是在计算前开启对象捕捉了,没道理导致计算混乱吧???而且出现这种情况的机会很少!请高手指点迷津!给出确切解释及处理办法,不胜感激!!! |