设计文件清理功能似乎并不能实现三维元素的清理,这里提供一个样例文件1374.test.dgn,文件中是完全重叠一些网格元素,这种功能需要二次开发还是简单的录制一个VBA宏就行?
您提供的DGN中含有多个Mesh,怎样的Mesh才被认为是完全相同的而需要删除的?比如下图中的这些几何参数得相同,然后每个顶点的坐标得相同,这样的Mesh才被认为是相同的吧?
是的,我们的需求是这样
您可以试试这个函数mdlElmdscr_areIdenticalToTolerance
我自己不会编程,只是提了需求
HITZXX said:我自己不会编程,只是提了需求
您的这个需求其他用户也提出来过,我这边正在写代码,请耐心等待。毕竟做开发的成本是比较高的。等有了成果后会通知您的。
好的,谢谢符老师
我写了一个初级版的程序供您测试。使用步骤如下:
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的坐标点。两者都相同了才会删除后一个,保留前一个。