在Solidworks的參數(shù)化建模中,經(jīng)常需要獲取與設(shè)置尺寸。本文將帶大家初步了解Solidworks中的尺寸對(duì)象Dimension。
Dimension對(duì)象的獲得方式:

image.png
如下圖所示,模型有2個(gè)配置,我們需要獲取與設(shè)置圖中的尺寸。

image.png
實(shí)例分析1:獲得模型中尺寸的相關(guān)信息
實(shí)例代碼:
GetDim(Doc, "L@草圖1");
public static void GetDim(ModelDoc2 Doc,string DimName)
{
Dimension SwDim = Doc.Parameter(DimName);
StringBuilder sb = new StringBuilder("");
sb.Append("尺寸名:"+ SwDim.Name+"\r\n");
sb.Append("完整尺寸名:" + SwDim.FullName + "\r\n");
sb.Append("選擇名:" + SwDim.GetNameForSelection() + "\r\n");
double[] aa = SwDim.GetValue3((int)swInConfigurationOpts_e.swSpecifyConfiguration,new string[] { "Default" ,"cfg2"});
sb.Append("Default配置-尺寸值:" + aa[0] + "\r\n");
sb.Append("cfg2配置-尺寸值:" + aa[1] + "\r\n");
System.Windows.MessageBox.Show(sb.ToString().Trim());
}
實(shí)例效果:

image.png
實(shí)例分析:
通過Dimension對(duì)象的GetValue3方法可以獲得不同配置下對(duì)應(yīng)的尺寸值。
Dimension.GetValue3(WhichConfigurations, Config_names)
參數(shù)WhichConfigurations為枚舉類型swInConfigurationOpts_e:

image.png
參數(shù)Config_names為一個(gè)字符串?dāng)?shù)組,記錄需要獲取的每個(gè)配置名稱,方法的輸出結(jié)果尺寸值的排序也是根據(jù)Config_names中配置名稱的順序?qū)?yīng)。Config_names僅在WhichConfigurations為swSpecifyConfiguration(即指定配置)時(shí)才有效。
實(shí)例分析2:設(shè)置模型中的尺寸
本例中,我們將對(duì)模型中的長(zhǎng)度尺寸進(jìn)行不同配置下的賦值
實(shí)例代碼
Dictionary<string, double> Vals = new Dictionary<string, double>();
Vals.Add("Default", 66);
Vals.Add("cfg2", 77);
SetDim(Doc, "L@草圖1", Vals)
public static void SetDim(ModelDoc2 Doc, string DimName,Dictionary<string,double> Vals)
{
Dimension SwDim = Doc.Parameter(DimName);
foreach (string cfg in Vals.Keys)
{
SwDim.SetValue3(Vals[cfg], (int)swSetValueInConfiguration_e.swSetValue_InSpecificConfigurations, new string[] { cfg });
}
Doc.EditRebuild3();
}
實(shí)例效果:
可以看到尺寸L在2個(gè)配置中的值都發(fā)生了變化。

image.png
如下圖為本文的示例程序,源碼可上我的Github下載。操作步驟可見文章《公眾號(hào)源碼Github分享庫》 , 實(shí)例序號(hào)13

image.png