SolidWorks專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 40005|回復: 33

【討論】ISWXL 互動工具

[複製鏈接]
發表於 2017/8/23 12:31:05 | 顯示全部樓層 |閱讀模式
由於今天玩家論壇有故障, 無法討論, 故此暫時轉移陣地, 在專門論壇先討論一下.

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
發表於 2017/8/23 13:41:15 | 顯示全部樓層
在Rename模式,插入縮略圖時,會產生“丟失”現象;是“緩衝加速”的後遺症?還是俺操作有誤造成的?


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x

點評

正常的, 情況就是過去悶人所說的“緩衝加速後遺症”. 與Preview按鈕的運行原理並不相同. Rename的Preview是調用SldWorks對象來獲取bmp, 亦即是在電腦(檔案總管)看到的預覽圖, 間中SW儲存檔案時會有丟失預覽圖的情  詳情 回復 發表於 2017/8/23 14:50
發表於 2017/8/23 14:07:04 | 顯示全部樓層
執行SaveAll與CloseAll指令時,會產生錯誤;
初步懷疑是"檔案名稱與副檔名"分離造成的;
有嘗試著修改,還是沒能成功;

點評

謝謝benson同學 改為以下代碼即可解決  詳情 回復 發表於 2017/8/23 14:11
 樓主| 發表於 2017/8/23 14:11:29 | 顯示全部樓層
benson2013 發表於 2017/8/23 14:07
執行SaveAll與CloseAll指令時,會產生錯誤;
初步懷疑是"檔案名稱與副檔名"分離造成的;
有嘗試著修改,還 ...

謝謝benson同學
改為以下代碼即可解決
  1. Function SaveallFunction()
  2. RowNumber = HeaderRow + 1
  3. PathName = Cells(RowNumber, HeaderPath) & ""
  4. While Not (PathName = "")
  5.     RowNumber = RowNumber + 1
  6.     PathName = Cells(RowNumber, HeaderPath)
  7. Wend
  8. For i = RowNumber - 1 To HeaderRow + 1 Step -1
  9.     If CursorVerticalFollow Then Cells(i, HeaderPath).Select
  10.     PathName = Cells(i, HeaderPath) & ""
  11. '    FileName = Cells(i, HeaderFileName) & ""
  12.     FileName = Cells(i, HeaderFileName) & Cells(i, HeaderExtension)
  13.     If FileName <> Cells(i - 1, HeaderFileName) & "" Then
  14.         FileExtName = UCase(Right(FileName, 6))
  15.         If "SLDPRT" = FileExtName Then swFileType = 1
  16.         If "SLDASM" = FileExtName Then swFileType = 2
  17.         If "SLDDRW" = FileExtName Then swFileType = 3
  18.         If "SLDLFP" = FileExtName Then swFileType = 1
  19.         Set swDoc = swApp.OpenDoc(PathName & FileName, swFileType)
  20.         Dim lErrors As Long
  21.         Dim lWarnings As Long
  22.         swDoc.Save3 9, lErrors, lWarnings         '8 = AvoidRebuildOnSave, 1 = Silent
  23.     End If
  24.     Cells(i, HeaderPath).Interior.Color = RGB(255, 176, 112)
  25. Next
  26. End Function
複製代碼
 樓主| 發表於 2017/8/23 14:50:41 | 顯示全部樓層
benson2013 發表於 2017/8/23 13:41
在Rename模式,插入縮略圖時,會產生“丟失”現象;是“緩衝加速”的後遺症?還是俺操作有誤造成的?

正常的, 情況就是過去悶人所說的“緩衝加速後遺症”.

與Preview按鈕的運行原理並不相同.

Rename的Preview是調用SldWorks對象來獲取bmp,
亦即是在電腦(檔案總管)看到的預覽圖,
間中SW儲存檔案時會有丟失預覽圖的情況,
當在外圍看不到, 這個Rename也抓不到的.

而Preview按鈕是調用ModelDoc2對象來輸出bmp,
無論檔案是什麼版本, 只要可以開啟, 就能輸出bmp作縮圖之用.

