作者: littleboy 2025-03-04 16:19:07

另存装配体部件格式

有时我们装配体里的零部件是处于不同的文件夹,那么在选择使用Task Schedule输出文件是就不方便。

这是因为Task Schedule是选择文件或文件夹内文件进行转格式,并不是按项目装配体来输出。所以本文章将尝试验证一种以“装配体为对象,另存装配体零部件的图纸格式的方法”。

代码实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void Transferformat()
{
//获得全部零部件对象参考引用(路径)
string[] objs2 = swApp.ActiveDoc.GetDependencies2(true, true, true);
//循环打开零部件,转格式,
for (int i = 0; i < (objs2.Length) / 2; i++)
{
string item = objs2[1 + 2 * i]; Console.WriteLine(item);
ModelDoc2 swDoc_Drw = null;
try
{
//打开图纸
swDoc_Drw = swApp.OpenDoc((item.Substring(0, item.Length - 6) + "SLDDRW"), 3);
//另存格式
string swDWGName = item.Substring(0, item.Length - 6) + "DWG";
swDoc_Drw.SaveAs3(swDWGName, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_Silent);
//关闭图纸
swApp.CloseDoc((item.Substring(0, item.Length - 6) + "SLDDRW"));
}
catch (Exception)
{
Console.WriteLine ("XXX");
//throw;零部件无图纸的情况
}
}
}

实例效果: