你指的的提取标高 文字的内容吧,最好提供dwg文件。
任意的数字 文字 应该都可以! 只是用来计算的 现在只写简单的太复杂的自己也理解不了 并不是三维的文字! (defun c:tt(/ CD E1 E2 E3 LPT1 LPT2 PD PT QDBG SS1 SS2 SS3 ZDBG ZDBGE1)
(if(and (princ"\n选择起点标高文字:")(setq ss1(ssget ":E:S" '((0 . "*text"))))
(princ"\n选择坡度文字:")(setq ss2(ssget ":E:S" '((0 . "*text"))))
(princ"\n选择长度线段:")(setq ss3(ssget ":E:S" '((0 . "line"))))
)
(progn
(setq e1(entget(ssname ss1 0))
e2(entget(ssname ss2 0))
e3(entget(ssname ss2 0))
)
(setq qdbg(atof(cdr(assoc 1 e1)))
pd(atof(cdr(assoc 1 e2)))
lpt1(cdr(assoc 10 e2))
lpt2(cdr(assoc 11 e2))
cd(distance lpt1 lpt2))
(setq zdbg (- qdbg (* (/ pd 100.0 ) cd )))
(if (and zdbg (setq pt(getpoint "\n指定标高文字位置:")))
(progn
(setq zdbge1 e1
zdbge1(subst(cons 1 (rtos zdbg 2 2))(assoc 1 zdbge1)zdbge1)
zdbge1(subst(cons 10 pt)(assoc 10 zdbge1)zdbge1)
)
(entmake zdbge1)
)
(princ "\n!!未指定标高位置点!!")
)
)
(princ "\n!!未正确选择对象!!")
)
(princ)
)
edata 发表于 2014-1-10 21:40 static/image/common/back.gif
谢谢帮助我自己消化一下!!
edata 发表于 2014-1-10 21:40 static/image/common/back.gif
怎么最后的结果指定的位置没用插入的结果老是以开始点取的文字?
页:
1
[2]