關鍵就是速度, "輸出"比"獲取"緩慢很多, "獲取"基本上無需運算,
但若沒有事先準備好資料準備(緩衝), 那就得不到想要的結果, 亦即是“緩衝加速失敗”.

為什麼採取兩種不同的縮圖方式在同一個工具內?
1. 表面上是一個工具, 其實只不過是把兩個工具硬生生合併起來的.
2. 基本上Rename是無需縮圖, 因為用得上批量修改的檔案名稱必有規範, 無需逐一看樣子來改名, 如果真的要逐一改名, 倒不如回歸基本步, 按右鍵來改名.
3. 慢總比錯的好, 緩衝在檔案面層的圖片, 可能不是最新近的樣子, 是之前某次儲存時所緩衝所遺留下來的, 而且該圖片是不支持模型組態(這是SW2014的情況).

點評

謝謝悶大的詳細教學(good的表情符); 俺明白啦。  詳情 回復 發表於 2017/8/23 15:17
發表於 2017/8/23 15:17:10 | 顯示全部樓層
Francis 發表於 2017/8/23 14:50
正常的, 情況就是過去悶人所說的“緩衝加速後遺症”.

與Preview按鈕的運行原理並不相同.

謝謝悶大的詳細教學(good的表情符);
俺明白啦。
ps;事先準備好資料後,測試可行;



點評

有請benson同學幫忙列舉更新的地方, 先謝謝了!  詳情 回復 發表於 2017/8/23 15:43
 樓主| 發表於 2017/8/23 15:43:53 | 顯示全部樓層
benson2013 發表於 2017/8/23 15:17
謝謝悶大的詳細教學(good的表情符);
俺明白啦。
ps;事先準備好資料後,測試可行;

有請benson同學幫忙列舉更新的地方, 先謝謝了!

點評

俺先準備吧(還是整合到玩家論壇較為理想) 到時如有遺漏,再請各位大大補充。  詳情 回復 發表於 2017/8/23 15:47
發表於 2017/8/23 15:47:30 | 顯示全部樓層
Francis 發表於 2017/8/23 15:43
有請benson同學幫忙列舉更新的地方, 先謝謝了!

俺先準備吧(還是整合到玩家論壇較為理想)
到時如有遺漏,再請各位大大補充。

點評

當然了吧. 難不成給同學一個炫耀的機會也不行?  詳情 回復 發表於 2017/8/23 16:05
 樓主| 發表於 2017/8/23 16:05:45 | 顯示全部樓層
benson2013 發表於 2017/8/23 15:47
俺先準備吧(還是整合到玩家論壇較為理想)
到時如有遺漏,再請各位大大補充。
...

當然了吧.

難不成給同學一個炫耀的機會也不行?
發表於 2017/8/23 20:19:00 | 顯示全部樓層
可能俺操作有問題,目前測試過程中有遇到問題
不知道各位大大測試過程中是否順利?

點評

就當幫幫悶人改善工具吧, 有什麼問題也不放提出來, 畢竟28同學(benson2013)是班長, 有特許提問權的.  詳情 回復 發表於 2017/8/23 21:07
 樓主| 發表於 2017/8/23 21:07:27 | 顯示全部樓層
benson2013 發表於 2017/8/23 20:19
可能俺操作有問題,目前測試過程中有遇到問題
不知道各位大大測試過程中是否順 ...

就當幫幫悶人改善工具吧, 有什麼問題也不放提出來,
畢竟28同學(benson2013)是班長, 有特許提問權的.
發表於 2017/8/23 21:15:34 | 顯示全部樓層
這個版本多了好多功能、更有Options視窗可以快速設定!
為了能夠讓之前沒有參與過討論、或沒有使用過的朋友們,更快地了解此工具的強大!
因為小弟的英文不好(好多生字呀~)
所以小弟以之前使用互動工具的經驗及對SW繁中版的認識,配合英漢字典,對此Excel SW-API的Options做了粗淺的翻譯。
希望大家一起來使用、一起來"debug"呀~

