cad 发表于 2006-6-12 11:51

一个在CAD中标注坐标的LISP

使用方法:先把下面的代码复制,再打开CAD,工具-AutoLIST-VISUAL LISP编辑器-新建-粘贴-保存-退出
再之就工具-AutoLIST-加载应用程序,找到你保存的那个东东,加载,关闭退出,输入ZBBZ就可以啦!!!!!


(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(getpointzb"指定文字插入点:"))

(entmake (list
       '(0 . "LINE")
       '(67 . 0)
      '(8 . "0")
      (list10(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)

)

lylyly123 发表于 2006-8-11 12:19

请问ZBBZ输哪里


是命令行吗?

foxxt 发表于 2006-8-17 10:04

能运行!

我试过了。还行吧。只是还有点不到位。相信仁兄对坐标注记有新的程序了吧。
为了大家交流我也搞一个程坐标的啊。呵呵
有几个问题我先说一下吧。
文字和直线的处理没有安比例。
注字的能直接放入一个图层但没有进行字体大小的指定
可以注三维的点。
大家有意见帮我改啊。再传上来分析啊!

(defun c:zz()
(setvar "osmode" 0 )
(command "layer" "m" "zbzj" "")
(setq ll1(getpoint "点一"))
(setq ll2(getpoint"点二"))
(command "line" ll1 ll2 "")
(setq long1(distance ll1 ll2))
(cond
      ((> (car ll1) (car ll2)) (setq ll3x (-(car ll2)(* long1 2))))
      ((<= (car ll1) (car ll2)) (setq ll3x (+(car ll2)(* long1 2))))
)   
(setq ll3y (cadr ll2))
(setq ll3(list ll3x ll3y))
(princ ll3)
(command "line" ll2 ll3 "")
 (if(> (car ll1) (car ll2))
       (setq ll2 ll3)
   )       
   (command "text" ll2 2.5 0 (rtos(cadr ll1)))
   (command "text" (list (car ll2) (+ 2.5 (cadr ll2)) ) 2.5 0 (rtos(car ll1)))
   (command "text" (list (car ll2) (+ -2.6 (cadr ll2)) ) 2.5 0 (rtos(caddr ll1)))
   (princ)

)

foxxt 发表于 2006-8-19 16:52

程序更新了!

hqz5200 发表于 2009-5-3 16:01

版主,这个程序能不能改成随坐标原点变动而变动,我赏试了很多次都不成功,望你能指点,谢谢!

hqz5200 发表于 2009-5-4 23:57

版主,这个程序标注坐标不能随坐标原点变动而变动(原点变了,标注的坐标会与标注对象分开),要如何改代码,请指点。

weiwei0119 发表于 2009-5-5 01:03

好啊啊啊啊啊啊啊啊啊啊啊啊啊啊 。。。。。。。。。。

zengyu836 发表于 2009-5-6 15:21

什么东西 下来看看

zengyu836 发表于 2009-5-6 15:30

3楼的也是好东西 不过不能直接复制粘贴呢~~

hqz5200 发表于 2009-5-7 21:05

版主,这个程序能不能改成标注坐标可以随坐标原点变化而变化?

hqz5200 发表于 2009-5-10 16:52

怎么没人能抽空帮一下我?
页: [1]
查看完整版本: 一个在CAD中标注坐标的LISP