.IsDynamicBlock是用来判断是否是动态块的…但是它有问题..当频繁使用的时候会出现内存报错..但是你要获取动态块名称的时候,直接读就好了…不需要判断它是不是动态块的…. 但是如果要构造选择集,那么把过滤器写成以下形式就好了.这可以令普通块和动态块都受惠~如果你仍然会报 eInvalidObjectId错误(我在频繁重复空格执行上次命令时候报这个错误)这个时候应该在所有GetObject开启的东西最后 .Dispose(); 测试版本Acad20008