Curosr vertical follow 光標垂直跟隨
Cursor horizontal follow 光標水平跟隨
GetPropName with summary 獲取屬性名稱時順道填寫摘要名稱
Keep in memory (Solidworks) 組合件和工程圖保留檔案在SW中開啟, 集中在Save All 時儲存SW檔案(此選項不適合單純處理零件檔案)
Keep visible (require more MAM) 保持可見的(需要更多的記憶體)

Preferences 用於記錄偏愛設定,可新增、刪除、更名

Solidworks version SW的版本

Open related file search method 於Excel中載入關聯文件的搜尋方式
All Path 任何位置的相關檔案
Same folder 僅相同位置的相關檔案
Same folder and Below 相同位置及往下所有資料夾的相關檔案
same folder and upper and below 相同位置及往上、往下所有資料夾的相關檔案

Output 輸出,包括輸出的檔案類型(轉檔)、轉檔後的名稱、及轉出的位置
Path 路徑 (可鍵入自訂路徑)empty = same path 沒有任何字元(保持空白時)為相同位置
. = same path 鍵入 . 時可輸出至相同位置往上一層的資料夾中
File name 可鍵入匯出檔案的名稱
Part 零件
Assembly 組合件
Drawing,each sheet to each files 工程圖,每個頁面的工程圖轉出至個別的DWG
Drawing,multi-sheet to 1 file 工程圖,多頁工程圖轉檔輸出至一個DWG
dwg version AutoCAD相容版本

Preview 縮圖
Drawing image quality 工程圖縮圖的品質
Model 模型

Image quality 縮圖的品質

Preview Dispaly Mode 顯示樣式
File default 檔案最後存檔的樣式
Wireframe 線架構
HiddenLineRemoved 移除隱藏線
HiddenLinesGrayed 顯示隱藏線
Shaded 塗彩
ShadedWithEdges 帶邊線塗彩

Preview Tangent Edge 相切面交線
System default Solidworks 系統選項設定值
Visible 可見的
Phantom 虛線
Removed 移除Preview Column 指定產生縮圖的豎行(此時縮圖在儲存格的注解內)
0=in a specified cell 鍵入 0 時縮圖產生在 "$Preview_OuputFileName$"的豎行
Comment Width 縮圖的寬度
Comment Height 縮圖的高度

Boundary Box 邊界方塊
Prop Name 屬性名稱
Decimal places 精度(小數位數)
Width 寬度
Height 高度
Depth 深度

點評

副班長出現了  詳情 回復 發表於 2017/8/23 21:20
 樓主| 發表於 2017/8/23 21:20:41 | 顯示全部樓層
oni 發表於 2017/8/23 21:15
這個版本多了好多功能、更有Options視窗可以快速設定!
為了能夠讓之前沒有參與過討論、或沒有使用過的朋友 ...

副班長出現了
發表於 2017/8/23 21:34:35 | 顯示全部樓層
今天一早下載的,今天都在車間工作,也沒有好好的測試,目前還沒有發現有什麼問題……初步使用的感覺很棒,謝謝悶大~
發表於 2017/8/23 21:43:06 | 顯示全部樓層
更新內容:
1. options dialog.-------新增了工作選項設置對話框(可設定多個喜好,可隨時切換);
2.multi-pages dwg. --------新增多頁工程圖輸出到單一dwg;
15. output step format-------新增輸出Step格式;
8. improvedproperties of model in first view of sheet.-----改善輸出檔案時指定模型屬性的鏈接;
3. random column(columnA header must be$????$).
5. wireframe preview.--------新增縮略圖顯示樣式(線架樣式等等)
4. comment preview.--------新增插入縮略圖到批註內;
0:代表縮略圖插入到指定欄位$Preview_OuputFileName$的單元格內;
1-9;代表縮略圖插入到指定欄位的單元格的批註內;如;1代表A欄,如此類推;
6. split file name and extension.--------分離文件名與附檔名;
7. file rename.--------新增文檔改名工具;
9.UseAlternateNameInBOM and AlternateName. --------新增BOM中的用戶指定名稱;
備註: UIUserSpecified NameAPI內叫AlternateName.
10.LoadDraftingStandard.-------載入繪圖標準;
12. reload sheet format.-----重新載入圖頁格式;
11. Sheet metal 6 flat pattern options.------鈑金的6個選項;
14. size of boundary box.-----零件的邊界盒尺寸;
13. Ui support unicode path.-------UI支持中文路徑;
16.Create Drawing-----強烈期待此超級工具;

