乐筑天下

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

[编程交流] 电气装置

[复制链接]
dhl

10

主题

36

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 12:26:11 | 显示全部楼层 |阅读模式
大家好,
 
我仍然是lisp和VBA的新手,但我正在尝试创建一个lisp例程,从MEP 2009中的一个电气设备中提取样式名称。
 
例如,如果样式名为“断路器”,我希望能够提取此字符串,并在稍后的文本命令中使用它。
 
问题是我不知道如何提取这些信息。我一直在搜索通过“assoc”函数使用的dxf代码,但到目前为止还没有找到任何东西。
 
有谁知道这是怎么做到的,或者我在哪里可以找到电气mep设备的dxf参考指南?
 
干杯
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 12:52:30 | 显示全部楼层
 
您好,dhl,
 
欢迎来到论坛,如果项目是acad块或任何类型的acad实体,该程序将返回与您的选择相关联的dxf数据。我不使用MEP 2009,但我假设它们仍然是acad实体。
 
试试看。
 
 
  1. (defun C:pdxf (/ pick)
  2. (if (setq pick (car (entsel "\nSelect Object: ")))
  3.    (progn (textscr)
  4.    (foreach x (entget pick)
  5.      (print x))))
  6. (princ))
回复

使用道具 举报

dhl

10

主题

36

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 13:06:21 | 显示全部楼层
谢谢buzzard,这正是我一直在寻找/尝试自己创建的lisp例程!谢谢
 
