SolidWorks專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 14384|回復: 18

批量開檔寫入模型組態指定之屬性

[複製鏈接]
發表於 2015/12/3 14:30:08 | 顯示全部樓層 |閱讀模式
在輸入SW檔案路徑下,批量開啟零件及組件檔,並寫入" 模型組態指定 "之屬性
是他網的練習做參考(簡體版 "配置特定",繁體版 "模型組態指定")
OpenFile_Configuration.rar (11.62 KB, 下載次數: 145) SWP檔2015/12/4 13:55更新

1.jpg



  1. '
  2. ' 在某文件路徑下批量開零件及裝配件並寫入配置特定
  3. ' 開 SW 軟件,執行 main 主程式
  4. ' sc liang 2015/12/3
  5. ' 測試版 2012 sp4
  6. '

  7. '定義變數型態
  8. Dim swApp            As SldWorks.SldWorks
  9. Dim swModel          As SldWorks.ModelDoc
  10. Dim boolstatus       As Boolean
  11. Dim Part             As Object
  12. Dim sFileName        As String
  13. Dim path             As String
  14. Dim Type_            As String
  15. Dim nErrors          As Long
  16. Dim nWarnings        As Long
  17. Dim S1               As Integer
  18. Dim S2               As Integer
  19. Dim Path_Name        As String
  20. Dim Code_Name_C      As String
  21. Dim Code_            As String
  22. Dim Name_            As String
  23. Dim strmat           As String
  24. Dim strmas           As String
  25. Dim swModelDoc       As SldWorks.ModelDoc2
  26. Dim swConfig         As SldWorks.Configuration
  27. Dim CustPropMgr      As SldWorks.CustomPropertyManager


  28. '~~~ 主程式 ~~~
  29. Sub Main()
  30.     Set swApp = Application.SldWorks
  31.     Set swModel = swApp.ActiveDoc
  32.     path = InputBox("Enter a folder path containing any Solidworks files (For example '' C:\test\ '' )", "Parts path location") '鍵入存檔路徑
  33.     sFileName = Dir(path & "*.sld*") '取出SW檔

  34. '循環開檔
  35.      Do Until sFileName = ""
  36.         Type_ = Right(sFileName, 3) '取得SW文件擴展名後三位
  37.         Select Case Type_ '判定SW文件型式
  38. '開零件檔
  39.             Case "PRT"
  40.                 Set swModel = swApp.OpenDoc6(path + sFileName, swDocPART, swOpenDocOptions_Silent, "", nErrors, nWarnings)
  41.                 Call Configuration_ '呼叫副程式
  42. '開組件檔
  43.             Case "ASM"
  44.                 Set swModel = swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent, "", nErrors, nWarnings)
  45.                 Call Configuration_ '呼叫副程式
  46.         End Select
複製代碼










發表於 2015/12/4 10:11:02 | 顯示全部樓層
感謝梁兄分享好物

點評

謝謝版主贊助  詳情 回復 發表於 2015/12/4 10:31
 樓主| 發表於 2015/12/4 10:31:28 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 10:11
感謝梁兄分享好物

謝謝版主贊助
發表於 2015/12/4 10:40:30 | 顯示全部樓層
請問梁兄這個該如何操作

我研究不出來
發表於 2015/12/4 10:49:15 | 顯示全部樓層
直接開啟巨集顯示錯誤

擷取.JPG

擷取.JPG


點評

開 SW 軟件,執行 main 主程式 開始時鼠標要在 main 主程式 之內 請問甚麼版本?  詳情 回復 發表於 2015/12/4 10:55
 樓主| 發表於 2015/12/4 10:55:04 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 10:49
直接開啟巨集顯示錯誤

開 SW 軟件,執行 main 主程式
開始時鼠標要在 main 主程式 之內

請問甚麼版本?
2.jpg
發表於 2015/12/4 11:18:23 | 顯示全部樓層
scliang 發表於 2015/12/4 10:55
開 SW 軟件,執行 main 主程式
開始時鼠標要在 main 主程式 之內

我用的是SW2015

我是這樣操作的...

未命名.jpg

以這方式選用梁兄的巨集。

巨集需要跟欲處理的檔案放置同一資料夾嗎?

點評

