如何通过 cad 里面的lisp 获得数据;该如何书写

如何通过点击cad里面的文字获得以下数据1。如何获得例如%%1328@100中的8100(注其中%%132为刚钢筋等级代号)2..如何获得例如2%%13218;3%%13... 如何通过点击cad里面的文字获得以下数据
1。如何获得例如 %%1328@100 中的8 100 (注其中%%132为刚钢筋等级代号)
2..如何获得例如 2%%13218;3%%13216 里面的2%%13218
展开
 我来答
weiyinzhong329
2012-09-24 · TA获得超过2218个赞
知道小有建树答主
回答量:1579
采纳率:0%
帮助的人:814万
展开全部
请参考下列程序:
;*把字符串表示的表转化成实数表示的表
(defun release (l / flag count slength single data itemlist temp)
(if l (progn
(foreach item l
(setq count 1 flag T slength (strlen item) itemlist nil )
(while (<= count slength)
(setq single (substr item count 1))
(if (member single '("X" "x" "*"))
(progn
(setq data (atof (substr item 1 (1- count))))
(repeat (atoi (substr item (1+ count)))
(setq itemlist (append itemlist (list data))))
(setq count (1+ slength) flag nil)
);progn
(setq count (1+ count))
);if
);while
(if flag
(setq temp (append temp (list (atof item))))
(setq temp (append temp itemlist))
);if-flag
);foreach
temp
));if-progn
);release
临雪一枝梅
2012-09-24 · TA获得超过1334个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:364万
展开全部
获取单行文字内容,用LISP的话是(cdr(assoc 10 (entget en)))
用VLISP的话是(vla-get-textstring obj)
文字内容的截取可以用substr函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
美妙又虔敬丶多宝鱼7603
2012-09-24 · TA获得超过266个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:198万
展开全部
可否补充下你的问题,你是想获得数据后进行什么操作呢?替换?还是仅仅只是获取?推荐答案的兄弟回答的只是将已知变量字串中的固定字符串取出并赋值给另一个变量,我想应该不是你要的结果吧。望补充,好为您解答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dnbc1
2012-09-24 · TA获得超过978个赞
知道小有建树答主
回答量:1235
采纳率:92%
帮助的人:418万
展开全部
1、
(setq a "%%1328@100"
b (vl-string-subst "" "%%132" a)
c (vl-string-subst " " "@" b)
e (read (strcat "(" c ")"))
)

2、
(setq a1 "2%%13218;3%%13216"
b1 (vl-string-subst " " ";" a1)
c1 (read (strcat "(" b1 ")"))
e1 (mapcar '(lambda(x)(vl-prin1-to-string x)) c1)
)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式