上一文中,我们初步认识了应用程序对象SldWorks,本文将进一步介绍该对象的文档操作方法:新建,打开,及获取所有打开的文档。
1.新建文档
SldWorks对象中的方法NewDocument可以新建Solidworks的零件,装配体,以及图纸文档,该方法使用如下,含有4个参数。
SldWorks.NewDocument(TemplateName, PaperSize, Width, Height)
参数含义:

image.png
代码示例,分别新建零件,装配体,及图纸--详细代码可见我的GitHub:
ModelDoc2 PartDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"SwFile\PartTemplate.PRTDOT", (int)swDwgPaperSizes_e.swDwgPaperA0size, 10, 10);
ModelDoc2 AssemDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"SwFile\AssemTemplate.ASMDOT", (int)swDwgPaperSizes_e.swDwgPaperA0size, 10, 10);
ModelDoc2 DrawDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"SwFile\DrawingTemplate.DRWDOT", (int)swDwgPaperSizes_e.swDwgPaperA0size, 10, 10);
2.打开文档
SldWorks对象中的方法OpenDoc6可以打开Solidworks零件,装配体,以及图纸文档,该方法使用如下,含有6个参数。
SldWorks.OpenDoc6(FileName, Type, Options, Configuration, Errors, Warnings)
参数含义:

image.png
代码示例,打开PlugTopBox.SLDPRT零件--详细代码可见我的GitHub:
int err = -1;
int warn = -1;
ModelDoc2 OpenDoc = swApp.OpenDoc6(AppDomain.CurrentDomain.BaseDirectory + @"RectanglePlug\PlugTopBox.SLDPRT", (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_AutoMissingConfig, "圆壳", ref err, ref warn);
效果:打开了模型,并激活了圆壳的配置

image.png
3.获得所有打开的文档
我们可以通过SldWorks对象中的方法GetDocuments方法,获得当前打开的所有文档。
代码示例--详细代码可见我的GitHub:
object[] ObjDocs = iswApp.GetDocuments();//获得文档对象数组
if (ObjDocs != null)//存在打开的文档
{
StringBuilder Sb = new StringBuilder();
foreach (object x in ObjDocs)//遍历每个对象
{
if (x is ModelDoc2)//如果是Solidworks文档
{
Sb.Append(((ModelDoc2)x).GetTitle() + "\r\n");
}
}
MessageBox.Show("打开的文档:\r\n" + Sb.ToString().Trim());
}
效果如下:

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

image.png