乐筑天下

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

[编程交流] li命令的数据提取

[复制链接]

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 13:55:41 | 显示全部楼层
我可能已经用与您相同的方法完成了这项工作,但我还调整了主例程,以考虑来自子函数的nil返回(块没有任何标记)。
 
  1. (defun get-all-atts ( obj / att_lst r_lst lst tag )
  2.   (setq att_lst (vlax-invoke obj 'getattributes)
  3.         r_lst (list "TAG" "PN" "FIND" "SORT" "QUANTITY")
  4.         lst nil
  5.   );end_setq      
  6.   (foreach att att_lst
  7.     (setq tag (vla-get-tagstring att))
  8.     (if (member tag r_lst)
  9.       (setq lst (cons (cons tag (vla-get-textstring att)) lst))
  10.     );end_if
  11.   );end_foreach
  12.   (if (> (length lst) 1) (setq lst (reverse lst)))
  13. );end_defun
  14. ;;                        Main part                        ;;
  15. (defun C:ATOUT ( / adoc osm axss tmp com_data tot)
  16.   (vl-load-com)
  17.   (setq adoc (vla-get-activedocument (vlax-get-acad-object))
  18.         osm (getvar "osmode")
  19.   );end_setq
  20.   (vla-endundomark adoc)
  21.   (vla-startundomark adoc)
  22.   (setvar "osmode" 0)
  23.   (setvar "cmdecho" 0)
  24.   (cond ( (ssget "_X" (list (cons 0 "INSERT")(cons 66 1)));;This will get you all attributed blocks in the drawing
  25.           (setq com_data nil)
  26.           (vlax-for a        (setq axss (vla-get-activeselectionset adoc))
  27.             (setq tmp (get-all-atts a))
  28.             (if (> (length tmp) 0) (setq com_data (cons tmp com_data)))
  29.           );end_for
  30.           (setq com_data (reverse com_data)
  31.                 tot (length com_data)
  32.           );end_setq
  33.         )
  34.   );end_cond
  35. ;; foreach loop for data display only can be removed later
  36.   (foreach x com_data
  37.     (princ x)
  38.     (princ "\n")
  39.   );end_foreach
  40.   
  41.   (princ)
  42.   (setvar "osmode" 0)
  43.   (setq axss nil)
  44.   (vla-endundomark adoc)  
  45. );end_defun

我注意到,您发送的示例图形中的一个块标记名为“FIND#”,而不是“FIND”,这是正确的吗?
 
关于excel部分,您希望excel工作表是什么样子?
这是从预定义工作簿/工作表开始还是从空白工作簿/工作表开始?
图纸名称应该是什么?
工作簿名称应该是什么。
回复

使用道具 举报

32

主题

430

帖子

423

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
150
发表于 2022-7-5 14:01:19 | 显示全部楼层
它是dwg中的att名称
141749da3aachafczttm96.gif
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 14:05:30 | 显示全部楼层
这是我的工作,但将在一个商业产品看,说共享软件非常便宜。
 
这是块数据提取的修改版本,您只需选择相关块,它对块进行计数,但当前使用2个深度索引,因此将区分相同的块名,但att值不同,例如door black silver v的door black gold将给出2个带颜色和把手类型的块门总数。 
 
结果出来的时候它就成了一张表,我在你的dwg上测试了一下,它成功了。 
 
选项只是选择
读取数据文件,重新块名和属性顺序
同样,创建一个数据文件,该文件将由dcl驱动,以便于拾取。
 
重要的一点是,它支持具有与我在块上测试的块一样多属性的块,1 att、2 att、3 att、15 att作为混合,并且工作良好。
 
我下一步要做的是在输出中输入哪些属性。
回复

使用道具 举报

2

主题

261

帖子

20

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-5 14:09:00 | 显示全部楼层
缪若凯恩
让我们看看你最后想要什么。
你需要了解你需要什么。
你还有更多的例子吗?
语言不是问题,主要是算法。
看这个视频,像这样?  https://youtu.be/JTSJD9-VP28
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 14:12:12 | 显示全部楼层
比加尔-太好了。。。我希望以一种可以将其与外部数据相结合的形式获得我的数据,类似于原始数据提取。
 
dlanorh-我们做的几乎完全一样,只是我忘了删除常数,我添加了另一个条件来消除任何3个或更多att值为零的块。很高兴知道我能很好地掌握这门语言。也不用担心确切的名字,我只需要确保在“r\u lst”中有确切的名字。
 
大家-最后我希望找到一种方法,将其与另一个电子表格链接,就像原始的数据提取功能一样。但我需要的是它是一个CSV文件,看起来像这样:(“BOM”是来自另一本工作手册的链接数据)
[table][tr][td]
TAG
[/td][td]
PN

[/td][td]
BOM
[td][td]
查找
[/td][td]
数量[size]
[td][td]
排序
[/td][/tr][tr][td]
CTRL

[/td][td]
CTRL
[/td][td]
INFPRO
[/td][td]
CTRL
[/td][td]
1
[/td][td]
3000
[/td][/tr][tr][td]
T-1

[/td][td]
T1

[/td][td]
CXF460
[/td][td]
T1

[/td][td]
[font=Cal
回复

使用道具 举报

33

主题

165

帖子

148

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
149
发表于 2022-7-5 14:14:39 | 显示全部楼层
I think we're trying to make the same thing.  I was able to make quite a bit of progress on it on the Cad side with the help of something RLX sent me. Will post it in the morning. (Sending this now or I'll forget).
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 14:19:53 | 显示全部楼层
I have been renovating my house so no spare time its almost finished about 1 week left so will have time again to get back to "time consuming" ideas.  
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 03:29 , Processed in 2.158868 second(s), 66 queries .

© 2020-2025 乐筑天下

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