lwx001 发表于 2003-12-17 16:06:00

坐标不对,不什么?

大家好!不知大家有没有遇到过这样的问题。
    我所用的一个专业软件是用AutoLISP所编写的,多年来,从AutoCAD的2.86版至14.0版,核心部分一直没有修改过。但最近我们使用AutoCAD2002(及2000)时,发现有些问题,主要表现在很多坐标的计算有问题,不在它应有的位置上。不知为什么?
   以下是附上我编写的一段小程序,用于在图纸中插入一个指北针。其中“建北”两个汉字也是有问题。当处于全部显示视图时,汉字的位置在圆圈内,而适当将视图放大后,汉字的位置就在圆圈外,与程序设计的一样。但这样的问题在AutoCAD14是没有问题的。
请大家指教。

;The north
(DEFUN north ( / PT1 PT2)
(setq tscal (getvar "USERR1"))
(setq PT1 (getpoint "\n请输入建北位置及方向:"))
(setq ang (getangle PT1))
(setq PT2 (polar pt1 ang (* tscal 18)))
(COMMAND "insert" "*north" PT1 tscal (* ang (/ 180 pi)))
(command "text" "S" "HZ" "M" PT2 (* tscal 4) 0.0 "建北")
)

BDYCAD 发表于 2003-12-17 16:41:00

是你的程序少了點設置做程序出了點小小的錯你這樣看看合不合你的效果.
;The north
(DEFUN C:north ( / OS PT1 PT2)
(SETQ OS (GETVAR "OSMODE"))
(SETVAR"OSMODE" 0)
(setq tscal (getvar "USERR1"))
(setq PT1 (getpoint "\n??入建北位置及方向:"))
(setq ang (getangle PT1))
(setq PT2 (polar pt1 ang (* tscal 18)))
(COMMAND "insert" "*north" PT1 tscal (* ang (/ 180 pi)))
(command "text" "S" "" "M" PT2 (* tscal 4) 0.0 "建北")
(SETVAR"OSMODE" OS)
)

lwx001 发表于 2003-12-17 20:32:00

是这个问题。谢谢!
由于大部变量设置在主程序里,一直没有想到是它在作怪。指北这个程序是用来问题用的,所以编得很简陋。
页: [1]
查看完整版本: 坐标不对,不什么?