用c#进行Solidworks二次开发的简单步骤

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用c#进行Solidworks二次开发的简单步骤1.录制宏

2.在Solidworks里画一个圆柱,画完后点停止,并将录制结果保存为.csproj

3.点击编辑,打开刚才保存的结果(默认是用vs2005打开的)

4.在项目里添加窗体输入框等

5.修改、添加窗体代码(加粗的部分是必须的)

using ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using SolidWorks.Interop.sldworks;//需要添加的引用

using SolidWorks.Interop.swconst;//需要添加的引用

namespace Macro3.csproj

{

publicpartialclass Form1 : Form

{

SldWorks swApp = null;

ModelDoc2 swModel = null;

public Form1(SldWorks iswApp)//把SolidWorksMacro.cs下的swApp传递过来

{

InitializeComponent();

swApp = iswApp;

swModel = (ModelDoc2)swApp.ActiveDoc;

}

privatevoid Form1_Load(object sender, EventArgs e)

{

}

privatevoid button1_Click(object sender, EventArgs e)

{

long r=0,h=0;

if (swModel == null) swApp.SendMsgToUser("请新建一个零件!");

else

{

if (long.TryParse(textBox1.Text,out r) &&long.TryParse(textBox2.Text,out h))

CreatCylinder(r, h);

else MessageBox.Show("请输入有效的直径和高度!");

}

}

privatevoid CreatCylinder(double r, double h) //从main()函数下粘贴过来的代码,这里改写成一

个方法

{

bool boolstatus = false;

boolstatus = swModel.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, false, 0, null, 0);

swModel.SketchManager.InsertSketch(true);

SketchSegment skSegment = null;

skSegment = ((SketchSegment)(swModel.SketchManager.CreateCircle(0, 0, 0, r, 0, 0)));

boolstatus = swModel.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, false, 0, null, 0);

Feature myFeature = null;

myFeature = ((Feature)(swModel.FeatureManager.FeatureExtrusion2(true, false, false, 0, 0, h, h, false, false, false, false, 0,0, false, false, false, false, true, true, true, 0, 0, false)));

}

}

}

6.修改、添加main()函数代码

using SolidWorks.Interop.sldworks;

using SolidWorks.Interop.swconst;

using System.Runtime.InteropServices;

using System;

namespace Macro3.csproj

{

publicpartialclass SolidWorksMacro

{

publicvoid Main()

{

Form1 myform = new Form1(swApp); //初始化窗体

myform.Show();

}

///

/// The SldWorks swApp variable is pre-assigned for you.

///

public SldWorks swApp;

}

}

7.编译后在Solidworks里点击播放宏,选择debug目录下的dll文件

最终效果:

相关文档
最新文档