Blocktablerecord,访问可视
嗨,我想访问可见性手柄属性。到目前为止,我可以访问对象,但它不在那里。谢谢大家! private void xtract _ btnscalebllknow _ Click(对象发送方,EventArgs e)。{。
文档doc = Autodesk,AutoCAD . application services . application . document manager . mdiactivedocument;。
数据库db = doc,数据库;。
。
使用(doc,LockDocument())。
{。
使用(事务tr = db,transaction manager . start transaction())。
{。
块表bt = tr,GetObject(db,BlockTableId,OpenMode。ForWrite)作为块表;。
。
foreach(Bt中的ObjectId id)。
{。
block table record Bt record =(block table record)tr,GetObject(id,OpenMode。for write);。
。
foreach(btRecord中的ObjectId objID)。
{。
DBObject obj = tr,GetObject(objID,OpenMode。ForWrite)作为DBObject。
。
if (obj是AttributeDefinition)。
{。
//。
}。
。
if (obj是实体)。
{。
//。
}。
}。
}。
trcommit();。
}。
}。
ed,regen();。
}。
。
**** Hidden Message ***** 您可能想解释一下“…访问可见性夹点属性…”的确切含义。您是指使用块定义定义的可见性,还是块参照中由其特性名称标识的DynamicBlockReferenceProperty,无论是可见性特性还是其他类型的特性
如果您想访问用块定义定义的属性,则无法访问:没有公开用于定义/更改动态属性的API,而且它们不是某种可以通过BlockTableRecord循环访问的实体/DBObject
如果要读取/更改BlockReference中的动态属性,可以通过BlockRedernce循环。DynamicBlockReferencePropertyCollection,并通过其属性名称标识感兴趣的属性。
页:
[1]