在Solidworks中我们经常会使用到配置,切换模型的不同的状态。如下图所示,模型中默认的配置为【Default】。文本我们先通过创建图中【Default】以外的配置,以及获取激活这些配置,并删除配置的操作来初步了解下Solidworks中配置的相关对象ConfigurationManager以及Configuration。

image.png
图1
1.ConfigurationManager配置管理器对象:
从字面上可以看到,该对象属于管理配置的,那么配置的添加以及配置相关信息的获取可以通过该对象的属性或方法进行操作。
1.1获取
该对象可以通过如下方式获得
ModelDoc2 Doc;
ConfigurationManager SwConfigMrg = Doc.ConfigurationManager;
1.2创建配置的方法
Configuration SwConfig =ConfigurationManager.AddConfiguration2(Name, Comment, AlternateName, Options, ParentConfigName, Description, Rebuild)

image.png
图解参数:

image.png
参数Options:
枚举类各类值得总和,枚举值如下:

image.png
枚举总和含义,如下图:

image.png
1.3实例:创建图1的配置
代码示例:
public static void CreateConfig(ModelDoc2 Doc)
{
ConfigurationManager SwConfigMrg = Doc.ConfigurationManager;
Configuration SwConfig2 = SwConfigMrg.AddConfiguration2("形状2", "配置2", "11", 1, "", "描述2", true);
Configuration SwConfig3 = SwConfigMrg.AddConfiguration2("形状3", "配置3", "33", 5, "", "描述3", true);
Configuration SwConfig4 = SwConfigMrg.AddConfiguration2("形状4", "配置4", "44", 4, "", "描述4", true);
Configuration SwConfig5 = SwConfigMrg.AddConfiguration2("形状5", "配置5", "55", 1, "Default", "描述5", true);
}
2.Configuration配置对象
每一个配置都是Configuration对象的一个实例,故具体某个配置中的信息可以通过Configuration对象的属性或方法获得。这里举例我们获得上面配置2的相关信息,代码如下:
public static void GetConfig(ModelDoc2 Doc)
{
Configuration SwConfig2 = Doc.GetConfigurationByName("形状2");
if (SwConfig2 != null)
{
string Comment = SwConfig2.Comment;
string AlternateName = SwConfig2.AlternateName;
Doc.ShowConfiguration2("形状2");
System.Windows.MessageBox.Show("配置[形状2]被激活\r\n"+Comment + "\r\n" + AlternateName);
}
else
{
System.Windows.MessageBox.Show("未找到配置2");
}
}
代码运行效果:

image.png
3.配置的激活
ModelDoc2 Doc;;
Doc.ShowConfiguration2("形状2");//参数为配置名
4.配置的删除
ModelDoc2 Doc;
Doc.DeleteConfiguration2("形状2");//参数为配置名称
注意:要被删除的配置如果为激活状态,是不会被删除。需要提前切换其他配置。
本文简要地讲解了配置的创建,获取,激活与删除。在实际的操作中经常会操作配置尺寸,配置属性等等,这些都还涉及其他相关类,在后续的文章中还会结合不同场景给读者介绍各类场景下的配置使用。
如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》 ,实例序号10

image.png