哦,对了,所以还要加上:
- ' Checks if table exists and redefines (clearsout) the block of all data..
- Function CleanoutBlock(currentBlock As AcadBlock)
- Dim blkItem As AcadEntity
- [color=red]Dim blkAtt As AcadAttribute[/color]
- For Each blkItem In currentBlock
- blkItem.Delete
- Next blkItem
- [color=red] For Each blkAtt In currentBlock
- blkAtt.Delete
- Next blkAtt[/color]
- End Function
...对你的功能不起作用?
我试过了,但还是没用。我想做的就是从块中删除属性(和所有块实体),所以它是空的,然后把程序做的所有东西放回块中,所以如果用户在任何地方插入了任何块,这些块将反映用户在程序中的选择..
下面简单介绍一下该程序的功能:它从用户定义的数据中创建一个固定图表/表格(用户也可以从图纸中插入的块中选择一个固定,它会在文本框中输入所选固定的块名。有10行可以创建,每一行都通过复选框选中/取消选中。运行时,它为表格/图表的每一行添加两种类型的属性,一种是项目的参考号(一个常数)(即:FX1、FX2等),第二种是用户可以在用户表单的文本框中编辑的描述(一个标准)。当加载(userform _ Initialise)时,程序搜索表格的任何现有插入,并用该数据填充用户表单,因此用户可以编辑/添加/删除etc..当完成时,它插入块(如果新的/没有找到现有的表)或者只更新现有的..
现在有了我的代码(和Keith添加的代码),它可以工作99%,但是不会删除现有的普通属性(但是会删除常量属性(引用属性)..
我想,因为它删除了这些常量属性(该程序中的所有属性都是由块创建的。顺便说一下,AddAttribute)它也会删除正常的,但是它没有。这是因为属性的“常量”属性吗?
|