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

iCAx开思网

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

[已解决] 如何取出多實體零件中單一實體的體積值

[复制链接]
11
发表于 2014-8-6 13:52:42 | 只看该作者
補上在api找到的資料

This example show how to get the mass of the selected component of an assembly.

'---------------------------------------------
'
' Preconditions:

' 1. Specified assembly document exists.

' 2. Open the Immediate window.

' 3. Run the macro.

'

' Postconditions: Mass of the selected component printed to
' Immediate window.

'

'---------------------------------------------

Option Explicit

Sub main()

Dim swApp As SldWorks.SldWorks
Dim swModelDoc As SldWorks.ModelDoc2
Dim comp As Component2
Dim compbody As Variant
Dim bodyInfo As Variant
Dim val As Double
Dim params As Variant
Dim swMass As SldWorks.MassProperty
Dim boolstatus As Boolean
Dim errors As Long
Dim warnings As Long
Set swApp = Application.SldWorks
Set swModelDoc = swApp.OpenDoc6("C:\program files\solidworks corp\solidworks\samples\tutorial\edraw\claw\claw-mechanism.sldasm", swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
boolstatus = swModelDoc.Extension.SelectByID2("collar-1@claw-mechanism", "COMPONENT", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)
Set comp = swModelDoc.SelectionManager.GetSelectedObject6(1, 0)
compbody = comp.GetBodies3(swAllBodies, bodyInfo)
Set swMass = swModelDoc.Extension.CreateMassProperty
boolstatus = swMass.AddBodies((compbody))
swMass.UseSystemUnits = False
val = swMass.mass
Debug.Print "Mass - " & val
val = swMass.Volume
Debug.Print "Volume - " & val
val = swMass.Density
Debug.Print "Density - " & val
val = swMass.SurfaceArea
Debug.Print "Surface area - " & val
params = swMass.CenterOfMass
Debug.Print "Center of mass - X: " & params(0) & " ,Y: " & params(1) & ", and Z: " & params(2)
End Sub
12
发表于 2014-8-6 16:17:14 | 只看该作者
本帖最后由 ryouss 于 2014-8-6 16:43 编辑
Francis 发表于 2014-8-6 13:01
補充
mass 改為 volume

還要再請教了,
如圖,原本 "項次1" 是看不到 "屬性" 的,
找到大師的宏執行才顯示,除了用宏取出,沒其他方式可激活嗎?
已解決,謝謝!



本帖子中包含更多资源

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

x
13
发表于 2014-8-6 16:30:12 | 只看该作者
本帖最后由 gt.adan 于 2014-8-6 16:31 编辑

梁叔可否放一個看不見屬性的檔案給阿丹測試一下?
我這邊2012沒問題的,除料清單「更新」後就可以使用了。

本帖子中包含更多资源

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

x
14
发表于 2014-8-6 16:40:45 | 只看该作者
gt.adan 发表于 2014-8-6 16:30
梁叔可否放一個看不見屬性的檔案給阿丹測試一下?
我這邊2012沒問題的,除料清單「更新」後就可以使用了。 ...

謝謝丹版主指導,
就是要做一次更新,
之前根本沒研習用到焊件,所以問題特別多!


15
发表于 2014-8-6 16:55:52 | 只看该作者
本帖最后由 Francis 于 2014-8-6 16:57 编辑

要在"切割清單"的每一個文件夾的加上"體積"屬性, 方法如下:

1. 刪除"切割清單"內所有現有的文件夾.
2. 對著第一個特徵(原點下一個)按右鍵

3. 加入"體積"屬性(下拉清單有個 volume 的, 不需自行鍵入)

4. 對著實體文件夾按右鍵點選更新

5. 所有新建立的切割清單就有體積屬性, 無需逐一手動加上的.

本帖子中包含更多资源

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

x

评分

参与人数 1技术 +1 收起 理由
gt.adan + 1 謝謝悶大教程!

查看全部评分

16
发表于 2014-8-6 17:08:33 | 只看该作者
本帖最后由 Francis 于 2014-8-7 18:55 编辑

要是提取其數據更是便中之便, 註釋鍵入"$PRPWLD:"體積""即可, 然後 copy & paste 到不同的實體, 無需逐一鍵入.



可能蛋大又會問悶人"是否經常使用到$PRP語句", 讓悶人無言.

本帖子中包含更多资源

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

x

评分

参与人数 1技术 +1 收起 理由
gt.adan + 1 不問了,謝謝悶大教程!

查看全部评分

17
发表于 2014-8-6 17:25:50 | 只看该作者
顶哦,能再详细点啊
18
发表于 2014-8-6 17:29:09 | 只看该作者
又發現個問題

零件屬性的 "值" 好像一定要從 "除料清單屬性" 做好複製過去,
直接打字是不行的,是這樣嗎??



本帖子中包含更多资源

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

x
19
发表于 2014-8-6 17:45:02 | 只看该作者
本帖最后由 gt.adan 于 2014-8-6 17:46 编辑
ryouss 发表于 2014-8-6 17:29
又發現個問題

零件屬性的 "值" 好像一定要從 "除料清單屬性" 做好複製過去,

不對,請梁叔注意大小寫的問題。

本帖子中包含更多资源

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

x
20
发表于 2014-8-6 17:59:09 | 只看该作者
如果不是有特別要求,或是不在工程圖中調用,直接鍵入也行。
無需在屬性欄位再連結一次。梁叔可見我的屬性欄位是空的。


本帖子中包含更多资源

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

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

本版积分规则

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

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

GMT+8, 2025-4-9 01:41 , Processed in 0.029384 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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