明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 823|回复: 5

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

[复制链接]
发表于 2014-11-21 11:54 | 显示全部楼层 |阅读模式
在ug 或者proe导出二维图用cad进行编辑,可以用快速选择工具进行选择,线宽和颜色,进行相关的图形选择。

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

比如对整体图形界面的绿色的线进行选择,然后吧绿色的线改成白色的线,并加粗到0.5mm。
发表于 2014-11-24 16:25 | 显示全部楼层
先全选所有实体,在当前选择集中,把你需要的线型和其需要的颜色的对象進行白色和加粗处理,其余对象略过不处理就可以了。
发表于 2014-12-22 22:47 | 显示全部楼层
咱俩要实现的功能类似,你这个我刚刚实现了,改天我把代码传上来。不复杂。
发表于 2015-1-6 22:08 | 显示全部楼层
用遍历功能:
  1.                 Dim ent As Object
  2.                 Dim moSpace As Object
  3.                 Set moSpace = ThisDrawing.ModelSpace
  4.                 For Each ent In moSpace
  5.                
  6.                      If ent.Linetype = "CENTER" Then
  7.                         ent.Layer = "中心线层_bychen"
  8.                         ent.color = acByLayer
  9.                         ent.Lineweight = acLnWtByLwDefault
  10.                         ent.Update
  11.                     End If
  12.                     
  13.                     If ent.color = acWhite Or ent.color = acGreen Then
  14.                         ent.Layer = "粗实线层_bychen"
  15.                         ent.color = acByLayer
  16.                         'ent.Linetype = acByLayer
  17.                         ent.Lineweight = acLnWt035
  18.                         ent.Update
  19.                     End If
  20.                     
  21.                 Next
 楼主| 发表于 2017-11-27 14:27 | 显示全部楼层

这位兄台,我经过3年的学习,基本上实现了这个功能,差不多就是你的这个思路做的。
谢谢你的回复。
发表于 2018-1-10 13:59 | 显示全部楼层
20cr 发表于 2017-11-27 14:27
这位兄台,我经过3年的学习,基本上实现了这个功能,差不多就是你的这个思路做的。
谢谢你的回复。

一个问题能花三年时间去研究,佩服!
遍历整个模型空间对象方法一般效率比较低,最好还是用选择集过滤方法选择出所要的对象,再进行选择集内的遍历。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号  
©2000-2017 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2018-4-27 16:37 , Processed in 0.164211 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表