是成功 发表于 2011-1-21 11:00:45

[请教] 如何拾取装配体重心?

计算翻盖机构时,需要知道一个组件的重心位置,SW自带的评估功能可以得到,但是重心点无法拾取。

怎样把重心变成实体点,这样可以用测量工具测量到重心与指定元素(铰链轴等)的距离。

谢谢!

叶飘零 发表于 2011-1-21 12:55:14

本帖最后由 叶飘零 于 2011-1-21 13:56 编辑

可以先点装配体的质量特性按钮,软件计算出重心的XYZ坐标,记下这个坐标,在装配体中插入三维草图,新建一草图点,手动设置草图点的XYZ坐标为刚记下的坐标值就可以了。这是手动的笨方法,只有我这种笨人才用,改了图要手动改点坐标才行。
下面是转载的高手的方法,我试用过了,好像有问题,可能是版本的问题吧。(以下为转载)

3D草图点可以通过宏程序和重心进行关联,具体操作方式步驟如下1. 功能表>工具>宏/巨集>新增
2. 選擇儲存位置及給予有意義的名字
3. 刪除新宏內所有內容,貼上以下的程序碼


[*]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
5. 立即運行也可,或到自定義工具列,新增一個圖示方便使用
由于程序簡短編寫,因此有很多禁忌必須注意:
1. 必定在裝配內運行
2. 再多配置/模型組態的情況下,每個重心特徵宏只可再一個配置/模型組態內運行,在其他配置/模型組態內必須抑制
3. 3D草圖內的那一個點不可刪除
4. 這個裝配插入到另一個裝配(成為子裝配),如果多於一個的時候,這些子裝配就不可設定為靈活。

转载来源链接:http://www.5dcad.cn/bbs/thread-39631-1-1.html,感谢原作者!

jerry_52 发表于 2011-1-21 13:01:33

质量特性上面不是有个重心的坐标吗,可以自已画一个吗

紫剑狂风 发表于 2011-1-21 14:22:04

先工具 质量特性 读出中心点的3维坐标值,然后画3D草图,做一个3D 的点 把点的坐标更改为 中心坐标的值,则3D 点位置就与重心位置是重合的。

是成功 发表于 2011-1-22 19:14:01

多谢大家指点迷津,我用草图解决了。

2楼大侠的宏方法等有时间好好研究一下。

谢谢大家!!

xiaoyaya6603 发表于 2011-1-23 10:53:31

都是高手,谢谢了~~~~~~~~~~~~~~~~~~~~~~~~~~

verysedate 发表于 2011-1-23 22:35:08

正在学习中,呵呵!!

silence云 发表于 2011-1-24 13:44:32

都是高手啊宏的确是个好帮手 就是不会用
页: [1]
查看完整版本: [请教] 如何拾取装配体重心?