一个自己编的lisp小程序遇到了一个坎,求助

首先我来简单说下这个程序的功能:我是做结构设计的,希望将CAD中的文字(例如“20.0-80.8-24.0”)进行拆分,就是根据文字中的“-”这个字符为定位,将“-”之前... 首先我来简单说下这个程序的功能:我是做结构设计的,希望将CAD中的文字(例如“20.0-80.8-24.0”)进行拆分,就是根据文字中的“-”这个字符为定位,将“-”之前之后的文字都分拆出来,(就是拆成"20.0",“80.8”,“24.0”三个独立部分),我程序已经写了一半,但是遇到一个棘手问题,先上代码然后说问题:
;以下开始主程序
(defun C:CFWZ ( )
(princ "\n请选择文字:")
(setq ss1 (ssget (list (cons 0 "TEXT") )))
(setq i 0)
;;以下开始循环,循环的作用是处理大片文字。
(repeat (sslength ss1)
(setq a (entget (ssname ss1 i)))
(setq WENZI (cdr (assoc 1 a)));;获得配筋值
(setq POINT (cdr (assoc 10 a)))
(setq HIGHT (cdr (assoc 40 a)))
(setq ANG1 (cdr (assoc 50 a)))
(setq ANG (* (/ ANG1 3.1415926 ) 180))
(setq t1(vl-string-search "-" WENZI ))
(setq t2(vl-string-search "-" WENZI (+ t1 1)))
(setq t3(- t2 t1 1))
(setq W1(substr WENZI 1 t1))
(setq W2(substr WENZI (+ t1 2 ) t3))
(setq W3(substr WENZI (+ t2 2 ) ))
(command "-text" POINT HIGHT ANG w1 "ESC")

)
)
本人刚自学这个LISP编程,写的比较混乱,现在问题就是在最后一行运行 (command "-text" POINT HIGHT ANG w1 "ESC")这个命令的时候解决了第一个文字书写,但是到第二个文字书写的时候不知道插入点该怎么输,我是希望分拆后的文字能跟原文字重合,但是第二个文字“80.8”的定位就不好解释了,各位有什么好办法吗?第二个文字单位解决了的话第三个文字定位就迎刃而解了。
展开
 我来答
ldd_boy
2015-04-12 · TA获得超过287个赞
知道小有建树答主
回答量:192
采纳率:75%
帮助的人:124万
展开全部

用到了 textbox 函数

有兴趣的话,加入我们的群

AutoCAD 菜鸟学二次开发 202857076


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式