hqz5200 发表于 2009-5-16 16:41

一个lisp坐标标注程序修改

以下是CAD版主曾经发的一个程序,在坐标原点不变的情况下,点标注正常,但如果坐标原点被移动了,点标注就不正常了——标注线和坐标值都远离标注点了,请高手们教我如何修改一下程序,在此谢过
(defun C:zbbz( / zb gd cld osm )
(setq osm (getvar"osmode"))
(setvar "osmode" 33)
(setq gd (getreal "指定标注文字高度:>"))
(if (= gd nil) (setq gd 0.5))

(while (setq zb (getpoint "指定坐标点:"))

(setq cld(getpoint zb "指定文字插入点:"))

(entmake (list
'(0 . "LINE")
'(67 . 0)
'(8 . "0")
(list 10 (car zb) (cadr zb) 0)
(list 11 (car cld) (cadr cld) 0)
'(210 0.0 0.0 1.0)
)
)
(entmake (list
'(0 . "text")
(list 10 (+ (car cld) gd) (car(cdr cld)) )
(cons 40 gd)
(cons 1 ( strcat "X=" (rtos (cadr zb) 2 3)))
'(50 . 0)
)
)
(entmake (list
'(0 . "text")
(list 10 (+ (car cld) gd)
(- (car(cdr cld)) (+ gd (/ gd 3)) )
)
(cons 40 gd)
(cons 1 (strcat "Y="(rtos (car zb) 2 3)))
'(50 . 0)
)
)
)

(setvar "osmode" osm)
(princ)

)

hqz5200 发表于 2009-5-20 22:36

高手们帮帮我吧!

vieira520 发表于 2009-5-21 02:38

资源共享是美德,请下载的朋友也发扬一下美德,自觉顶贴!
页: [1]
查看完整版本: 一个lisp坐标标注程序修改