PS; 很多新增功能還沒測試,測試後再作補充;

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x

點評

(豎起大拇指的表情)做得好! 補充: 3. random column(columnA header must be$????$) column可隨意調動, 但Acolumn必須是帶有$的系統表頭讓代碼尋找表頭於哪橫行. 解釋: 11. 鈑金的6個選項 放棄了使用不直觀的Bitma  詳情 回復 發表於 2017/8/23 21:54
 樓主| 發表於 2017/8/23 21:54:57 | 顯示全部樓層
benson2013 發表於 2017/8/23 21:43
更新內容:1. options dialog.-------新增了工作選項設置對話框;2.multi-pages dwg. --------新增多頁工程 ...

(豎起大拇指的表情)做得好!

補充:
3. random column(columnA header must be$????$)
column可隨意調動, 但Acolumn必須是帶有$的系統表頭讓代碼尋找表頭於哪橫行.

解釋:
11. 鈑金的6個選項
放棄了使用不直觀的Bitmasks, 改用二進(01)代表6個屬性.

還有一些小節有待發掘的.
發表於 2017/8/23 22:39:50 | 顯示全部樓層
對於未來會新增的"16.Create Drawing-----強烈期待此超級工具",想向班長及副班長先行請益.
該如何調用API使多本體零件上個別零件顯示在工程圖的視圖呢??

點評

API的話,俺目前階段是有心無力; sw自帶功能的話,如附圖,看看是否可用。 [attachimg]215060[/attachimg]  詳情 回復 發表於 2017/8/23 23:38
oni
回CRay大,CRay大的問題小弟無能力回覆,小弟對於API尚無經驗…… 這個工具的功能是集合大家討論後的訴求、隨著時間愈來愈強大! 悶大總是能夠滿足大家的願望! 是不是讓我們一起持續關注和討論這  詳情 回復 發表於 2017/8/23 23:27
向悶人點名提問=緣木求魚 應向班長或副班長請益. 悶人只接受班長及副班長的點名提問.  詳情 回復 發表於 2017/8/23 22:44
 樓主| 發表於 2017/8/23 22:44:02 | 顯示全部樓層
CRay 發表於 2017/8/23 22:39
對於未來會新增的"16.Create Drawing-----強烈期待此超級工具",想請悶大前輩先行賜教.
該如何調用API使多本 ...

向悶人點名提問=緣木求魚

應向班長或副班長請益.

悶人只接受班長及副班長的點名提問.

點評

謝謝悶人前輩提醒,後輩將修改文章還望見諒.  詳情 回復 發表於 2017/8/23 22:46
發表於 2017/8/23 22:46:23 | 顯示全部樓層
Francis 發表於 2017/8/23 22:44
向悶人點名提問=緣木求魚

應向班長或副班長請益.

謝謝悶人教授提醒,學徒將修改文章還望見諒.
發表於 2017/8/23 22:58:02 | 顯示全部樓層
俺著魔啦,抱歉。想好後,俺再提問。

發表於 2017/8/23 23:27:35 | 顯示全部樓層
CRay 發表於 2017/8/23 22:39
對於未來會新增的"16.Create Drawing-----強烈期待此超級工具",想向班長及副班長先行請益.
該如何調用API使 ...

回CRay大,CRay大的問題小弟無能力回覆,小弟對於API尚無經驗……
這個工具的功能是集合大家討論後的訴求、隨著時間愈來愈強大!
悶大總是能夠滿足大家的願望!
是不是讓我們一起持續關注和討論這個主題,我相信CRay大的問題很快就能夠得到答案~
發表於 2017/8/23 23:33:09 | 顯示全部樓層
當多頁工程圖輸出至單一文件時(選項設置),

出現如下:

不知道各位大大有遇到此情況嗎?






本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x

點評

