清理重复的三维元素

设计文件清理功能似乎并不能实现三维元素的清理,这里提供一个样例文件1374.test.dgn,文件中是完全重叠一些网格元素,这种功能需要二次开发还是简单的录制一个VBA宏就行?

Parents Reply Children
  • 我写了一个初级版的程序供您测试。使用步骤如下:

    1、解压如下文件到文件夹C:\Program Files\Bentley\MicroStation CONNECT Edition\MicroStation\Mdlapps。【需要管理员权限】

    RemoveDup.zip

    2、打开您要删除重复元素的DGN文件【千万注意:请事先做好备份,误删除元素不承担任何责任!!!】

    3、在命令键入域键入MDL LOAD RemoveDup并回车就自动执行删除了。如果键入MDL LOAD RemoveDup ignore并回车则会删除重复元素,忽略元素的层和线符(颜色、线宽和线型)信息。

    对于您提供的测试DGN,用两种方法分别删除了54和60个重复的Mesh元素。

    【注】:目前的这个程序仅仅考虑了删除重复的Mesh类型的元素。对其他类型未做考虑!

    它首先判断Mesh的总体数据,都相同的情况下,逐个比较Mesh的坐标点。两者都相同了才会删除后一个,保留前一个。