乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 56|回复: 11

[编程交流] 只需要lisp代码对num求和

[复制链接]

2

主题

6

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 06:43:44 | 显示全部楼层 |阅读模式
大家好
我只想对文本或多行文字中的数字求和
例如
->EBA 12(21)NDBR(25.56)=0.2这是多行文字
->FD 12(102)这是多行文字
->NDBR 21(2个管道)它是MTEXT
->(X1=25.32)是文本(X2=54.21)也是文本
 
我想得到结果
->12+21+25.56+0.2=...
->12+102=...
->21+2=...
->文本和文本1+25.32+2+54.21之和=。。。
->多行文字和文字之和
->多行文字和多行文字之和
我想让它按对象选择。适用于所有图纸。
 
有人能帮我吗?
 
请参见下面的“我的DWG文件”
需要LISP对该文件求和。图纸
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 06:54:34 | 显示全部楼层
有一些自定义lisp例程可以实现这一点。快速的互联网搜索应该可以很容易地找到其中一些。
回复

使用道具 举报

56

主题

284

帖子

231

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
289
发表于 2022-7-6 06:58:06 | 显示全部楼层
收集并比较每个字符,如果它们是数字,则将其存储并添加。
 
[code](defun c:test()(或(vl load com))(if(setq i 0 sel(ssget(list)(0.TEXT,MTEXT))));“_X”(cons 8 layer)(progn(setq lsel(sslength sel))(princ(strcat”\n Texts:”(itoa lsel))(while(<i lsel)(setq nmo(vlax ename->vla object(ssname sel i))txt(vla get TextString nmo))(if(=(vla get ObjectName nmo)“AcDbMText”)(setq txt([颜色=红色]LM:UnFormat[/颜色]txt nil));if(setq ltxt(strlen txt)j 1 no“ts”s 0)(而(
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 07:01:42 | 显示全部楼层
在我第一次尝试时,我发现了这个。向下滚动到CarlB的回复,他在回复中修改了发布的例程,将文本和多行文字都包括在内。
 
http://www.eng-tips.com/viewthread.cfm?qid=336013
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:09:39 | 显示全部楼层
 
我也会这么做,但后来我意识到,对于像“NBDR 50(2PIPE)”这样的文本字符串,它会给你50+2。等待OP给出更多解释。
回复

使用道具 举报

56

主题

284

帖子

231

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
289
发表于 2022-7-6 07:14:37 | 显示全部楼层
pBe,检查OP的详细信息:
 
 
 
 
在我看来,同样的问题也会出现在:
 
 
但它是特定的。
 
它可以制定一个标准,只考虑按顺序书写的数字:(nomber)例如(2),
或避免“nomber=”(X1=或X2=)
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 07:18:55 | 显示全部楼层
嗯,有时候一个人必须小心自己的要求。当瓶子里的精灵给你三个愿望时,仔细想想,记住意外后果法则。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:24:54 | 显示全部楼层
 
这就是我要说的。不知怎的,这没有意义。我想这不仅仅是数字相加。
 
 
确实如此。
回复

使用道具 举报

56

主题

284

帖子

231

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
289
发表于 2022-7-6 07:30:37 | 显示全部楼层
正如我所说,你可以做一些限制。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 07:32:59 | 显示全部楼层
 
OP的有线请求。。。pBe,这也可以是5+0+2=7(我们怎么知道50是50而不是5,0。。。
 
M、 R。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-15 22:41 , Processed in 2.890246 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表