想到原因了. 因為悶人懶惰, 沒有把每一個變量的設定聲明, 讓變量稱為無主孤魂, 容易無故消散. 只要在代碼頂端加上 "Dim swDoc As Object" 即可. 其他無主孤魂變量的聲明, 就有待有心人幫忙列舉出來了, 好讓悶人作  詳情 回復 發表於 2017/9/1 09:00
估計因某種不明原因丟失swDoc內的對象, 可到本地窗口查看swDoc表達式的值是否正常. (可參考swApp) 或可嘗試點選Keep visble, 從而跳過此步, 再看看會出現什麼問題.  詳情 回復 發表於 2017/8/24 00:23
發表於 2017/8/23 23:38:51 | 顯示全部樓層
CRay 發表於 2017/8/23 22:39
對於未來會新增的"16.Create Drawing-----強烈期待此超級工具",想向班長及副班長先行請益.
該如何調用API使 ...

API的話,俺目前階段是有心無力;
sw自帶功能的話,"相對視圖"看看是否可用。

點評

估計28同學在故意錯誤示範, 從而提醒其他同學. 1. 盡量避免提問及解答與主題無關的事宜(尤其是含有大幅的附圖, 會不必要地讓其他同學轉移視線). 2. 附圖是解答如何在工程圖插入對正某個方向模型, 而且視圖是會跟隨設  詳情 回復 發表於 2017/8/24 10:54
 樓主| 發表於 2017/8/24 00:23:25 | 顯示全部樓層
benson2013 發表於 2017/8/23 23:33
當多頁工程圖輸出至單一文件時(選項設置),

出現如下:

估計因某種不明原因丟失swDoc內的對象,
可到本地窗口查看swDoc表達式的值是否正常. (可參考swApp)
或可嘗試點選Keep visble, 從而跳過此步, 再看看會出現什麼問題.

點評

謝謝悶大指導。 選項對話框沒有勾選“KeepVisible”導致的。1.勾選“KeepVisible”,多頁工程圖輸出至單一文件時,代碼運行正常; 2.不勾選“KeepVisible”,多頁工程圖輸出至單一文件時,註釋掉代碼中的錯誤語句即  詳情 回復 發表於 2017/8/24 00:45
發表於 2017/8/24 00:45:47 | 顯示全部樓層
Francis 發表於 2017/8/24 00:23
估計因某種不明原因丟失swDoc內的對象,
可到本地窗口查看swDoc表達式的值是否正常. (可參考swApp)
或可嘗 ...

謝謝悶大指導。
選項對話框沒有勾選“KeepVisible”導致的。
1.勾選“KeepVisible”,多頁工程圖輸出至單一文件時,代碼運行正常;
2.不勾選“KeepVisible”,多頁工程圖輸出至單一文件時,註釋掉代碼中的錯誤語句即可運行正常;
暫時還不知道“KeepVisible”選項的好處,明天再仔細測試下。



 樓主| 發表於 2017/8/24 10:54:15 | 顯示全部樓層
benson2013 發表於 2017/8/23 23:38
API的話,俺目前階段是有心無力;
sw自帶功能的話,如附圖,看看是否可用(借用大鹿兄的圖)。

估計28同學在故意錯誤示範, 從而提醒其他同學.
1. 盡量避免提問及解答與主題無關的事宜(尤其是含有大幅的附圖, 會不必要地讓其他同學轉移視線).
2. 附圖是解答如何在工程圖插入對正某個方向模型, 而且視圖是會跟隨設變的; 在某個版本以後, 除了"相對視圖"外, 其他插入視圖的大部分指令, 都是可以選取某些實體的了.

ps: 這個表述方式(估計他人在錯誤示範), 並非嘲笑28同學, 而是鼓勵28同學, 就事論事, 不必在意他人的目光

點評

