spp_wall 发表于 2014-1-10 20:30:44

edata 发表于 2014-1-10 19:22 static/image/common/back.gif
你指的的提取标高 文字的内容吧,最好提供dwg文件。

任意的数字 文字 应该都可以! 只是用来计算的 现在只写简单的太复杂的自己也理解不了 并不是三维的文字!

edata 发表于 2014-1-10 21:40:06

(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)
)
      

spp_wall 发表于 2014-1-10 22:05:11

edata 发表于 2014-1-10 21:40 static/image/common/back.gif


谢谢帮助我自己消化一下!!

spp_wall 发表于 2014-10-16 16:56:09

edata 发表于 2014-1-10 21:40 static/image/common/back.gif


怎么最后的结果指定的位置没用插入的结果老是以开始点取的文字?
页: 1 [2]
查看完整版本: 【菜鸟集】写第一个程序,求完善和指教!