cad里lisp程序编程求助:能够简单计算并显示出来。 30

求助,有谁懂cad的lisp编程吗?想编个小程序,实现个小功能——比如cad上面有三行文字:第一行为:小红年龄:18第二行为:小明年龄:9第三行为:小李年龄:5(这三行文... 求助,有谁懂cad的lisp编程吗?想编个小程序,实现个小功能——比如cad上面有三行文字:第一行为:小红年龄:18 第二行为:小明年龄:9 第三行为:小李年龄:5 (这三行文字里年龄都是变的) 然后我调用lisp程序,程序提示我选择。我选择这三行文字,确定。然后程序提示我指定插入点。然后我点插入点。这时候在插入点出现两行文字:第一行 小红比小明大:9 第二行 小红比小李大:13 (这个就是我想要的效果,能够自动捕捉文字里的年龄,然后计算结果,固定格式显示出来)求助大神 展开
 我来答
greatlmy4
2014-06-30 · TA获得超过1330个赞
知道小有建树答主
回答量:1446
采纳率:76%
帮助的人:310万
展开全部
你好,请您试一试下面的程序:
;小程序,实现个小功能——比如cad上面有三行文字:
;第一行为:小红年龄:18
;第二行为:小明年龄:9
;第三行为:小李年龄:5
;(这三行文字里年龄都是变的)
;然后调用lisp程序,程序提示选择这三行文字,确定。
;然后程序提示指定插入点。然后点插入点。
;这时候在插入点出现两行文字:
;第一行 小红比小明大:9
;第二行 小红比小李大:13
(defun c:nl ()
(setq sss (ssget)
nm0 (nm&nl 0)
nl0 (cadr nm0)
nm0 (car nm0)
nm1 (nm&nl 1)
nl1 (cadr nm1)
nm1 (car nm1)
nm2 (nm&nl 2)
nl2 (cadr nm2)
nm2 (car nm2)
nl20 (- nl2 nl0)
nl21 (- nl2 nl1)
)
(print (list nm0 nl0 nm1 nl1 nm2 nl2 nl20 nl21))
(command "text" pause "" "" (strcat nm2 "比" nm1 "大:" (rtos nl21 2 0))
"text" "" (strcat nm2 "比" nm0 "大:" (rtos nl20 2 0))
)
)
(defun nm&nl (i / nm nl)
(setq nm (ssname sss i)
nm (entget nm)
nm (cdr (assoc 1 nm))
nl (substr nm 11)
nm (substr nm 1 4)
nl (read nl)
)
(list nm nl)
)
追问

谢谢你的回答。我试了一下。已经很棒了。

还有几个小问题想请教一下。

你看看能不能帮我解决一下呢。下面这图片里上面蓝色的三行是我们的已知条件。红色的两行是我们要求的。你看看能不能识别这样数字在中央出现的呢。而且数字都要保留一位小数。计算规则是Pjs=Pe*Kx      Ijs=(pe*Kx)/(cos∅*380*1.732)


求帮忙啊,最好出现的字属性与原字属性相同

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式