plantdesign 发表于 2022-7-6 22:46:03

VBA获取实体的属性

你好
 
我正在尝试遍历图形中的所有对象并读取其属性。我已经找到了这样做的代码,如果对象是一个块,但如果对象只是一个“实体”(非块几何体),那么我仍然可以读取一些属性,但我需要找到一个特定的属性。当您列出对象时,它被称为“组”。我可以用红色箭头读取属性,但不能读取组属性(蓝色)
 
http://www.davetyner.com/forum/attachment.php?attachmentid=1446&d=1305752150
 
我的弱VBA看起来像这样。。。
 
代码:
专用子测试()
将图元变暗为对象
将myBlock设置为AutoCAD。AcadBlockReference公司
Dim vatts作为变体
 
设置ss=ThisDrawing。选择集。添加(“NewS856”)
ss。在屏幕上选择
对于ss中的每个实体
array1=实体。获取属性
对于j=0到UBound(array1)
实体层=“你好”
下一个
下一个
 
末端接头
我不知道您是否可以将GetAttributes与“entity”一起使用。如果有人在这里对如何正确地做到这一点有任何意见,我一定会很感激。
 
谢谢

BIGAL 发表于 2022-7-6 23:39:13

你只需要得到所有的实体,然后检查它是什么,线,线,块等,然后调用一个子做一些事情。而不是实体。getattributes需要get obj类型
 
找到了这个
 
 

Dim SS As AcadSelectionSet
Dim val As String
Dim acdLINE As AcadLine

On Error Resume Next
Set SS = ThisDrawing.SelectionSets.Add("MYSS")
SS.Select acSelectionSetAll

val = "AcDbPoint"

For i = 0 To SS.Count
   Set objENT = SS(i)
   If objENT.ObjectName = val Then do something


 
您需要知道AcDbline等的正确语法

plantdesign 发表于 2022-7-6 23:49:37

谢谢你,比格尔。我可以用你的代码遍历所有对象。
 
我将把整个项目迁移到。net,所以我将为此发表一篇新的帖子,更详细地解释我试图达到的目的。
 
谢谢
页: [1]
查看完整版本: VBA获取实体的属性