找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 5786|回复: 5
打印 上一主题 下一主题

[求助] 关于批量修改零件属性的问题

[复制链接]
跳转到指定楼层
1
发表于 2016-12-14 15:55:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 xiaoxifeng 于 2016-12-14 15:58 编辑
  1. '
  2. 'Dim swDM As SwDMApplication
  3. 'Dim swDoc As SwDMDocument12
  4. 'Dim mOpenErrors As SwDmDocumentOpenError
  5. 'Dim swCfgMgr As SwDMConfigurationMgr
  6. 'Dim objClassfac As SwDMClassFactory
  7. 'Const SWDMLicenseKey = "C45DA6BCACBC9A3864AD7ACAB1C78A17EE34AFA74DDAFF6E"

  8. Sub 打开文件()
  9. Range("A3").Activate
  10. 'Set objClassfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
  11. 'Set swDM = objClassfac.GetApplication(SWDMLicenseKey) '啟動SWDM
  12. Set swApp = CreateObject("SldWorks.Application") '启动SW
  13. Dim intChoice As Integer
  14. Dim FilePathName As String
  15. Dim i As Integer
  16. HeaderRow = 2
  17. RowNumber = 3
  18. PathName = Cells(RowNumber, 1) '讀取第一個路徑的值
  19. While Not (PathName = "" Or PathName = 0 Or IsEmpty(PathName)) '直到讀完路徑欄(尋找繼續填寫的位置)
  20.     RowNumber = RowNumber + 1 '下一列
  21.     PathName = Cells(RowNumber, 1)
  22. Wend '回到>直到讀完路徑欄
  23. Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = True '設定為多選對話框
  24. Application.FileDialog(msoFileDialogFilePicker).Filters.Clear '清除既有類型
  25. Application.FileDialog(msoFileDialogFilePicker).Filters.Add "零件自定义属性", "*.SLDPRT" '設定檔案類型
  26. Application.FileDialog(msoFileDialogFilePicker).Filters.Add "零件配置属性", "*.SLDPRT" '設定檔案類型
  27. Application.FileDialog(msoFileDialogFilePicker).Filters.Add "装配体自定义属性", "*.SLDASM" '設定檔案類型
  28. Application.FileDialog(msoFileDialogFilePicker).Filters.Add "装配体配置属性", "*.SLDASM" '設定檔案類型
  29. Application.FileDialog(msoFileDialogFilePicker).Filters.Add "工程图属性", "*.SLDDRW" '設定檔案類型
  30. If Cells(1, 1) = 1 Or Cells(1, 1) = 2 Or Cells(1, 1) = 3 Or Cells(1, 1) = 4 Or Cells(1, 1) = 5 Then
  31.     Application.FileDialog(msoFileDialogFilePicker).FilterIndex = Cells(1, 1)
  32. End If
  33. If Cells(1, 2) <> "" Then Application.FileDialog(msoFileDialogFilePicker).InitialFileName = Cells(1, 2)
  34. intChoice = Application.FileDialog(msoFileDialogFilePicker).Show '彈出對話框

  35. If intChoice <> 0 Then '判斷有否點選檔案
  36.     RowCount = 1
  37.     swFilterIndex = Application.FileDialog(msoFileDialogFilePicker).FilterIndex
  38.     For i = 1 To Application.FileDialog(msoFileDialogFilePicker).SelectedItems.Count '逐一讀取所選檔案
  39.         FilePathName = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(i) '讀取完整檔案名稱
  40.         FilePath = Left(FilePathName, InStrRev(FilePathName, "")) '分解路徑
  41.         Filename = Right(FilePathName, Len(FilePathName) - Len(FilePath)) '分解檔案名稱
  42.         FileExtname = UCase(Right(FilePathName, 6)) '分解檔案類型
  43.         If swFilterIndex = 1 Or swFilterIndex = 3 Or swFilterIndex = 5 Then
  44.             Cells(RowCount + RowNumber - 1, 1) = FilePath '填寫路徑
  45.             Cells(RowCount + RowNumber - 1, 2) = Filename '填寫檔案名稱
  46.             RowCount = RowCount + 1
  47.         End If
  48.         If swFilterIndex = 2 Or swFilterIndex = 4 Then '過濾器是2或4
  49.             Set swDoc = swDM.GetDocument(PathName & Filename, swFileTYpe, False, mOpenErrors) '開啟檔案
  50.             
  51.             If Not swDoc Is Nothing Then '排除無效檔案
  52.                 Set swCfgMgr = swDoc.ConfigurationManager
  53.                 swConfigNames = swCfgMgr.GetConfigurationNames
  54.                 ConfigColor = 200
  55.                 For Each swConfigName In swConfigNames
  56.                     Cells(RowCount + RowNumber - 1, 1) = FilePath '填寫路徑
  57.                     Cells(RowCount + RowNumber - 1, 2) = Filename '填寫檔案名稱
  58.                     Cells(RowCount + RowNumber - 1, 3).NumberFormatLocal = "@" '设为“文本”格式
  59.                     Cells(RowCount + RowNumber - 1, 3) = swConfigName '填寫模型組態名稱
  60.                     Cells(RowCount + RowNumber - 1, 3).Errors.Item(xlNumberAsText).Ignore = True '去除三角错误
  61.                     Cells(RowCount + RowNumber - 1, 3).Interior.Color = RGB(ConfigColor, ConfigColor, ConfigColor)

  62.                     RowCount = RowCount + 1
  63.                 Next
  64.                 swDoc.CloseDoc '關閉檔案
  65.             End If '排除無效檔案<完>
  66.         End If ''過濾器是2或4<完>
  67.     Next i '逐一讀取所選檔案<完>
  68. End If '判斷有否點選檔案<完>
  69. End Sub
复制代码

上面这段代码,要怎么改才能不用启动SWDM,而是改为启动SW就可以执行呢?请高手帮我看看吧
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2016-12-14 17:05:21 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
3
 楼主| 发表于 2016-12-14 17:10:58 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
4
发表于 2016-12-17 13:08:25 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
5
 楼主| 发表于 2016-12-17 13:40:55 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
6
发表于 2016-12-23 14:08:48 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

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

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-11-15 04:57 , Processed in 0.028645 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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