SolidWorks專門論壇 SolidWorks forum

 找回密碼
 註冊
查看: 5177|回復: 13

圓周分佈鉆孔-宏

[複製鏈接]
發表於 2018/5/20 17:42:27 | 顯示全部樓層 |閱讀模式
參考



  1. ' *************************************************************
  2. ' macro recorded on 05/20/18 by scliang
  3. ' 功能:圓周分佈鉆孔,本範例因是用除料拉伸,所以鉆孔是平底.
  4. ' 操作: 1.在零件先選取要鉆孔之平面.
  5. '       2.執行 "main" .
  6. '
  7. ' *************************************************************

  8. Sub Draw_()
  9. With UserForm1
  10. '判定資料沒打或是輸入錯誤(起始圓半徑限制不能小於等於鉆孔直徑)
  11. If .TextBox4.Value <= .TextBox3.Value Or .TextBox1.Value = "" Or .TextBox2.Value = "" Or .TextBox3.Value = "" Or .TextBox4.Value = "" _
  12.       Or .TextBox5.Value = "" Or .TextBox6.Value = "" Then
  13.       MsgBox ("Data error Or Data empty")
  14.       Exit Sub
  15. End If
  16. Set swApp = Application.SldWorks
  17. Set Part = swApp.ActiveDoc
  18. Set swModel = swApp.ActiveDoc
  19. Set swSketchMgr = swModel.SketchManager

  20. Part.SketchManager.InsertSketch True '依據選取面插入草圖
  21. '中心圓之座標及作圖
  22. X1 = .TextBox1.Value / 1000
  23. Y1 = .TextBox2.Value / 1000
  24. X2 = X1 + .TextBox3.Value / 2 / 1000
  25. Set swSketchSegment = swSketchMgr.CreateCircle(X1, Y1, 0#, X2, Y1, 0#)
  26. '圓周分佈之鉆孔
  27. pi = Atn(1) * 4
  28. Drill_Diameter = .TextBox3.Value / 1000
  29. Start_Circle_radius = .TextBox4.Value / 1000
  30. Circle_number = .TextBox6.Value
  31. ArcAngle = pi   '複製孔之圓弧角皆為180度
  32. Drill_depth = .TextBox5.Value / 1000 '鉆孔深
  33. For i = 1 To Circle_number
  34.       Circle_radius = i * .TextBox4.Value / 1000 '分佈圓周之半徑
  35.       Copy_Number = Int(2 * Circle_radius * pi / Start_Circle_radius + 0.5) '分佈圓周之鉆孔數
  36. '分佈圓之基圓作圖
  37.       BX1 = X1 + Circle_radius
  38.       BX2 = BX1 + Drill_Diameter / 2
  39.       Set swSketchSegment = swSketchMgr.CreateCircle(BX1, Y1, 0#, BX2, Y1, 0#)
  40. '分佈圓之複製孔數,圓周複製參數:圓弧半徑、圓弧角、花紋數、花紋間距(間隔弧度)、圖案旋轉、刪除實例
  41.       boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(Circle_radius, ArcAngle, Copy_Number, 2 * pi, True, "", True, True, True)
  42. Next
  43. End With
  44. Dim myFeature As Object
  45. Set myFeature = Part.FeatureManager.FeatureCut3(True, False, False, 0, 0, Drill_depth, 0, False, False, False, False, 1.74532925199433E-02, _
  46. 1.74532925199433E-02, False, False, False, False, False, True, True, True, True, False, 0, 0, False)
  47. End Sub

  48. Sub main()
  49. UserForm1.Show
  50. End Sub
複製代碼






本帖子中包含更多資源

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

x
發表於 2018/5/20 19:26:34 | 顯示全部樓層
謝謝梁兄,還在程式碼中註記內容,讓初學的我,能輕鬆的學習!

點評

操作: 1.在零件先選取要鉆孔之平面. 2.執行 "main" . 3.X座標取正數,若是負數可能會出錯. 4.首圈半徑近似於相鄰兩孔之中心(弧長)距離. 附SWP檔參考 [attachimg]221913[/attachimg]  詳情 回復 發表於 2018/5/23 11:10
相互學習了  詳情 回復 發表於 2018/5/20 21:40
 樓主| 發表於 2018/5/20 21:40:12 | 顯示全部樓層
rock6098 發表於 2018/5/20 19:26
謝謝梁兄,還在程式碼中註記內容,讓初學的我,能輕鬆的學習!

相互學習了
 樓主| 發表於 2018/5/23 11:10:51 | 顯示全部樓層
rock6098 發表於 2018/5/20 19:26
謝謝梁兄,還在程式碼中註記內容,讓初學的我,能輕鬆的學習!

操作: 1.在零件先選取要鉆孔之平面.
         2.執行 "main" .
         3.X座標取正數,若是負數可能會出錯.
         4.首圈半徑近似於相鄰兩孔之中心(弧長)距離.

附SWP檔參考  




本帖子中包含更多資源

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

x
 樓主| 發表於 2018/5/24 09:40:21 | 顯示全部樓層
上樓巨集不要用

用這巨集   swp檔

本帖子中包含更多資源

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

x
 樓主| 發表於 2018/6/1 09:21:41 | 顯示全部樓層
如上昇級版

特點:
1. 鍵入的XY之值 ,正負值(包含0)皆可.
2. 新增打方孔之選擇.

注意事項:
1.首圈半徑限制不能小於等於鉆孔直徑,也不能小於方孔邊長的1.5倍(避免破孔或是零厚度).
2.草圖上不要用網格,避免取點時被吸附至網點.
SWP檔











本帖子中包含更多資源

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

x
 樓主| 發表於 2018/6/9 09:00:54 | 顯示全部樓層
因新項目的補加,主題名 "任意座標平面孔分佈" 可能較適合吧,下載測試成功者,煩請知會測試的sw版本,謝啦!
swp檔

補加三個項目
1. 正方形孔邊等距


2. 正六角形孔邊等距


3. 圓孔渦旋分佈



本帖子中包含更多資源

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

x

點評

成功,但用的是小翔微調的版本,執行梁叔的跟小翔遇到一樣狀況。 [attachimg]225802[/attachimg]  詳情 回復 發表於 2018/8/29 19:37
發表於 2018/6/11 15:35:23 | 顯示全部樓層
梁兄實在是太強大了......

點評

謝豬兄支持! 汗顏呀!對sw-API純粹硬著頭皮寫著玩不是很深入, 個人只是當成鍛鍊而已,還得請高手指點了.  詳情 回復 發表於 2018/6/11 16:27
 樓主| 發表於 2018/6/11 16:27:08 | 顯示全部樓層
小小豬 發表於 2018/6/11 15:35
梁兄實在是太強大了......

謝豬兄支持!

汗顏呀!對sw-API純粹硬著頭皮寫著玩不是很深入,
個人只是當成鍛鍊而已,還得請高手指點了.

點評

感謝梁兄的分享 太實用 太厲害了 不過小弟的是2014版本 下載後無法直接運行 摸了一上午才讓我試出來問題在哪 如圖 我不懂怎麼寫 只是剛好被我試出問題點 若有版友也有無法直接運行的問題 可以試看看這版  詳情 回復 發表於 2018/8/29 13:12
發表於 2018/8/29 13:12:18 | 顯示全部樓層
scliang 發表於 2018/6/11 16:27
謝豬兄支持!

汗顏呀!對sw-API純粹硬著頭皮寫著玩不是很深入,

感謝梁兄的分享
太實用 太厲害了
不過小弟的是2014版本
下載後無法直接運行
摸了一上午才讓我試出來問題在哪
如圖  我不懂怎麼寫 只是剛好被我試出問題點
若有版友也有無法直接運行的問題
可以試看看這版本

本帖子中包含更多資源

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

x
發表於 2018/8/29 19:37:04 | 顯示全部樓層
scliang 發表於 2018/6/9 09:00
因新項目的補加,主題名 "任意座標平面孔分佈" 可能較適合吧,下載測試成功者,煩請知會測試的sw版本,謝啦!
sw ...

成功,但用的是肉腳微調的版本,執行梁叔的跟肉腳遇到一樣狀況。


本帖子中包含更多資源

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

x
發表於 2019/1/23 18:08:17 | 顯示全部樓層
這個要如何使用?下載後無法開啟

點評

詳述在甚麼情況下無法開啟,有何錯誤提示?  詳情 回復 發表於 2019/1/30 09:30
 樓主| 發表於 2019/1/30 09:30:00 | 顯示全部樓層
帝翔 發表於 2019/1/23 18:08
這個要如何使用?下載後無法開啟

詳述在甚麼情況下無法開啟,有何錯誤提示?
發表於 2021/5/20 19:33:27 | 顯示全部樓層
謝謝大大,又讓我多學了一招技巧
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 2024/4/20 01:30 , Processed in 0.141647 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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