不需要 [attachimg]172672[/attachimg]  詳情 回復 發表於 2015/12/4 13:39
 樓主| 發表於 2015/12/4 13:39:18 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 11:18
我用的是SW2015

我是這樣操作的...

不需要,如下補加紅色兩句,找到  "工程圖"  不做存檔關檔之處理.

           Case "ASM"
                Set swModel =swApp.OpenDoc6(path + sFileName, swDocASSEMBLY, swOpenDocOptions_Silent,"", nErrors, nWarnings)
                Call Configuration_ '呼叫副程式
       End Select
       If Type_ <> "DRW" Then
       swModel.Save '存檔
       swApp.CloseDoc swModel.GetTitle '關檔
       End If
       Set swModel = Nothing
       sFileName = Dir '同路徑取出下個SW文件檔名
   Loop
End Sub



PP.gif



發表於 2015/12/4 13:45:50 | 顯示全部樓層

報告梁兄:

俺成功了!

再次感謝分享好物。

點評

謝謝支持 注意8#,請補加紅字兩句  詳情 回復 發表於 2015/12/4 13:52
 樓主| 發表於 2015/12/4 13:52:56 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 13:45
報告梁兄:

俺成功了!

謝謝支持

注意8#,請補加紅字兩句
發表於 2015/12/4 14:01:31 | 顯示全部樓層
scliang 發表於 2015/12/4 13:52
謝謝支持

注意8#,請補加紅字兩句

我這樣加完之後結果不能用,肯定是我做錯了,請問該如何做。

擷取.JPG

另外想請教,我想改成"圖號/型號 DESCRIPTION"以"空格"分,剛剛嘗試過,結果也改錯,請問該如何改。
 樓主| 發表於 2015/12/4 14:15:35 | 顯示全部樓層
"圖號/型號 DESCRIPTION"以"空格"分   上傳圖片說明較清楚
140001e63affq3yef3wfw7.jpg
發表於 2015/12/4 14:30:14 | 顯示全部樓層
scliang 發表於 2015/12/4 14:15
"圖號/型號 DESCRIPTION"以"空格"分   上傳圖片說明較清楚

紅框刪除後,正常沒錯誤了。

擷取.JPG
檔案名稱以空格來區隔"圖號/型號"及"DESCRIPTION"

點評

道理是一樣的, 本主題是寫入 "模型組態指定" 和寫入 "自訂"屬性指令會有差異.  詳情 回復 發表於 2015/12/4 17:14
 樓主| 發表於 2015/12/4 17:14:39 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 14:30
紅框刪除後,正常沒錯誤了。

道理是一樣的,
本主題是寫入 "模型組態指定" 和寫入 "自訂"屬性指令會有差異.
發表於 2015/12/4 17:27:07 | 顯示全部樓層
scliang 發表於 2015/12/4 17:14
道理是一樣的,
本主題是寫入 "模型組態指定" 和寫入 "自訂"屬性指令會有差異. ...

我有試著將_改成空格、代號改成圖號/型號...,改完之後不能執行了

點評

依據13#之巨集,參考了!  詳情 回復 發表於 2015/12/4 20:53
 樓主| 發表於 2015/12/4 20:53:24 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 17:27
我有試著將_改成空格、代號改成圖號/型號...,改完之後不能執行了

依據13#之巨集,參考了!
OpenFile_Configuration.swp (59 KB, 下載次數: 107)
發表於 2015/12/4 21:14:11 | 顯示全部樓層
scliang 發表於 2015/12/4 20:53
依據13#之巨集,參考了!

梁兄佛心來著!

竟然幫我完整修改好,非常感謝。

試用過順利運行無誤,我比對原版跟修改版應該就能找出如何修改了,日後便可輕鬆增減。

點評

不謝,使用愉快!  詳情 回復 發表於 2015/12/4 21:34
 樓主| 發表於 2015/12/4 21:34:52 | 顯示全部樓層
臭臉翔 發表於 2015/12/4 21:14
梁兄佛心來著!

竟然幫我完整修改好,非常感謝。

不謝,使用愉快!
發表於 2015/12/5 09:43:15 | 顯示全部樓層
修改的成果

2015-12-05_09-42-13.jpg

2015-12-05_09-41-49.jpg
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版上論壇|論壇來自幾何科技 論壇架構版次 20240312

GMT+8, 2024/4/26 11:44 , Processed in 0.268839 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表