謝謝悶大提醒; 俺應該還好吧,大多數時候也還是能夠“正向思考”的。  詳情 回復 發表於 2017/8/24 14:57
發表於 2017/8/24 14:57:33 | 顯示全部樓層
Francis 發表於 2017/8/24 10:54
估計28同學在故意錯誤示範, 從而提醒其他同學.
1. 盡量避免提問及解答與主題無關的事宜(尤其是含有大幅的 ...

謝謝悶大提醒;
俺應該還好吧,大多數時候也還是能夠“正向思考”的




 樓主| 發表於 2017/9/1 09:00:07 | 顯示全部樓層
benson2013 發表於 2017/8/23 23:33
當多頁工程圖輸出至單一文件時(選項設置),

出現如下:

想到原因了.

因為悶人懶惰, 沒有把每一個變量的設定聲明, 讓變量稱為無主孤魂, 容易無故消散.

只要在代碼頂端加上 "Dim swDoc As Object" 即可.

其他無主孤魂變量的聲明, 就有待有心人幫忙列舉出來了, 好讓悶人作修訂.
發表於 2017/11/18 20:41:11 來自手機 | 顯示全部樓層
試不出讀取組件整體長寬高。零件可以。不知道哪裡設定錯誤。希望大大指教

點評

oni
回覆kcn大,邊界方塊於第二版時由benson大提出訴求,悶大隨即加入此功能,小弟記得那時有提到暫不支援組合件。  詳情 回復 發表於 2017/11/18 21:48
發表於 2017/11/18 21:48:48 | 顯示全部樓層
kcn1u2t 發表於 2017/11/18 20:41
試不出讀取組件整體長寬高。零件可以。不知道哪裡設定錯誤。希望大大指教 ...

回覆kcn大,邊界方塊於第二版時由benson大提出訴求,悶大隨即加入此功能,小弟記得那時有提到暫不支援組合件。

點評

副班長說得沒錯, 邊界長寬高只能用於零件. 其實組合件的邊界長寬高功能也在同期編寫了出來, 可是要精準的話, 必須遍歷整個組合, 逐一個實體複製到一個固定空間, 才可避免因邊界盒角落衍生的不準確. 這過程需要龐大  詳情 回復 發表於 2017/11/19 11:52
 樓主| 發表於 2017/11/19 11:52:52 | 顯示全部樓層
oni 發表於 2017/11/18 21:48
回覆kcn大,邊界方塊於第二版時由benson大提出訴求,悶大隨即加入此功能,小弟記得那時有提到暫不支援組 ...

副班長說得沒錯, 邊界長寬高只能用於零件.

其實組合件的邊界長寬高功能也在同期編寫了出來, 可是要精準的話, 必須遍歷整個組合, 逐一個實體複製到一個固定空間, 才可避免因邊界盒角落衍生的不準確.
這過程需要龐大的運算量, 所需的時間跟把組合另存為單個零件還要多, 以一個中型組合件為例, 需時半分鐘以上, 恐怕會惹來投訴.

ps: 有關邊界盒角落的干擾現象說明, 見連接:
http://www.solidworks.org.tw/forum.php?mod=viewthread&tid=30874

點評

確實耶,拿法蘭來試,外尺寸確實會跑掉,真是神奇阿 看來有些還是需要手動輸入才行了 非常謝謝各位大大指教  詳情 回復 發表於 2017/11/19 15:12
發表於 2017/11/19 15:12:20 | 顯示全部樓層
Francis 發表於 2017/11/19 11:52
副班長說得沒錯, 邊界長寬高只能用於零件.

其實組合件的邊界長寬高功能也在同期編寫了出來, 可是要精準 ...

確實耶,拿法蘭來試,外尺寸確實會跑掉,真是神奇阿
看來有些還是需要手動輸入才行了
非常謝謝各位大大指教
發表於 2020/11/7 14:32:06 | 顯示全部樓層
感谢大佬们提供如此高效神器!但是我用惯了高速版的,想把里面的属性读写改成高速版的,听说要有DM-KEY才可以。然我公司恰好有正版,我申请了,用在了API高速版,但是没这个互动ISWXL读取装配体子项的路径功能,所以像把ISWXL与SWDM-API高速版融合,然而我对代码那些一窍不通,想请大师们打造一下excel,把要填DM-KEY的栏位留空,不知能否做到?合适的话,愿意捐献一点费用。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 2024/3/19 12:35 , Processed in 0.128423 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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