然而,似乎是Autocad Mep将设备信息存储在实体内部以外的某个地方,不幸的是,我不知道如何存储。我将插入您程序中的dxf返回值,也许这对我在哪里可以找到样式名称等有意义。
 
  1. Command: pdxf
  2. Select Object:
  3. (-1 . <Entity name: 7ffff946b10>)
  4. (0 . "AECB_DEVICE")
  5. (330 . <Entity name: 7ffff9039f0>)
  6. (5 . "1B0C1")
  7. (100 . "AcDbEntity")
  8. (67 . 0)
  9. (410 . "Model")
  10. (8 . "E-63F-3IE-N")
  11. (100 . "AecDbEntity")
  12. (102 . "{AEC_SUBOBJECT")
  13. (300 . "AecbImpDevice")
  14. (100 . "AecImpObj")
  15. (3 . "")
  16. (100 . "AecImpEnt")
  17. (171 . 0)
  18. (100 . "AecImpGeo")
  19. (10 28226.0 39324.0 0.0)
  20. (15 1.0 0.0 0.0)
  21. (16 0.0 1.0 0.0)
  22. (210 0.0 0.0 1.0)
  23. (360 . <Entity name: 0>)
  24. (100 . "AecImpLayoutTool")
  25. (100 . "AecbImpBuildingServiceMember")
  26. (102 . "{AEC_SUBOBJECT")
  27. (300 . "AecbPartCatalogData")
  28. (100 . "AecImpObj")
  29. (3 . "")
  30. (100 . "AecbPartCatalogData")
  31. (102 . "{AECB_PART_DATA_FIELD_ARRAY")
  32. (100 . "AecImpObj")
  33. (3 . "")
  34. (100 . "AecImpArray")
  35. (90 . 10)
  36. (102 . "{AEC_SUBOBJECT")
  37. (300 . "AecbPartCatalogDataField")
  38. (100 . "AecImpObj")
  39. (3 . "")
  40. (100 . "AecbPartCatalogDataField")
  41. (1 . "ConnectionProp_Circuit")
  42. (1 . "Circuit")
  43. (63 . 684)
  44. (90 . 1)
  45. (66 . 0)
  46. (68 . -1)
  47. (65 . 5)
  48. (341 . <Entity name: 0>)
  49. (281 . 0)
  50. (282 . 0)
  51. (283 . 1)
  52. (102 . "AEC_SUBOBJECT}")
  53. (102 . "{AEC_SUBOBJECT")
  54. (300 . "AecbPartCatalogDataField")
  55. (100 . "AecImpObj")
  56. (3 . "")
  57. (100 . "AecbPartCatalogDataField")
  58. (1 . "ConnectionProp_Load")
  59. (1 . "Load Phase 1")
  60. (1 . "0.000000")
  61. (63 . 682)
  62. (90 . 1)
  63. (66 . 0)
  64. (68 . -1)
  65. (65 . 1)
  66. (40 . 0.0)
  67. (281 . 0)
  68. (282 . 0)
  69. (283 . 1)
  70. (102 . "AEC_SUBOBJECT}")
  71. (102 . "{AEC_SUBOBJECT")
  72. (300 . "AecbPartCatalogDataField")
  73. (100 . "AecImpObj")
  74. (3 . "")
  75. (100 . "AecbPartCatalogDataField")
  76. (1 . "Phase2_Load")
  77. (1 . "Load Phase 2")
  78. (1 . "0.000000")
  79. (63 . 1319)
  80. (90 . 1)
  81. (66 . 0)
  82. (68 . -1)
  83. (65 . 1)
  84. (40 . 0.0)
  85. (281 . 0)
  86. (282 . 0)
  87. (283 . 1)
  88. (102 . "AEC_SUBOBJECT}")
  89. (102 . "{AEC_SUBOBJECT")
  90. (300 . "AecbPartCatalogDataField")
  91. (100 . "AecImpObj")
  92. (3 . "")
  93. (100 . "AecbPartCatalogDataField")
  94. (1 . "Phase3_Load")
  95. (1 . "Load Phase 3")
  96. (1 . "0.000000")
  97. (63 . 1320)
  98. (90 . 1)
  99. (66 . 0)
  100. (68 . -1)
  101. (65 . 1)
  102. (40 . 0.0)
  103. (281 . 0)
  104. (282 . 0)
  105. (283 . 1)
  106. (102 . "AEC_SUBOBJECT}")
  107. (102 . "{AEC_SUBOBJECT")
  108. (300 . "AecbPartCatalogDataField")
  109. (100 . "AecImpObj")
  110. (3 . "")
  111. (100 . "AecbPartCatalogDataField")
  112. (1 . "ConnectionProp_Voltage")
  113. (1 . "Voltage")
  114. (1 . "-2.000000")
  115. (63 . 681)
  116. (90 . 1)
  117. (66 . 0)
  118. (68 . -1)
  119. (65 . 1)
  120. (40 . -2.0)
  121. (281 . 0)
  122. (282 . 0)
  123. (283 . 1)
  124. (102 . "AEC_SUBOBJECT}")
  125. (102 . "{AEC_SUBOBJECT")
  126. (300 . "AecbPartCatalogDataField")
  127. (100 . "AecImpObj")
  128. (3 . "")
  129. (100 . "AecbPartCatalogDataField")
  130. (1 . "ConnectionProp_NoOfPoles")
  131. (1 . "Number of Poles")
  132. (1 . "-2")
  133. (63 . 680)
  134. (90 . 1)
  135. (66 . 0)
  136. (68 . -1)
  137. (65 . 2)
  138. (91 . -2)
  139. (281 . 0)
  140. (282 . 0)
  141. (283 . 1)
  142. (102 . "AEC_SUBOBJECT}")
  143. (102 . "{AEC_SUBOBJECT")
  144. (300 . "AecbPartCatalogDataField")
  145. (100 . "AecImpObj")
  146. (3 . "")
  147. (100 . "AecbPartCatalogDataField")
  148. (1 . "ConnectionProp_DemandFactor")
  149. (1 . "Load Category")
  150. (63 . 683)
  151. (90 . 1)
  152. (66 . 0)
  153. (68 . -1)
  154. (65 . 5)
  155. (341 . <Entity name: 0>)
  156. (281 . 0)
  157. (282 . 0)
  158. (283 . 1)
  159. (102 . "AEC_SUBOBJECT}")
  160. (102 . "{AEC_SUBOBJECT")
  161. (300 . "AecbPartCatalogDataField")
  162. (100 . "AecImpObj")
  163. (3 . "")
  164. (100 . "AecbPartCatalogDataField")
  165. (1 . "Sub_Load_Category1")
  166. (1 . "Load Sub-category")
  167. (63 . 1327)
  168. (90 . 1)
  169. (66 . 0)
  170. (68 . -1)
  171. (65 . 5)
  172. (341 . <Entity name: 0>)
  173. (281 . 0)
  174. (282 . 0)
  175. (283 . 1)
  176. (102 . "AEC_SUBOBJECT}")
  177. (102 . "{AEC_SUBOBJECT")
  178. (300 . "AecbPartCatalogDataField")
  179. (100 . "AecImpObj")
  180. (3 . "")
  181. (100 . "AecbPartCatalogDataField")
  182. (1 . "ConnectionProp_Overcurrent")
  183. (1 . "Maximum Overcurrent Rating (amps)")
  184. (1 . "0.000000")
  185. (63 . 697)
  186. (90 . 1)
  187. (66 . 0)
  188. (68 . -1)
  189. (65 . 1)
  190. (40 . 0.0)
  191. (281 . 0)
  192. (282 . 0)
  193. (283 . 1)
  194. (102 . "AEC_SUBOBJECT}")
  195. (102 . "{AEC_SUBOBJECT")
  196. (300 . "AecbPartCatalogDataField")
  197. (100 . "AecImpObj")
  198. (3 . "")
  199. (100 . "AecbPartCatalogDataField")
  200. (1 . "ConnectionProp_PowerFactor")
  201. (1 . "Power Factor")
  202. (1 . "0.000000")
  203. (63 . 698)
  204. (90 . 1)
  205. (66 . 0)
  206. (68 . -1)
  207. (65 . 1)
  208. (40 . 0.0)
  209. (281 . 0)
  210. (282 . 0)
  211. (283 . 1)
  212. (102 . "AEC_SUBOBJECT}")
  213. (102 . "AECB_PART_DATA_FIELD_ARRAY}")
  214. (102 . "AEC_SUBOBJECT}")
  215. (102 . "{AECB_CONNECTION_COMPONENTS")
  216. (100 . "AecImpObj")
  217. (3 . "")
  218. (100 . "AecImpArray")
  219. (90 . 1)
  220. (102 . "{AEC_SUBOBJECT")
  221. (300 . "AecbConnectionComponentMember")
  222. (100 . "AecImpObj")
  223. (3 . "")
  224. (100 . "AecConnectionComponent")
  225. (100 . "AecbConnectionComponentMember")
  226. (342 . <Entity name: 7ffff90d6f0>)
  227. (341 . <Entity name: 0>)
  228. (10 1.0 0.0 0.0)
  229. (90 . 1)
  230. (91 . 1)
  231. (92 . 3)
  232. (93 . 0)
  233. (94 . 0)
  234. (95 . 0)
  235. (63 . 0)
  236. (96 . 102)
  237. (102 . "AEC_SUBOBJECT}")
  238. (102 . "AECB_CONNECTION_COMPONENTS}")
  239. (341 . <Entity name: 7ffff9469b0>)
  240. (100 . "AecbImpMvPartBase")
  241. (102 . "{AECB_MVPARTBASE_ANNOTATION_BLOCK")
  242. (100 . "AecImpObj")
  243. (3 . "")
  244. (100 . "AecImpArray")
  245. (90 . 0)
  246. (102 . "AECB_MVPARTBASE_ANNOTATION_BLOCK}")
  247. (63 . 0)
  248. (343 . <Entity name: 0>)
  249. (344 . <Entity name: 0>)
  250. (90 . 0)
  251. (91 . 0)
  252. (15 1.0 1.0 1.0)
  253. (92 . 6)
  254. (64 . 0)
  255. (11 0.0 0.0 0.0)
  256. (12 0.0 0.0 0.0)
  257. (13 0.0 0.0 0.0)
  258. (14 0.0 0.0 0.0)
  259. (100 . "AecbImpDevice")
  260. (40 . 0.0)
  261. (9 . "")
  262. (341 . <Entity name: 7ffff90d3e0>)
  263. (102 . "AEC_SUBOBJECT}")
  264. (102 . "{AEC_NULLOBJECT}")
  265. (100 . "AecDbGeo")
  266. (100 . "AecDbLayoutTool")
  267. (100 . "AecbDbBuildingServiceMember")
  268. (100 . "AecbDbMvPartBase")
  269. (100 . "AecbDbDevice")
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 13:32:49 | 显示全部楼层
 
 
为了获得块中的特定实体,我将分解块并再次运行例程,但只选择有问题的实体。
 
试试看会发生什么。
同样,我不确定2009年欧洲议会实体。
我可以看到dxf列表仍然返回。
如果这是像属性一样的隐藏信息,我会尝试分解对象
看看会出现什么。我不确定你要找的信息在哪里
已存储。
 
 
如果你没有去下面的论坛寻求建议,我会在MEP论坛上试试,问你的问题。你可以在这里找到你需要的东西。
 
http://www.cadtutor.net/forum/forumdisplay.php?f=61
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:09 , Processed in 0.385397 second(s), 60 queries .

© 2020-2025 乐筑天下

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