C# SolidWorks 二次开发 API —新零件的创建以及打开已有文件
这一篇我们来看一下如何进行新零件的创建以及打开已有文件,我们以零件为例。
继续建一个按钮来测试
逻辑如下:首先得到文件模板,因为我们手动创建新零件时也是要选择对应的模板的。
Solidworks中的设置如下:
代码:
private void btnOpenAndNew_Click(object sender, EventArgs e)
{
ISldWorks swApp = Utility.ConnectToSolidWorks();
if (swApp != null)
{
//通过GetDocumentTemplate 获取默认模板的路径 ,第一个参数可以指定类型
string partDefaultTemplate = swApp.GetDocumentTemplate((int)swDocumentTypes_e.swDocPART, "", 0, 0, 0);
//也可以直接指定slddot asmdot drwdot
//partDefaultTemplate = @"xxx\..prtdot";
var newDoc = swApp.NewDocument(partDefaultTemplate, 0, 0, 0);
if (newDoc != null)
{
//创建完成
swApp.SendMsgToUser("Create done.");
//下面获取当前文件
ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;
//选择对应的草图基准面
bool boolstatus = swModel.Extension.SelectByID2("Plane1", "PLANE", 0, 0, 0, false, 0, null, 0);
//创建一个2d草图
swModel.SketchManager.InsertSketch(true);
//画一条线 长度100mm (solidworks 中系统单位是米,所以这里写0.1)
swModel.SketchManager.CreateLine(0, 0, 0, 0, 0.1, 0);
//关闭草图
swModel.SketchManager.InsertSketch(true);
string myNewPartPath = @"C:\study\myNewPart.SLDPRT";
//保存零件.
int longstatus = swModel.SaveAs3(myNewPartPath, 0, 1);
//关闭零件
swApp.CloseDoc(myNewPartPath);
swApp.SendMsgToUser("Closed");
//重新打开零件.
swApp.OpenDoc(myNewPartPath, (int)swDocumentTypes_e.swDocPART);
swApp.SendMsgToUser("Open completed.");
}
}
}
这里我们以创建一个新零件为例(第一次是Part1 第二次就是Part2….):
接着会继续创建一个新草图,绘制一条一线。然后把文件保存到指定路径。最后闭文件后再打开。
源代码见码云仓库:https://gitee.com/painezeng/CSharpAndSolidWorks
posted @
2019-09-10 13:23
painezeng 阅读(
247) 评论(
0)
编辑
收藏
举报