访问扩展数据???
我需要访问一些扩展数据,以便按样式名称过滤我的MEP电气设备。我将样式名称添加为特性集数据。我需要按样式名过滤,并计算有多少个,然后将该数字放入变量中,然后我可以使用表中的字段访问它。我只是不知道如何访问这些信息,因为扩展数据中没有列出这些信息。我知道我可以使用时间表,但我也需要按层过滤,因为我们在一个文件中有多个房屋正面。如果我使用时间表,它会给出整个文件中的总数。
提前感谢;) 我不是程序员,但IIRC AutoCAD Architecture和AutoCAD MEP对象使用。NET编程语言。这可能是错误的论坛,因为我认为使用AutoLISP和Visual LISP很难获取有关AEC对象的信息。您可以使用“报告发布”选项通知主持人将其移动到。NET自定义区域。 你可以通过VL进入civ3d AEC数据,最大的问题是你必须知道保存信息的变量名,这通常不是它的名称。
你应该能够获得mep数据,但同样你需要知道你在寻找什么。
this just opens up the AEC database and is version dependant
(if ((lambda (vrsn)
(cond
((vl-string-search "R17.2" vrsn) (setq appstr "6.0")) ;09
((vl-string-search "R18.0" vrsn) (setq appstr "7.0")) ;10
((vl-string-search "R18.1" vrsn) (setq appstr "8.0")) ;11
((vl-string-search "R18.2" vrsn) (setq appstr "9.0")) ;12 ?
((vl-string-search "R19.0" vrsn) (setq appstr "10.0")) ;13
((alert "This version of C3D not supported!"))
)
)
(vlax-product-key)
) ; end if condition progn is true
(progn
(cond (*AeccDoc*)
((setq *AeccDoc*
(vlax-get
(cond (*AeccApp*)
((setq *AeccApp*
(vla-getinterfaceobject
(cond (*Acad*)
((setq *Acad* (vlax-get-acad-object)))
)
(strcat "AeccXUiLand.AeccApplication." appstr)
)
)
)
)
'ActiveDocument
)
)
)
) ; end main cond
) ; end progn
) ; end if vsrn
this is an example of opening the surfaces list
(vlax-for j (vlax-get *AeccDoc* 'SurfaceS)
(setq lst (cons (cons (vla-get-name j) j) lst))
)
surface styles
(vlax-for i (vlax-get *AeccDoc* 'SurfaceStyles)
(setq lst (cons (cons (vla-get-name i) i) lst))
) 谢谢,这比我更接近了一大步。我希望有人也知道这些设备的变量。我将进一步浏览开发人员参考资料,看看能找到什么。 当我列出对象时,它给出了样式引用名称。list命令是如何获取数据的??? 我在其中一个对象上附加了一个屏幕截图,显示了从list命令返回的内容中包含的全部内容。
试试这个,它是dumpit。lsp选择你的对象,它会提供更多细节,它会提供变量名等
;;;===================================================================;
;;; DumpIt ;
;;;-------------------------------------------------------------------;
;;; Dump all methods and properties for selected objects ;
;;;===================================================================;
(defun C:DumpIt ( / ent)
(while (setq ent (entsel))
(vlax-Dump-Object
(vlax-Ename->Vla-Object (car ent))
)
)
(princ)
) 当您使用Express工具列出扩展数据时,您能看到所需的信息吗?
在VBA中,扩展数据是使用DXF代码附加到对象的,虽然这很简单,但您需要知道扩展数据结构(实际上是它们出现的顺序),或者扩展数据包含一个可用于过滤的描述性部分。DXF代码描述所附信息的类型,字符串、整数、实数等。
我在VBA中开发了一个扩展数据查看器,它列出了一个对象上的所有数据,如果可以的话。但请记住,它只是一个观众。 垃圾桶。lsp成功地将其拔出。我需要的信息列在名称(RO)=下。我附上了一个png,你可以看到。我需要得到列出的字符串。有没有办法自己获取这些数据?还是在调用dumpit函数后需要对其进行过滤?
谢谢你的帮助,我开始认为这是一个失败的事业。我花了无数个小时搜索和阅读,试图找到一个解决方案。现在我可以看到隧道尽头有灯光了(我只希望它不是火车)
在StyleName=
页:
[1]
2