乐筑天下

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

[编程交流] 计算给定文本的数字

[复制链接]

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:22:53 | 显示全部楼层 |阅读模式
你好
有没有办法让AutoCAD 2010计算给定文字图元出现的数量。
 
我指定了不同标准列的负载,所有列都标有字母和数字。e、 g.F9或D4。。。。等等。所以我有很多这样的计划,需要安排。目前,我打印出图纸,并用手数数。非常缓慢和费力!
 
另一种方法是将所有组合放在不同的层上,这需要更长的时间来计算它们,有没有办法绕过这一点。
 
请帮忙,欢迎大家提出建议。
 
谢谢
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:28:19 | 显示全部楼层
请不要重复张贴。它使讨论过程变得混乱,并将答案/建议分为多个线程。要有耐心。
 
BCOUNT命令不执行您想要的操作?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:31:53 | 显示全部楼层
我写这篇文章是作为我TabSort例程的一部分:
 
  1. (defun StrBrks (str / x slst nLst rLst aLst)
  2. (setq slst (vl-string->list str))
  3. (while (setq x (car slst))
  4.    (setq slst (cdr slst))
  5.    (cond (  (and nLst (= 46 x))
  6.             (setq nLst (cons x nLst)))
  7.          (  (< 47 x 58)
  8.             (setq nLst (cons x nLst))
  9.             (setq rLst (cons (reverse aLst) rLst) aLst nil))
  10.          (t (setq aLst (cons x aLst))
  11.             (setq rLst (cons (reverse nLst) rLst) nLst nil))))
  12. (mapcar 'vl-list->string
  13.    (vl-remove nil
  14.      (reverse
  15.        (cons (reverse aLst)
  16.          (cons (reverse nLst) rLst))))))
  17. (defun Num_Extract (str)
  18. (mapcar 'read
  19.    (vl-remove-if-not
  20.      (function
  21.        (lambda (x)
  22.          (vl-position (type (read x)) '(INT REAL))))
  23.      (StrBrks str))))
示例:
 
  1. (Num_Extract "AB24n2i4tn4")
  2. (24 2 4 4)

 
编辑:Woww。。。完全看错了帖子。。。!
 
希望这段代码能帮助别人
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:32:35 | 显示全部楼层
快速一:
 
区分大小写
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:36:53 | 显示全部楼层
实际上,这更快:
 
  1. (defun c:tcnt (/  i j ss tStr)
  2. (and (setq i -1 j 0 ss (ssget "_X" (list (cons 0 "TEXT,MTEXT"))))
  3.       (setq tStr (getstring t "\nText to Search For: "))
  4.       (while (setq ent (ssname ss (setq i (1+ i))))
  5.         (if (eq tStr (cdr (assoc 1 (entget ent)))) (setq j (1+ j)) t))
  6.       (princ (strcat "\n << " (itoa j) " Item(s) Found >>")))
  7. (princ))
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:39:35 | 显示全部楼层
 
 
你好
对不起,我发了两封信。
这几乎正是我想要的。谢谢。
唯一的问题是它不计算动态块中的文本。
这容易添加吗?
谢谢
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 10:42:22 | 显示全部楼层
为什么你一开始不提那个小细节(动态块)?提前掌握所有信息真的很有帮助。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:45:47 | 显示全部楼层
 
哎呀!不是真的。。。只是因为我对Dyn Blocks的经验有限。。。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:49:19 | 显示全部楼层
好的,很抱歉,我没有意识到这有什么不同,因为我不理解所有需要知道的是autocad和lisp例程。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:54:20 | 显示全部楼层
 
不用担心,谢谢。
我想我可以绕过它,但复制模型空间中的所有动态块并使用突发命令。谢谢你给我的帮助。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 22:11 , Processed in 0.395991 second(s), 72 queries .

© 2020-2025 乐筑天下

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