20cr 发表于 2014-11-21 11:54:47

求问一个困扰已久的问题,cad快速选择的代码

在ug 或者proe导出二维图用cad进行编辑,可以用快速选择工具进行选择,线宽和颜色,进行相关的图形选择。

基本上每次导图都要重新选择,重复性的操作比较多,我想问问 关于这方面的 代码vba能不能实现。

比如对整体图形界面的绿色的线进行选择,然后吧绿色的线改成白色的线,并加粗到0.5mm。

wwswwswws 发表于 2014-11-24 16:25:42

先全选所有实体,在当前选择集中,把你需要的线型和其需要的颜色的对象進行白色和加粗处理,其余对象略过不处理就可以了。

chen2j 发表于 2014-12-22 22:47:45

咱俩要实现的功能类似,你这个我刚刚实现了,改天我把代码传上来。不复杂。

chen2j 发表于 2015-1-6 22:08:48

用遍历功能:                Dim ent As Object
                Dim moSpace As Object
                Set moSpace = ThisDrawing.ModelSpace
                For Each ent In moSpace
               
                     If ent.Linetype = "CENTER" Then
                        ent.Layer = "中心线层_bychen"
                        ent.color = acByLayer
                        ent.Lineweight = acLnWtByLwDefault
                        ent.Update
                  End If
                  
                  If ent.color = acWhite Or ent.color = acGreen Then
                        ent.Layer = "粗实线层_bychen"
                        ent.color = acByLayer
                        'ent.Linetype = acByLayer
                        ent.Lineweight = acLnWt035
                        ent.Update
                  End If
                  
                Next

20cr 发表于 2017-11-27 14:27:39

chen2j 发表于 2015-1-6 22:08
用遍历功能:

这位兄台,我经过3年的学习,基本上实现了这个功能,差不多就是你的这个思路做的。
谢谢你的回复。

dong20030432 发表于 2018-1-10 13:59:44

20cr 发表于 2017-11-27 14:27
这位兄台,我经过3年的学习,基本上实现了这个功能,差不多就是你的这个思路做的。
谢谢你的回复。

一个问题能花三年时间去研究,佩服!
遍历整个模型空间对象方法一般效率比较低,最好还是用选择集过滤方法选择出所要的对象,再进行选择集内的遍历。
页: [1]
查看完整版本: 求问一个困扰已久的问题,cad快速选择的代码