鲁鲁托克斯 发表于 2012-10-26 14:41:00

如何批量替换块

向大神请教了
我在vba中使用secondcommand命令采用自己定义的块将一条多段线进行等分,假如块是“□”,则按照一定的距离在多段线上排列了一系列“□”。
我还定义了另外一个块“○”,最终我希望的效果是将“□□□□□□□□□□□□□”替换成“□○□○□○□○□○□○”,这该如何用vb实现呢?有没有代码能让小弟参考下呀?

liuxu042 发表于 2012-10-26 14:58:19

首先不建议在vba使用secondcommand发送命令,完全可以用代码实现功能
其次在这你的这个问题绝对不是简单的把一种块替换为另一种块,而是间隔替换,所有如果你放置完成块后在替换操作就麻烦了,在打断线的时候就可以生成你想要的块交替排列的效果,
三、代码还是要自己慢慢实现,只有这样才能提高自己

鲁鲁托克斯 发表于 2012-10-26 15:06:56

liuxu042 发表于 2012-10-26 14:58 static/image/common/back.gif
首先不建议在vba使用secondcommand发送命令,完全可以用代码实现功能
其次在这你的这个问题绝对不是简单的 ...

等分也可以通过代码实现么?将多线段按等分距离打断?然后再根据打断的点的位置间隔插入不同的块来实现这一目的?我现在在考虑使用选择集再加上块的句柄来实现,但是在把块加入选择集又碰到了问题……按“AcadBlock”的方法块添加不进去……

zkyzzy 发表于 2012-11-7 02:50:55

修改块名再更新啊
dim abc as acadinsertobject..
再通过选择集选中到对象,依次循环到对象
abc.name="新块名"
abc.update
页: [1]
查看完整版本: 如何批量替换块