機械社區(qū)
標(biāo)題:
[請教] 如何拾取裝配體重心?
[打印本頁]
作者:
是成功
時間:
2011-1-21 11:00
標(biāo)題:
[請教] 如何拾取裝配體重心?
計算翻蓋機構(gòu)時,需要知道一個組件的重心位置,SW自帶的評估功能可以得到,但是重心點無法拾取。
- E5 L* O2 t v8 Z8 k8 A8 I
% \& Y% U" {$ o7 j) T
怎樣把重心變成實體點,這樣可以用測量工具測量到重心與指定元素(鉸鏈軸等)的距離。
" U$ O; ], ~5 F7 w8 n5 G
' ~ R* D4 ~" J$ m9 d4 N0 C
謝謝!
! t, G& c# D Y9 ]# D1 d7 _; R- y
作者:
葉飄零
時間:
2011-1-21 12:55
本帖最后由 葉飄零 于 2011-1-21 13:56 編輯
, g6 m4 @2 p3 z1 H# m2 p
. S/ w/ t Q4 u7 w
可以先點裝配體的質(zhì)量特性按鈕,軟件計算出重心的XYZ坐標(biāo),記下這個坐標(biāo),在裝配體中插入三維草圖,新建一草圖點,手動設(shè)置草圖點的XYZ坐標(biāo)為剛記下的坐標(biāo)值就可以了。這是手動的笨方法,只有我這種笨人才用,改了圖要手動改點坐標(biāo)才行。
/ Q ]5 k, g* W: F/ s
下面是轉(zhuǎn)載的高手的方法,我試用過了,好像有問題,可能是版本的問題吧。(以下為轉(zhuǎn)載)
. P! I/ l1 T; @5 j3 Z4 t# |: `% B
% d9 K2 w& ^+ p" [9 @1 ]
3D草圖點可以通過宏程序和重心進行關(guān)聯(lián),具體操作方式步驟如下1. 功能表>工具>宏/巨集>新增
- I. h$ A+ {: M9 F& K' b( G
2. 選擇儲存位置及給予有意義的名字
3 P& H8 O- w/ {3 @* M7 T& M
3. 刪除新宏內(nèi)所有內(nèi)容,貼上以下的程序碼
: D/ q: A7 L% `- |* `2 }- L: g8 A
3 _; m4 D" K% t
Function swmRebuild(swApp As Object, ModelDoc As Object, Feature As Object) As Variant
Dim nStatus As Long
vMassProp = ModelDoc.Extension.GetMassProperties(1, nStatus)
Parents = Feature.GetParents
vPoints = Parents(0).GetSpecificFeature2.GetSketchPoints2
Set Point = vPoints(0)
Point.X = vMassProp(0): Point.Y = vMassProp(1): Point.Z = vMassProp(2)
End Function
Sub main()
Set swApp = Application.SldWorks
Dim ModelDoc As SldWorks.ModelDoc2: Set ModelDoc = swApp.ActiveDoc
ThisFile = swApp.GetCurrentMacroPathName
Dim Methods(8) As String: Methods(0) = ThisFile: Methods(1) = "Module1": Methods(2) = "swmRebuild"
ModelDoc.SketchManager.Insert3DSketch True
ModelDoc.SketchManager.CreatePoint 0, 0, 0
ModelDoc.SketchManager.InsertSketch True
Set MacroFeature = ModelDoc.FeatureManager.InsertMacroFeature2("MassCenter_Update", "", (Methods), Empty, Empty, Empty, Empty, Empty, Nothing, Empty, 0)
End Sub
+ U3 ]4 w9 R: y% z* K( q
5. 立即運行也可,或到自定義工具列,新增一個圖示方便使用
( H! Y" `# K1 H( P3 G8 t
由于程序簡短編寫,因此有很多禁忌必須注意:
( m& g: O( H- M
1. 必定在裝配內(nèi)運行
3 ~" Q) ?" v6 K8 G1 M% A9 [" l
2. 再多配置/模型組態(tài)的情況下,每個重心特徵宏只可再一個配置/模型組態(tài)內(nèi)運行,在其他配置/模型組態(tài)內(nèi)必須抑制
o' b" U% B* Y8 V, u& {
3. 3D草圖內(nèi)的那一個點不可刪除
8 O! u! E% l. c
4. 這個裝配插入到另一個裝配(成為子裝配),如果多於一個的時候,這些子裝配就不可設(shè)定為靈活。
6 Y: T+ c u$ H! i6 }; y3 {1 |
9 H$ L% F" \8 y7 L j. N
轉(zhuǎn)載來源鏈接:
http://www.5dcad.cn/bbs/thread-39631-1-1.html
,感謝原作者!
( W# g8 k1 Z" m7 `2 z# G) r' p% A
作者:
jerry_52
時間:
2011-1-21 13:01
質(zhì)量特性上面不是有個重心的坐標(biāo)嗎,可以自已畫一個嗎
作者:
紫劍狂風(fēng)
時間:
2011-1-21 14:22
先工具 質(zhì)量特性 讀出中心點的3維坐標(biāo)值,然后畫3D草圖,做一個3D 的點 把點的坐標(biāo)更改為 中心坐標(biāo)的值,則3D 點位置就與重心位置是重合的。
作者:
是成功
時間:
2011-1-22 19:14
多謝大家指點迷津,我用草圖解決了。
+ z4 n5 Y' ~* b5 z; g
8 [+ q J9 j: T. M0 N7 s( Z$ M
2樓大俠的宏方法等有時間好好研究一下。
' j5 y: }* V {8 @+ N7 k9 |
5 A# e2 w& D+ h' g/ t. G+ Y
謝謝大家!!
作者:
xiaoyaya6603
時間:
2011-1-23 10:53
都是高手,謝謝了~~~~~~~~~~~~~~~~~~~~~~~~~~
作者:
verysedate
時間:
2011-1-23 22:35
正在學(xué)習(xí)中,呵呵!!
2 E1 o! _; w) k) k) y' l5 ~6 V
作者:
silence云
時間:
2011-1-24 13:44
都是高手啊 宏的確是個好幫手 就是不會用
歡迎光臨 機械社區(qū) (http://mg7058.com/)
Powered by Discuz! X3.4