1、装配体中零部件有①压缩、②还原、③轻化这三种状态。
2、大型装配体会自动轻化零部件以提升程序运行的流畅度,但在轻化状态下,我们对零部件可进行的操作也会受到限制,压缩状态下更不必说,所以需要将零件从轻化状态下还原。
3、我是通过Component2.GetModelDoc2()方法来确定子件是否被轻化的,轻化状态下,该方法无法获取到ModelDoc2对象,所以在遍历装配体中的组件时,通过判断从组件获取到的ModelDoc2对象是否为空,来对当前组件做重新获取,关键代码如下:
ModelDoc2 swModel = (ModelDoc2)swComp.GetModelDoc2();
if (swModel == null)
{
assemblyDoc.CompConfigProperties5(2, 0, true, true, "默认", false, false);
swModel = (ModelDoc2)swComp.GetModelDoc2();
}
4、只需要调用AssemblyDoc.ComConfigProperties5方法,就可以还原组件,参数就使用我上面的参考代码就可以。