装配体中的Component2部件对象

在装配体中每个部件都是Component2对象的一个实例,装配体中的自动化操作少不了使用到Component2。本节我们就来介绍下Component2,以及一些部件的基本操作。
如下图所示,装配体中的零部件,底座及转轴,都是Component2对象的一个实例。

图片.png

1.Component2对象的获取

Component2对象的获取方式有很多,在已知需要获取部件的名称时候,我们可以通过如下方式获取部件。

AssemblyDoc.GetComponentByName(CompName)

示例

Component2 SwComp = ((AssemblyDoc)swApp.ActiveDoc).GetComponentByName("转轴-1");

其中部件名“转轴-1”中的1,对应如下图尖括号中的数字

图片.png

2.部件文档对象的获取

通过Component2的方法,还可以进一步获取对应部件的通用文档对象ModelDoc2对象,以进行进一步的自动化操作如属性设置。可以通过如下方法实现:

ModelDoc2 Doc=Component2.GetModelDoc2()

3.实例分析

A.装配体中的部件设置

在装配体中,我们可以通过Component2的方法,对部件进行压缩,解压,轻化的设置。方法如下:

Component2.SetSuppression2(State)

其中参数Status是swComponentSuppressionState_e枚举实例,分别包括压缩,解压,轻化等情况。

图片.png

代码示例

public static void SetComponentsStatus(Component2 SwComp)
{
     SwComp.SetSuppression2((int)swComponentSuppressionState_e.swComponentSuppressed);
     System.Windows.MessageBox.Show("部件"+ SwComp.Name2+":被压缩");
     SwComp.SetSuppression2((int)swComponentSuppressionState_e.swComponentResolved);
     System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":被解压");
     SwComp.SetSuppression2((int)swComponentSuppressionState_e.swComponentFullyLightweight);
     System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":被轻化");
     SwComp.SetSuppression2((int)swComponentSuppressionState_e.swComponentResolved);//还原解压
 }

B.部件是否包含在明细栏

我们可以通过Component2.ExcludeFromBOM的属性对部件进行是否包含在明细表的设置。

图片.png

示例代码:

public static void SetCompBomInclude(Component2 SwComp)
{
    SwComp.ExcludeFromBOM = true;
    System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":设置为不包含在明细表中");
    SwComp.ExcludeFromBOM = false;
    System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":设置包含在明细表中");
}

C.部件的配置设置

当部件存在不同配置的时候,装配体中需要设置使用部件的哪种配置,此时可以通过部件的属性Component2.ReferencedConfiguration进行部件的配置设置。注意,当部件变化了配置后,需要对其所在的装配体进行模型重新,以刷新模型。

图片.png

代码示例

public static void SetCompConfig(ModelDoc2 AssemDoc, Component2 SwComp)
{
     SwComp.ReferencedConfiguration = "配置2";
     AssemDoc.EditRebuild3();
     System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":使用了配置2");
     SwComp.ReferencedConfiguration = "Default";
     AssemDoc.EditRebuild3();
     System.Windows.MessageBox.Show("部件" + SwComp.Name2 + ":使用了Default配置");
 }

如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》实例序号16

图片.png

你可能感兴趣的:(装配体中的Component2部件对象)