批量标注多线段长度程序修改
原程序如下:(defun c:bcplbz ()
(CMDLASC0)
(setq ss (ssget '((0 . "*LINE")))
i-1
)
(mkla "线长标注" 4)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq ptlst (uptlst s1))
(while (setq pt1 (car ptlst))
(if (setq ptlst (cdr ptlst))
(progn
(setq pt2 (car ptlst)
tx (rtos (distance pt1 pt2) 2 2)
ang (rad2ang (angle pt1 pt2))
pt-tx (PT-RIGHT pt1 pt2 (* sc 100))
)
(command "text" "j" "BC" pt-tx (* sc 50) ang tx)
)
)
)
)
(CMDLA1)
)
要求自定义标注的字体大小,该怎么修改 (defun c:bcplbz ( / ang hh i pt1 pt2 ptlst pt-tx s1 sc ss tx)
(cmdlasc0)
(setq hh (getdist "文字高度:")
ss (ssget '((0 . "*LINE")))
i -1
)
(mkla "线长标注" 4)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq ptlst (uptlst s1))
(while (setq pt1 (car ptlst))
(if (setq ptlst (cdr ptlst))
(progn
(setq pt2 (car ptlst)
tx (rtos (distance pt1 pt2) 2 2)
ang (rad2ang (angle pt1 pt2))
pt-tx (pt-right pt1 pt2 (* sc 100))
)
(command "text" "j" "BC" pt-tx hh ang tx)
)
)
)
)
(cmdla1)
)
【KAIXIN】 发表于 2013-2-4 15:57 static/image/common/back.gif
好像无法运行 香田里浪人 发表于 2013-2-4 16:49 static/image/common/back.gif
好像无法运行
这个是你自己的源程序,
那么多的自定义函数,如果没有这些自定义函数,又怎么能用呢? 原程序可运行,可是按老兄的方法修改后无法运行。 香田里浪人 发表于 2013-2-4 20:32 static/image/common/back.gif
原程序可运行,可是按老兄的方法修改后无法运行。
是的,同样的问题 都不能用! 楼主放出来的程序,运行命令是什么?bcplbz?加载后无法运行啊 hehaidizhi 发表于 2013-6-23 17:46 static/image/common/back.gif
楼主放出来的程序,运行命令是什么?bcplbz?加载后无法运行啊
试试这个:
(defun c:bcplbz ()
(CMDLASC0)
(setq ss (ssget '((0 . "*LINE")))
i-1
)
(command "layer" "M" "长度标注" "C" "4" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
(command "style" "Style1" "仿宋_GB2312" "" "1.0" "0" "N" "N")
(defun maketext (txt pt) ; 生成文字子函数
(entmake (list '(0 . "TEXT") (cons 10 pt) (cons 40 TextHeight) (cons 1 txt) '(41 . 0.8)'(7 . "宋体")))
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq ptlst (uptlst s1))
(while (setq pt1 (car ptlst))
(if (setq ptlst (cdr ptlst))
(progn
(setq pt2 (car ptlst)
tx (rtos (distance pt1 pt2) 2 2)
ang (rad2ang (angle pt1 pt2))
pt-tx (PT-RIGHT pt1 pt2 (* sc 100))
)
(command "text" "j" "BC" pt-tx (* sc 100) ang tx)
)
)
)
)
(CMDLA1)
) OK,试一下,谢谢啊
页:
[1]
2