乐筑天下

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

[编程交流] 计算多个文本内容

[复制链接]

41

主题

82

帖子

41

银币

后起之秀

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

铜币
205
发表于 2022-7-6 10:53:16 | 显示全部楼层 |阅读模式
大家好,任何人都可以帮助我,我收到了来自外部的家具布局。现在我的老板要我为所有的家具做一张桌子。例如,我有行政办公桌、会议桌、椅子等。所有行政办公桌标签上都有ed,会议桌标签上有mt,椅子标签上有ch。我想数一数所有标签,然后放在桌子上,标签只是文本。任何lisp都可以提供或技术?我有多个楼层可以做同样的事情。提前感谢。。。
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 11:06:31 | 显示全部楼层
尝试数据提取(可能是2007年的Eattext)
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 11:08:24 | 显示全部楼层
标签是文本而不是属性,对吗?
 
也许你会在这个线程中找到一个解决方案:
 
http://www.cadtutor.net/forum/showthread.php?t=4522
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 11:17:31 | 显示全部楼层
EATTEXT可以工作,但你会得到很多无关或无用的信息。您必须注意AutoCAD的要求。我对这种提取纯文本的方法印象不深。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:22:29 | 显示全部楼层
这应该让你开始。。。
  1. (defun _TextCount (ss / lst)
  2. ;; Alan J. Thompson, 06.28.10
  3. (if (eq (type ss) 'PICKSET)
  4.    (vl-sort ((lambda (i / str ass)
  5.                (while (setq e (ssname ss (setq i (1+ i))))
  6.                  (if (setq str (cdr (assoc 1 (entget e))))
  7.                    (if (setq ass (assoc str lst))
  8.                      (setq lst (subst (cons str (1+ (cdr ass))) ass lst))
  9.                      (setq lst (cons (cons str 1) lst))
  10.                    )
  11.                  )
  12.                )
  13.                lst
  14.              )
  15.               -1
  16.             )
  17.             (function (lambda (a b) (< (car a) (car b))))
  18.    )
  19. )
  20. )

 
如。
  1. (_TextCount (ssget '((0 . "MTEXT,TEXT"))))
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 11:31:54 | 显示全部楼层
 
太快了
 
当做
 
~'J'~
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:34:18 | 显示全部楼层
 
 
没有免费的午餐。我不会什么都做。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 11:42:23 | 显示全部楼层
同意,
 
这并不难,但需要很多时间
 
~'J'~
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:47:30 | 显示全部楼层
确切地我不介意帮忙,但我不会做所有的脏活。我可以暂时放弃我的有偿工作,但我不能停止为人们编写整个程序。毫无意义。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 11:58:30 | 显示全部楼层
 
试试这个
此例程将允许您在中存储数据。csv文件
还是要绘制acad表?
 
[code](vl load com)(defun dxf(key-alist)(cdr(assoc key-alist));;基于中的函数http://www.cadtutor.net/forum/showthread.php?t=7230(defun count\u occurs(lst fuzz)(if(car lst)(cons(cons(car lst)(length(vl remove if not)(function(lambda(x)(if(not fuzz)(eq x(car lst))(equal x(car lst)fuzz)))lst))(count\u occurs(vl remove if(function(lambda(x)(if(not fuzz)(eq x(car lst))(eq x(car lst)fuzz)))lst)fuzz))));;==============================================;;(defun C:FURN(/*error*datafile data\u line data\u list elist entlist filename table\u list)(defun*error*(msg)(if datafile(close datafile))(if msg(princ(strcat)“\n错误!”msg)))(princ))(setq filename(strcat(getvar“dwgprefix”)(vl filename base(getvar“dwgname”))。.csv”)(if(setq entlist(vl remove if‘listp(mapcar’cadr(ssnamex(list(cons 0“TEXT”)(cons 1“mt,ed,ch,mt.,ed.,ch.))))))));
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:07 , Processed in 0.442277 second(s), 72 queries .

© 2020-2025 乐筑天下

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