翔羽 发表于 2007-10-29 21:30:00

请问用vba如何判断一个cad图形中的两个实体完全重合?

<p>在一张cad图形中,如何判断实体对象重合并删掉多余的对象?</p><p>举个例子:我在cad中用line命令从原点(0,0)到点(100,100)绘制了一根直线,我再用line命令从原点(0,0)到点(100,100)绘制了另外一根直线,也就是说这两根直线完全重合了。本人想要达到的目的是:在vba中框选了这两根直线,怎么样判断这两根直线是重合的?并且怎么样用程序删掉多余的重合的对象,而只保留其中的一个对象?</p><p>我现在手中有一张cad图纸,其中里面有很多对象是完全重合的,比如;一根直线就重合了四五次,有的多段线也重合了两三次,有的文字也重合了好几次,本人需要做的工作是删掉多余的重复的对象,而只保留一个这样的对象。而这样手工操作起来很繁琐,打算想用vba来实现这样的操作,不知道可行不?请各位高手多指教!!谢谢~</p>

翔羽 发表于 2007-10-30 21:22:00

<p>顶一下~~</p>

sody 发表于 2007-10-31 17:05:00

<p>如果是完全重合,用VBA 的LINE对象的属性匹配就可以筛选出来</p><p>构思是用acSelectionSetCrossing自动选到一些直线然后判断顶点是否相同</p><p>是的话OBJECT.DELET就可以了</p>

翔羽 发表于 2007-11-2 23:01:00

<p>谢谢答复!!</p><p>用VBA 的LINE对象的属性匹配就可以筛选出来?没有明白什么意思,能讲得更加详细一点吗?</p><p>另外重合的对象不一定都是直线,还有多段线,文字等等~</p>

offloading 发表于 2008-12-12 17:08:00

怎么没有答复了?

cqy 发表于 2008-12-12 18:16:00

直线和字可提取到EXCEL,重复的删除再导入。

fjfhgdwfn 发表于 2008-12-12 22:15:00

消除重复对象可以用ET扩展工具。命令是OVERKILL,根据要求进行设置即可。<br/>

tjdxtm 发表于 2009-5-30 16:49:00

OVERKILL,我用了一下,还不错

tnt1095 发表于 2009-5-31 10:23:00

<p>学了一招,我通常是根据一定得原则建立拓扑关系,建立好后,重复、自相交等一目了然,一下就删除了。</p>

coverne 发表于 2015-5-20 09:45:31

tnt1095 发表于 2009-5-31 10:23 static/image/common/back.gif
学了一招,我通常是根据一定得原则建立拓扑关系,建立好后,重复、自相交等一目了然,一下就删除了。

高手能说的详细一点么,多谢了
页: [1] 2
查看完整版本: 请问用vba如何判断一个cad图形中的两个实体完全重合?