发现一个有意思的东东我改了一下lucas的程序- (defun C:EE0 (/ PT1 PT2 PT3 PT4 WW)
- (command "_.ucs" "w")
- (setq PT1 (getpoint "\n第一点: "))
- (setq PT2 (getpoint PT1 "\n第二点: "))
- (grdraw PT1 PT2 3 1)
- (setq PT3 (getpoint PT2 "\n第三点: "))
- (grdraw PT2 PT3 3 1)
- (grdraw PT3 PT1 3 1)
- (command "_.ucs" 3 PT1 PT2 PT3)
- (setq PT4 (getpoint "\n面外点: "))
- (setq WW (list (car PT4) (cadr PT4) 0.0))
- (grdraw PT4 WW 3 1)
- (setq ww (trans ww 1 0))
- (command "_.ucs" "p" "_.ucs" "p")
- (princ "\n垂点(世界坐标): ")(princ ww)
- (princ)
- )
测试结果:Command: ee
第一点:
第二点:
第三点:
面外点: mid of
垂点(世界坐标): (19950.3 12875.0 3.63798e-012)Command: ee0
第一点: 'osnap
当前对象捕捉模式: 端点,中点,圆心,交点,垂足
>>Enter list of object snap modes: int,end,mid,cen
第一点:
第二点:
第三点:
面外点:
垂点(世界坐标): (19950.3 12875.0 5.45697e-012)Command: id Specify point: X = 19950.33452 Y = 12875.03564 Z = 0.00000ee是lucas原程序,ee0是我改的。 id命令查的是wcs下测试点的坐标。其中,ee和ee0返回的z值在不同测试环境/实体下,都不一样(也有等于0的)。我想是不是 x.xxe-0xx 被当成近似误差(cad bug),其实就是0。 |