如何在Solidworks的装配体文件中获取所选零件的所有尺寸?

问题描述 投票:0回答:1

我编写了一个宏,以从部件中按名称选择零部件,然后根据需要更改其尺寸以使过程自动化。

因为我使用了尺寸名称,所以该脚本当前无法用于其他类似的程序集。

我的问题是,如何在装配文件中获取所选零部件的所有尺寸。

在此处包含我的代码的一部分:


Dim vComponents As Variant
Dim vComp As Variant

Dim Part As Object



Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

vComponents = Part.GetComponents(True)



For Each vComp In vComponents
Set swComp = vComp
If InStr(swComp.Name2, "_ST_") > 0 Then swComp.Select4 True, Nothing, False
Next


Set swSelMgr = Part.SelectionManager
Set swSelComp = swSelMgr.GetSelectedObjectsComponent4(1, -1)
Set swReferenceModel = swSelComp.GetModelDoc2

originalStello = swReferenceModel.Parameter("D7@Schizzo1").Value  // this is where I am hard coding the name

在最后一行中,您可以看到我通过硬编码其名称来获取尺寸值。我想获取SELECTED组件的所有维度,然后编写逻辑以从该列表中获取特定维度。

我2天前开始使用Solidworks API。请帮助!

solidworks
1个回答
0
投票

您可以从所选组件的引用模型中读取所有“参数”。为此,您首先必须获取引用模型的ActiveConfiguration,然后使用GetParameters填充变量。

变量vParamNames包含参数名称,变量vParamValues包含所属值。您可能必须过滤出所需的尺寸。

Dim swSelMgr As SldWorks.SelectionMgr
Set swSelMgr = Part.SelectionManager

Dim swSelComp As SldWorks.Component2
Set swSelComp = swSelMgr.GetSelectedObjectsComponent4(1, -1)

Dim swReferenceModel As SldWorks.ModelDoc2
Set swReferenceModel = swSelComp.GetModelDoc2

Dim swConfig As SldWorks.Configuration
Set swConfig = swReferenceModel.ConfigurationManager.ActiveConfiguration

Dim vParamNames As Variant
Dim vParamValues As Variant

swConfig.GetParameters vParamNames, vParamValues
© www.soinside.com 2019 - 2024. All rights reserved.