乐筑天下

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

[编程交流] 访问扩展数据???

[复制链接]

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:14:11 | 显示全部楼层 |阅读模式
我需要访问一些扩展数据,以便按样式名称过滤我的MEP电气设备。我将样式名称添加为特性集数据。我需要按样式名过滤,并计算有多少个,然后将该数字放入变量中,然后我可以使用表中的字段访问它。我只是不知道如何访问这些信息,因为扩展数据中没有列出这些信息。
 
我知道我可以使用时间表,但我也需要按层过滤,因为我们在一个文件中有多个房屋正面。如果我使用时间表,它会给出整个文件中的总数。
 
提前感谢;)
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 22:18:21 | 显示全部楼层
我不是程序员,但IIRC AutoCAD Architecture和AutoCAD MEP对象使用。NET编程语言。这可能是错误的论坛,因为我认为使用AutoLISP和Visual LISP很难获取有关AEC对象的信息。您可以使用“报告发布”选项通知主持人将其移动到。NET自定义区域。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:23:43 | 显示全部楼层
你可以通过VL进入civ3d AEC数据,最大的问题是你必须知道保存信息的变量名,这通常不是它的名称。
 
你应该能够获得mep数据,但同样你需要知道你在寻找什么。
 
  1. this just opens up the AEC database and is version dependant
  2. (if ((lambda (vrsn)
  3.        (cond
  4.         ((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
  5.         ((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
  6.         ((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
  7.         ((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
  8.         ((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
  9.         ((alert "This version of C3D not supported!"))
  10.        )
  11.       )
  12.       (vlax-product-key)
  13.      )                         ; end if condition progn is true
  14.      (progn
  15.        (cond (*AeccDoc*)
  16.          ((setq *AeccDoc*
  17.            (vlax-get
  18.              (cond (*AeccApp*)
  19.                ((setq *AeccApp*
  20.                  (vla-getinterfaceobject
  21.                     (cond (*Acad*)
  22.                     ((setq *Acad* (vlax-get-acad-object)))
  23.                     )
  24.                     (strcat "AeccXUiLand.AeccApplication." appstr)
  25.                  )
  26.                 )
  27.                )
  28.              )
  29.              'ActiveDocument
  30.            )
  31.           )
  32.          )
  33.        ) ; end main cond
  34.      ) ; end progn
  35. ) ; end if vsrn
  36. this is an example of opening the surfaces list
  37. (vlax-for j (vlax-get *AeccDoc* 'SurfaceS)
  38. (setq lst (cons (cons (vla-get-name j) j) lst))
  39. )
  40. surface styles
  41. (vlax-for i (vlax-get *AeccDoc* 'SurfaceStyles)
  42. (setq lst (cons (cons (vla-get-name i) i) lst))
  43. )
回复

使用道具 举报

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:25:32 | 显示全部楼层
谢谢,这比我更接近了一大步。我希望有人也知道这些设备的变量。我将进一步浏览开发人员参考资料,看看能找到什么。
回复

使用道具 举报

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:27:16 | 显示全部楼层
当我列出对象时,它给出了样式引用名称。list命令是如何获取数据的???
回复

使用道具 举报

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:31:47 | 显示全部楼层
我在其中一个对象上附加了一个屏幕截图,显示了从list命令返回的内容中包含的全部内容。
231416g070343frodoo3u0.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:35:29 | 显示全部楼层
试试这个,它是dumpit。lsp选择你的对象,它会提供更多细节,它会提供变量名等
 
  1. ;;;===================================================================;
  2. ;;; DumpIt                                                            ;
  3. ;;;-------------------------------------------------------------------;
  4. ;;; Dump all methods and properties for selected objects              ;
  5. ;;;===================================================================;
  6. (defun C:DumpIt ( / ent)
  7. (while (setq ent (entsel))
  8.    (vlax-Dump-Object
  9.      (vlax-Ename->Vla-Object (car ent))
  10.    )
  11. )
  12. (princ)
  13. )
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 22:38:28 | 显示全部楼层
当您使用Express工具列出扩展数据时,您能看到所需的信息吗?
 
在VBA中,扩展数据是使用DXF代码附加到对象的,虽然这很简单,但您需要知道扩展数据结构(实际上是它们出现的顺序),或者扩展数据包含一个可用于过滤的描述性部分。DXF代码描述所附信息的类型,字符串、整数、实数等。
 
我在VBA中开发了一个扩展数据查看器,它列出了一个对象上的所有数据,如果可以的话。但请记住,它只是一个观众。
回复

使用道具 举报

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:40:19 | 显示全部楼层
垃圾桶。lsp成功地将其拔出。我需要的信息列在名称(RO)=下。我附上了一个png,你可以看到。我需要得到列出的字符串。有没有办法自己获取这些数据?还是在调用dumpit函数后需要对其进行过滤?
 
谢谢你的帮助,我开始认为这是一个失败的事业。我花了无数个小时搜索和阅读,试图找到一个解决方案。现在我可以看到隧道尽头有灯光了(我只希望它不是火车)
231420uff65i55vlcbt4ne.jpg
回复

使用道具 举报

5

主题

30

帖子

25

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 22:44:19 | 显示全部楼层
在StyleName=
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 08:58 , Processed in 0.327633 second(s), 74 queries .

© 2020-2025 乐筑天下

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