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

iCAx开思网

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

[分享] 宏例子: 打開指定目錄逐一處理所有零件的瑣事

[复制链接]
1
发表于 2014-9-23 15:09:38 | 显示全部楼层
本帖最后由 gt.adan 于 2014-9-23 15:10 编辑

【練習】用悶大的代碼加入鈑金的展開及抑制,達成「批量重整」模型
  1. Dim swApp As Object
  2. Dim Part As Object
  3. Dim boolstatus As Boolean
  4. Dim longstatus As Long, longwarnings As Long
  5. Sub Test()
  6. Set swApp = Application.SldWorks
  7. PartPath = "C:\資料夾路徑" '設定目錄
  8. PartFileName = Dir(PartPath & "*.sldprt") '搜尋首個零件檔案名稱
  9. Do Until PartFileName = "" '直至搜尋到空值
  10.     Set Part = swApp.OpenDoc(PartPath & PartFileName, 1) '開啟零件
  11.     boolstatus = Part.Extension.SelectByID2("Flat-Pattern1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
  12.     Part.ClearSelection2 True
  13.     longstatus = Part.SetBendState(2)
  14.     boolstatus = Part.EditRebuild3()
  15.     boolstatus = Part.Extension.SelectByID2("Flat-Pattern1", "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
  16.     Part.ClearSelection2 True
  17.     longstatus = Part.SetBendState(3)
  18.     boolstatus = Part.EditRebuild3()
  19.     Part.Save '保存
  20.     swApp.CloseDoc (PartFileName) '關閉零件
  21.     PartFileName = Dir '搜尋下一個零件檔案名稱
  22. Loop '循環搜尋
  23. End Sub
复制代码

评分

参与人数 1技术 +1 收起 理由
Francis + 1 赞一个!

查看全部评分

2
发表于 2014-11-3 15:12:16 | 显示全部楼层
Francis 发表于 2014-9-27 23:00
不知有沒有成功例子

回覆悶哥…不成功…><

本帖子中包含更多资源

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

x
3
发表于 2014-11-3 17:37:13 | 显示全部楼层
Francis 发表于 2014-11-3 15:53
謝謝丹弟測試。
可否上傳swp檔案,看看問題在哪。

應該是阿丹操做過程有誤…請悶哥幫忙查看,謝謝您。
測試版本:2012



本帖子中包含更多资源

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

x
4
发表于 2014-11-13 22:30:12 | 显示全部楼层
wutong490 发表于 2014-11-13 21:38
好像阿丹少了一些东西

謝謝梧桐,期待悶哥繼續開課~~^^
5
发表于 2014-11-14 11:36:07 | 显示全部楼层
Francis 发表于 2014-11-13 23:36
12樓有回复,這個主題是為了『外部批次修改屬性』或『利用Excel作為用戶界面 ...

哈!原來如此!阿丹理解有誤,以為說的是在這兒要繼續下一課呢!
謝謝悶哥說明~~^^
6
发表于 2014-11-15 12:19:59 | 显示全部楼层
Francis 发表于 2014-11-15 11:10
還沒見丹哥回覆,難道悶人做錯了什麼事情?

悶哥請別生氣呀~剛才在上音樂課,所以沒能即時回覆,勿怪~
由於電腦重灌尚未安裝gif軟體,不得已只有請悶移駕看一下操作過程了…><
https://dl.dropboxusercontent.co ... -11-15_12-08-29.mp4

執行結果:成功!如悶哥所指導的,必需以「Ctrl+Enter」來分行,方可執行代碼。


再一次求教悶哥,檔名是簡體字時執行代碼會出現錯誤如下:





本帖子中包含更多资源

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

x
7
发表于 2014-11-15 14:27:21 | 显示全部楼层
Francis 发表于 2014-11-15 13:19
找到原因了。
由於VBA某些函數不兼容Unicode,閱讀中文字的時候就會分拆為2個Byte(字節)來處理。
這 ...

太專業了!謝謝悶哥的說明~~^^

我個人覺得這個代碼還是好用的,它是個基礎,是個開始進入批次修改的領域。
要自行加入的代碼內容,就看大家的工作需求了~~
8
发表于 2014-11-17 23:32:32 | 显示全部楼层
本帖最后由 gt.adan 于 2014-11-17 23:35 编辑
Francis 发表于 2014-11-17 23:07
繼續期待阿丹跟進這課題,不希望又出現另一宗半途而廢的事件。

悶哥請放心!「半途而廢」就請您寬心了,這一點阿丹絕無可能讓您失望~
尤其這還是阿丹主動要求悶哥繼續指導的呢!

請給阿丹一點點時間,忙完專案或是其間有較完整的時間一定立刻練習、回覆!


9
发表于 2014-11-18 00:22:13 | 显示全部楼层

梧桐,謝謝你提醒我還有功課沒交。回覆一下你的問題…
使用你分享的另存igs代碼 ,樓上所說的情況,在我測試是ok的!
沒有重啟程序就不存檔的問題~
請繼續熱情參與討論,求教於悶哥,一同學習!
10
发表于 2014-11-18 01:44:37 | 显示全部楼层
【補充】試用梧桐版主的「另存igs格式代碼」,情況如下…(是否代碼編寫不當所造成?)
1.第一次可以執行成功。再選擇其他(單一,非複選)資料夾,還是只有對前次所選資料夾內的檔案動作
   即使重新開機,依舊如此--->難道有記憶的問題?
2.複選資料夾,執行宏代碼,依然只針對第一次選擇的資料夾動作,除非在每個資料之後加上"\"
   此時,會對全部所選資料夾動作,但是轉存igs格式的結果,只會放存在第一次選取的資料夾
   而不是依個別的資料夾存放。
3.若是依悶哥教程中的代碼不添加任何動作語法(即結果是遍歷所選資料夾中所有零件,打開後直接存檔)
   則沒有任何問題。執行動作是成功的。(因為檔案日期有更新。)

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

本版积分规则

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

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

GMT+8, 2025-8-19 02:44 , Processed in 0.030462 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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