SOLIDWORKS 專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 778|回復: 11
收起左側

鈑金-展平快速鍵API

[複製鏈接]
發表於 2019/5/6 21:15:10 | 顯示全部樓層 |閱讀模式
快速鍵設定就是沒有展平指令可以設定~是否可以利用API將鈑金的展平可以有快速鍵

SOLIDWORKS 111.jpg
發表於 2019/6/18 15:44:17 | 顯示全部樓層
錄製宏,刪除其中代碼,將下列代碼粘貼。
保存為“展平宏”
自定工具欄/宏
設置宏快捷鍵。展平宏,SW2013測試正常
展平宏.rar (5.15 KB, 下載次數: 5)
 樓主| 發表於 2019/6/18 18:19:48 | 顯示全部樓層
可以使用快速鍵了~不過沒有原本的展平指令快~這部分可以解決嗎\
SW.gif

點評

改用下面代码,试一下。  詳情 回復 發表於 2019/6/19 08:52
發表於 2019/6/19 08:52:57 | 顯示全部樓層
武大郎 發表於 2019/6/18 18:19
可以使用快速鍵了~不過沒有原本的展平指令快~這部分可以解決嗎\

改用下面代码,试一下。
注意“平板形式”这四个字,要对应设计树上的“平板形式”字,如繁体则繁体。
  1. Dim swApp As Object
  2. Dim Part As Object
  3. Dim boolstatus As Boolean
  4. Dim i As Integer

  5. Sub main()

  6.     Set swApp = Application.SldWorks
  7.     Set Part = swApp.ActiveDoc
  8.    
  9.     For i = 1 To 10
  10.         boolstatus = Part.Extension.SelectByID2("平板型式" & CStr(i), "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
  11.         If boolstatus = True Then Exit For
  12.     Next
  13.    
  14.     If Part.EditUnsuppress2 Then
  15.         Part.EditUnsuppress2
  16.     Else
  17.         Part.EditSuppress2
  18.     End If
  19.    
  20. End Sub
複製代碼


 樓主| 發表於 2019/6/19 10:38:12 | 顯示全部樓層
請問複製代碼要如何把左邊的"行號"移除
SOLIDWORKS 137.jpg
 樓主| 發表於 2019/6/19 10:40:12 | 顯示全部樓層
是執行結果會把特徵抑制,要怎麼解?
SOLIDWORKS 138.jpg

點評

笨方法,在结尾加如下代码解除压缩, 注意代码中文字内容同设计树,不含后面数字 还待请有好方法的朋友完善。  詳情 回復 發表於 2019/6/19 12:51
發表於 2019/6/19 12:51:21 | 顯示全部樓層
武大郎 發表於 2019/6/19 10:40
是執行結果會把特徵抑制,要怎麼解?

笨方法,在结尾加如下代码解除压缩,
注意代码中文字内容同设计树,不含后面数字

还待请有好方法的朋友完善。
  1.     For i = 1 To 10
  2.         boolstatus = Part.Extension.SelectByID2("基材-凸緣" & CStr(i), "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
  3.         If boolstatus = True Then
  4.             Part.EditUnsuppress2
  5.             Exit For
  6.         End If
  7.      Next
複製代碼


 樓主| 發表於 2019/6/19 14:39:28 | 顯示全部樓層
2F 比較統一鈑金展開與摺疊,因為第一特徵不一定是基材凸緣~感謝
發表於 2019/6/25 20:03:21 | 顯示全部樓層
試試這個
------------------------
Dim swapp As Object
Dim part As Object
Dim fea As Object
Dim feam As Object

Sub test()
Set swapp = Application.SldWorks
Set part = swapp.ActiveDoc
Set feam = part.FeatureManager
k = feam.GetFeatures(True)
Set fea = k(feam.GetFeatureCount(True) - 1)
fea.Select True
part.EditSuppress
part.EditUnsuppress
End Sub
-----------------------
 樓主| 發表於 2019/6/26 12:05:48 | 顯示全部樓層
謝謝同學,速度上有解決了
SW.gif

Macro1.swp

32 KB, 下載次數: 3

發表於 2019/6/27 18:41:40 | 顯示全部樓層
此方法如果有二個以上的鈑金展開只會選最後一個,如果需要展開二個就需改寫程式。
 樓主| 發表於 2019/6/27 21:48:55 | 顯示全部樓層
可以製作對多本體的板進展開嗎? 例如:選其中一個本體讓他展開目前只能所選本體,文意感應點選展平指令
SOLIDWORKS 151.jpg
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版上論壇|論壇來自幾何科技

GMT+8, 2019/7/21 22:55 , Processed in 0.092712 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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