如何取消块的动态
试图使动态块不动态...有人能帮我完成这个吗? block table Bt = db,block table id . GetObject(OpenMode,ForRead)作为块表;。foreach(Bt中的ObjectId objId)。
{。
block table record btr =(block table record)objId,GetObject(OpenMode,for read);。
。
if (btr,IsDynamicBlock)。
{。
。
}。
**** Hidden Message ***** 它们有文本属性吗?
胡乱猜测
而不看看是否有预建的解决方案。
没有属性。
确定数据库中的最后一个实体。获取其句柄
分解块
收集上一个后的实体
用这些实体创建一个新块。
如果有属性,您需要记住tag:value对,并将它们重置到新的块中。
可能有更简单的解决方案。
发现这个:http://through-the-interface.typepad.com/through_the_interface/2014/09/exploding-nested-autocad-blocks-using-net.html
要尝试一下吗?
我期待您关于该过程的论文。
哦...以为它说的是动态块...不是嵌套的......我应该更仔细地阅读东西,哈哈...睡觉。 如果编辑块引用适合您的过程,也许函数
ConvertToStaticBlock(string new block name)可以满足您的需要。
它是Autodesk的成员。AutoCAD . database services . block reference
它工作得很完美。谢谢
页:
[1]