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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10543|回复: 26
打印 上一主题 下一主题

有没有检测螺纹孔和沉头孔的宏

  [复制链接]

3

主题

22

帖子

239

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
449

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

跳转到指定楼层
楼主
 楼主| 发表于 2023-9-5 13:29:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

使用道具 举报

5

主题

35

帖子

140

金币

堂主

Rank: 4

积分
887

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

推荐
发表于 2023-9-13 12:25:08 | 只看该作者
有没有检测螺纹孔和沉头孔的宏,孔检查  
不知道是不是这意思

Snipaste_2023-09-13_12-20-55.png

Solidworks孔特征上色.rar

(9.27 KB, 下载次数: 234

SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

0

主题

439

帖子

438

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2744

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

板凳
发表于 2023-9-6 08:04:02 | 只看该作者

   经典图书
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

1333

帖子

276

金币

传奇

Rank: 8Rank: 8

积分
4664

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

地板
发表于 2023-9-6 11:18:40 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

26

帖子

122

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
211
QQ
5#
发表于 2023-9-8 17:05:04 | 只看该作者

   经典案例图书
很不错,找到组织了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

511

帖子

649

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2911

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

6#
发表于 2023-9-11 17:24:18 | 只看该作者
很不错,找到组织了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

35

帖子

140

金币

堂主

Rank: 4

积分
887

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

7#
发表于 2023-9-13 12:20:12 | 只看该作者

   经典案例图书
Option Explicit
Dim swApp As Object
Dim swModelDoc, myModelDoc As ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim cyDict As Object

Sub main()
Set cyDict = CreateObject("Scripting.Dictionary")

cyDict.Add "M1.6", 110      'R+G
cyDict.Add "M2", 11         'G+B
cyDict.Add "M2.5", 101      'R+B
cyDict.Add "M3", 100        'R
cyDict.Add "M4", 10         'G
cyDict.Add "M5", 1          'B
cyDict.Add "M6", 110        'R+G
cyDict.Add "M8", 11         'G+B
cyDict.Add "M10", 101       'R+B
cyDict.Add "M12", 100       'R
cyDict.Add "M14", 10        'G
cyDict.Add "M16", 1         'B
cyDict.Add "M20", 110       'R+G
cyDict.Add "M24", 11        'G+B
cyDict.Add "M30", 101       'R+B

Set swApp = Application.SldWorks
Set swModelDoc = swApp.ActiveDoc
If swModelDoc Is Nothing Then
ElseIf swModelDoc.GetType = swDocASSEMBLY Then
ElseIf swModelDoc.GetType = swDocPART Then
Set myModelDoc = swModelDoc
colorModelDoc myModelDoc
swModelDoc.ForceRebuild3 False
End If
End Sub

Sub colorModelDoc(myModelDoc As SldWorks.ModelDoc2)

Dim swPartDoc As PartDoc
Dim swFeature As Feature
Set swPartDoc = myModelDoc
Set swFeature = swPartDoc.FirstFeature
Dim swSelMgr As SelectionMgr
Dim strHoleSize As String
While Not swFeature Is Nothing
If swFeature.IsSuppressed = False Then
If swFeature.GetTypeName2 = "HoleWzd" Then
Dim swHolewzddata As WizardHoleFeatureData2
Set swHolewzddata = swFeature.GetDefinition
If cyDict.exists(swHolewzddata.FastenerSize) Then
Dim vMatPrps As Variant
vMatPrps = swFeature.GetMaterialPropertyValues2(swThisConfiguration, "")
vMatPrps(0) = cyDict.Item(swHolewzddata.FastenerSize) * 0.01 Mod 10
vMatPrps(1) = cyDict.Item(swHolewzddata.FastenerSize) * 0.1 Mod 10
vMatPrps(2) = cyDict.Item(swHolewzddata.FastenerSize) Mod 10
vMatPrps(3) = 1
vMatPrps(4) = 1
vMatPrps(5) = 1
vMatPrps(6) = 1
vMatPrps(7) = 0
vMatPrps(8) = 1
swFeature.SetMaterialPropertyValues2 vMatPrps, swThisConfiguration, ""
End If
End If
End If
Set swFeature = swFeature.GetNextFeature
Wend
End Sub

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

35

帖子

140

金币

堂主

Rank: 4

积分
887

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

8#
发表于 2023-9-13 12:22:12 | 只看该作者
  1. Option Explicit
  2. Dim swApp As Object
  3. Dim swModelDoc, myModelDoc As ModelDoc2
  4. Dim boolstatus As Boolean
  5. Dim longstatus As Long, longwarnings As Long
  6. Dim cyDict As Object

  7. Sub main()
  8. Set cyDict = CreateObject("Scripting.Dictionary")

  9. cyDict.Add "M1.6", 110      'R+G
  10. cyDict.Add "M2", 11         'G+B
  11. cyDict.Add "M2.5", 101      'R+B
  12. cyDict.Add "M3", 100        'R
  13. cyDict.Add "M4", 10         'G
  14. cyDict.Add "M5", 1          'B
  15. cyDict.Add "M6", 110        'R+G
  16. cyDict.Add "M8", 11         'G+B
  17. cyDict.Add "M10", 101       'R+B
  18. cyDict.Add "M12", 100       'R
  19. cyDict.Add "M14", 10        'G
  20. cyDict.Add "M16", 1         'B
  21. cyDict.Add "M20", 110       'R+G
  22. cyDict.Add "M24", 11        'G+B
  23. cyDict.Add "M30", 101       'R+B

  24. Set swApp = Application.SldWorks
  25. Set swModelDoc = swApp.ActiveDoc
  26. If swModelDoc Is Nothing Then
  27. ElseIf swModelDoc.GetType = swDocASSEMBLY Then
  28. ElseIf swModelDoc.GetType = swDocPART Then
  29. Set myModelDoc = swModelDoc
  30. colorModelDoc myModelDoc
  31. swModelDoc.ForceRebuild3 False
  32. End If
  33. End Sub

  34. Sub colorModelDoc(myModelDoc As SldWorks.ModelDoc2)

  35. Dim swPartDoc As PartDoc
  36. Dim swFeature As Feature
  37. Set swPartDoc = myModelDoc
  38. Set swFeature = swPartDoc.FirstFeature
  39. Dim swSelMgr As SelectionMgr
  40. Dim strHoleSize As String
  41. While Not swFeature Is Nothing
  42. If swFeature.IsSuppressed = False Then
  43. If swFeature.GetTypeName2 = "HoleWzd" Then
  44. Dim swHolewzddata As WizardHoleFeatureData2
  45. Set swHolewzddata = swFeature.GetDefinition
  46. If cyDict.exists(swHolewzddata.FastenerSize) Then
  47. Dim vMatPrps As Variant
  48. vMatPrps = swFeature.GetMaterialPropertyValues2(swThisConfiguration, "")
  49. vMatPrps(0) = cyDict.Item(swHolewzddata.FastenerSize) * 0.01 Mod 10
  50. vMatPrps(1) = cyDict.Item(swHolewzddata.FastenerSize) * 0.1 Mod 10
  51. vMatPrps(2) = cyDict.Item(swHolewzddata.FastenerSize) Mod 10
  52. vMatPrps(3) = 1
  53. vMatPrps(4) = 1
  54. vMatPrps(5) = 1
  55. vMatPrps(6) = 1
  56. vMatPrps(7) = 0
  57. vMatPrps(8) = 1
  58. swFeature.SetMaterialPropertyValues2 vMatPrps, swThisConfiguration, ""
  59. End If
  60. End If
  61. End If
  62. Set swFeature = swFeature.GetNextFeature
  63. Wend
  64. End Sub
复制代码

Snipaste_2023-09-13_12-20-55.png
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

1333

帖子

276

金币

传奇

Rank: 8Rank: 8

积分
4664

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

9#
发表于 2023-9-13 13:37:07 | 只看该作者
楼主太有才了,膜拜中……
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

22

帖子

239

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
449

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

10#
 楼主| 发表于 2023-9-13 17:25:35 | 只看该作者

   经典图书

首先感谢坛友回复,感谢!
  
机械工程师在打孔的时候,经常把孔打错,比如,下面板子上是M5牙孔,上面板子上是m5沉头孔,结果会把两个孔搞错掉,如一个是M5,一个是M6,,我想可以自动检查这俩个孔是不是匹配的
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

22

帖子

239

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
449

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

11#
 楼主| 发表于 2023-9-13 17:29:07 | 只看该作者
xieguiming1982 发表于 2023-9-13 12:25
有没有检测螺纹孔和沉头孔的宏,孔检查  
不知道是不是这意思

首先感谢您的回复

比如上面板子上是M5沉头,下面一块板是M5牙孔,这两块个孔会错,不匹配,想自动检查这两个孔是不是匹配的
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

26

帖子

738

金币

VIP用户组

Rank: 100Rank: 100Rank: 100Rank: 100

积分
2130

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

12#
发表于 2023-9-16 10:36:18 | 只看该作者
lengqiao 发表于 2023-9-13 17:29
首先感谢您的回复

比如上面板子上是M5沉头,下面一块板是M5牙孔,这两块个孔会错,不匹配,想自动检查 ...

如果用楼主这个宏,也不是不可以。如果两个零件孔位的颜色一致,证明尺寸是一样大小的了。换个角度看一下。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

31

主题

221

帖子

459

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2115

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

13#
发表于 2023-9-17 19:41:34 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

22

帖子

239

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
449

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

14#
 楼主| 发表于 2023-9-19 10:14:25 | 只看该作者
changfeng1229 发表于 2023-9-16 10:36
如果用楼主这个宏,也不是不可以。如果两个零件孔位的颜色一致,证明尺寸是一样大小的了。换个角度看一下 ...

这个宏咋用的点了没反应呢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

31

主题

221

帖子

459

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2115

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

15#
发表于 2023-9-19 19:00:58 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

xieguiming1982 发表于 2023-9-13 12:25
有没有检测螺纹孔和沉头孔的宏,孔检查  
不知道是不是这意思

装配体能不能用?
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

1994

帖子

1696

金币

传奇

Rank: 8Rank: 8

积分
8219

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

16#
发表于 2023-9-20 08:32:21 | 只看该作者

   经典案例图书
活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

291

帖子

561

金币

实习版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
1872

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

17#
发表于 2023-9-30 12:58:50 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

很不错,找到组织了!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

10

主题

462

帖子

895

金币

传奇

Rank: 8Rank: 8

积分
5062

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

18#
发表于 2024-1-20 08:18:06 | 只看该作者

   经典案例图书
xieguiming1982 发表于 2023-9-13 12:25
有没有检测螺纹孔和沉头孔的宏,孔检查  
不知道是不是这意思

能不能改成对应牙孔对应底孔改颜色,意思是M6是φ5.2的孔就一个颜色,因为接收别人的实体图,孔特征是没有的。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

8

主题

565

帖子

132

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1816

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

19#
发表于 2024-3-6 20:10:08 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

233

帖子

286

金币

堂主

Rank: 4

积分
879

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

20#
发表于 2024-3-9 17:40:27 | 只看该作者
SolidWorks机械工程师网,顶一下。
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

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

手机版|小黑屋| GMT+8, 2024-9-21 08:44 , Processed in 0.410793 second(s), 23 queries , Memcache On.

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

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

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