SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 544|回复: 4
打印 上一主题 下一主题

求一个删除颜色宏

  [复制链接]

7

主题

28

帖子

17

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
299

最佳新人活跃会员宣传达人

跳转到指定楼层
楼主
 楼主| 发表于 2025-3-2 20:46:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
30金币
对选中的零件或装配体的面的颜色进行清除  移除外观操作   保留材质原设定颜色

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

1

主题

12

帖子

102

金币

天使

Rank: 2Rank: 2

积分
176
QQ
沙发
发表于 2025-3-3 10:52:37 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

7

主题

22

帖子

526

金币

堂主

Rank: 4

积分
877
QQ
板凳
发表于 2025-3-3 11:02:05 | 只看该作者

   经典图书
  1. Option Explicit

  2. Sub Main()
  3.     Dim swApp As SldWorks.SldWorks
  4.     Dim swModel As SldWorks.ModelDoc2
  5.     Dim swPart As SldWorks.PartDoc
  6.     Dim swComp As SldWorks.Component2
  7.     Dim vBodies As Variant
  8.     Dim vComps As Variant
  9.     Dim i As Integer
  10.    
  11.     Set swApp = Application.SldWorks
  12.     Set swModel = swApp.ActiveDoc
  13.    
  14.     If Not swModel Is Nothing Then
  15.         Select Case swModel.GetType
  16.             Case swDocumentTypes_e.swDocPART
  17.                 ' 处理零件文件
  18.                 Set swPart = swModel
  19.                 vBodies = swPart.GetBodies2(swBodyType_e.swAllBodies, True)
  20.                 If Not IsEmpty(vBodies) Then
  21.                     For i = 0 To UBound(vBodies)
  22.                         Dim swBody As SldWorks.Body2
  23.                         Set swBody = vBodies(i)
  24.                         ' 清除实体颜色覆盖
  25.                         swBody.SetMaterialPropertyName ""
  26.                         swBody.ClearBodyColor
  27.                     Next
  28.                 End If
  29.                 ' 清除所有面颜色覆盖
  30.                 ClearFaceColors swModel
  31.                
  32.             Case swDocumentTypes_e.swDocASSEMBLY
  33.                 ' 处理装配体文件
  34.                 vComps = swModel.GetComponents(True)
  35.                 If Not IsEmpty(vComps) Then
  36.                     For i = 0 To UBound(vComps)
  37.                         Set swComp = vComps(i)
  38.                         Set swModel = swComp.GetModelDoc2
  39.                         If Not swModel Is Nothing Then
  40.                             ' 递归处理子组件
  41.                             ClearFaceColors swModel
  42.                             swModel.ForceRebuild3 True
  43.                         End If
  44.                     Next
  45.                 End If
  46.         End Select
  47.         
  48.         ' 刷新视图
  49.         swModel.GraphicsRedraw2
  50.         MsgBox "颜色覆盖已清除!", vbInformation
  51.     Else
  52.         MsgBox "请打开一个零件或装配体文件!", vbExclamation
  53.     End If
  54. End Sub

  55. ' 清除所有面的颜色覆盖
  56. Sub ClearFaceColors(model As SldWorks.ModelDoc2)
  57.     Dim swFace As SldWorks.Face2
  58.     Dim swEntity As SldWorks.Entity
  59.     Dim swModelExt As SldWorks.ModelDocExtension
  60.    
  61.     Set swModelExt = model.Extension
  62.    
  63.     ' 遍历所有面并清除颜色
  64.     Set swEntity = model.FirstFace
  65.     While Not swEntity Is Nothing
  66.         Set swFace = swEntity
  67.         swFace.SetFaceColor Nothing  ' 清除面颜色覆盖
  68.         Set swEntity = swEntity.GetNextFace
  69.     Wend
  70.    
  71.     ' 清除全局实体颜色覆盖
  72.     swModelExt.ClearEntityColor swColorEntityType_e.swColorFaces
  73.     swModelExt.ClearEntityColor swColorEntityType_e.swColorBodies
  74. End Sub
复制代码


SolidWorks机械工程师网
回复

使用道具 举报

7

主题

28

帖子

17

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
299

最佳新人活跃会员宣传达人

地板
 楼主| 发表于 2025-3-3 22:46:50 | 只看该作者

对选中面进行操作  不所有的面
SolidWorks机械工程师网
回复

使用道具 举报

1

主题

699

帖子

479

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2100

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
发表于 昨天 10:31 | 只看该作者

   经典案例图书
很不错,顶一下!
SolidWorks机械工程师网
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2025-5-23 19:56 , Processed in 0.245017 second(s), 21 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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