新浪博客

Hello, 我的第一个Inventor C# addin.

2012-09-08 20:00阅读:
本文主要实现如下功能, - 开发一个Inventor addin,能够加载到Inventor的附加模块中。
- 该addinInventor启动时自动加载。
- 在addin加载成功的时候,弹出一个响应消息。


基本步骤,
  1. 创建Inventor addin项目
  2. 添加响应消息
  3. 配置Inventor addin
  4. 测试结果



1. 创建Inventor Addin项目
我们将使用VC#项目中的Inventor addin模板来创建第一个项目。
首先打开VS 2010, 选择“文件”->“新建项目”,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.

在“新建项目”对话框中,选择“Visual C#”->“Autodesk Inventor AddIn”模板,项目名字填写为“HelloInventor”,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
然后点击“OK”按钮来创建Inventor addin项目,此时在VS中将会生成如下图所示的一个项目,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
在解决方案浏览器中找到一个Autodesk.HelloInventor.Inventor.addin的文件,双击打开。在这个文件中有如下的设置,
<Addin Type='Standard'>
<!--Created for Autodesk Inventor Version 17.0-->
<ClassId>{ed386787-b4f5-4cc8-91c3-8981cc813874}</ClassId>
<ClientId>{ed386787-b4f5-4cc8-91c3-8981cc813874}</ClientId>
<DisplayName>HelloInventor</DisplayName>
<Description>HelloInventor</Description>
<Assembly>HelloInventor.dll</Assembly>
<LoadOnStartUp>1</LoadOnStartUp>
<UserUnloadable>1</UserUnloadable>
<Hidden>0</Hidden>
<SupportedSoftwareVersionGreaterThan>16..</SupportedSoftwareVersionGreaterThan>
<DataVersion>1</DataVersion>
<UserInterfaceVersion>1</UserInterfaceVersion>
</Addin>


其中需要关注的是LoadOnStartUp设置的值,该设置的默认值为1,这将告诉Inventor在启动时自动加载该addin。


创建后可以尝试编译一下项目,点击“Build”->“Build Solution”,或者直接按F6,看是否编译成功。请注意开发项目文件所在路径不要有中文字符,否则会出现错误,详细介绍请参考这篇博文
2. 添加响应消息


为了添加响应消息,我们须要在项目中新增一个.NET库模块System.Windows.Forms的引用。在解决方案浏览器中找到“Reference”,右击后在菜单选择“Add Reference...”,这时会弹出“Add Reference”对话框,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
“Add Reference”对话框中,选择“.NET”选项卡->选中“System.Windows.Forms”,点击“OK”按钮确定添加,此时在项目引用中会新增“System.Windows.Forms”的模块。


在模块添加后,接下来要添加代码,使得在addin被Inventor加载时弹出一个响应消息。


首先在项目中找到“StandardAddInServer.cs”的文件并打开,这个文件包含了一个StandardAddInServer的类继承于Inventor.ApplicationAddInServer。在文件头部添加下面一行代码,
using System.Windows.Forms;
然后在类StandardAddInServer的Activate方法中添加下面一行代码,
MessageBox.Show('Hello, this is my first Inventor C# addin.');


整个代码改动如下图所示,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
添加代码后可以按F6编译整个项目,编译成功后将下面的目录中生成一个HelloInventor.dll的文件,
- 项目为调试编译时:$(ProjectDir)/bin/debug
- 项目为发布编译时: $(ProjectDir)/bin/release


HelloInventor.dll就是我们开发后的Inventor addin模块,该模块将会被Inventor加载并使用。




3. 配置Inventor addin
为了让Inventor加载并使用刚刚编译好的HelloInventor.dll,我们还需要做两步配置工作。


第一步,将HelloInventor.dll拷贝到Inventor的安装目录下bin文件夹,
- Inventor <InstallPath>\bin\
第二步,项目中有个文件为Autodesk.HelloInventor.Inventor.addin,将这个文件拷贝到下面的文件夹中,
如果是Windows XP,则为C:\Documents and Settings\All Users\Application Data\Autodesk\Inventor [version]\Addins\
如果是Windows7,则为C:\ProgramData\Autodesk\Inventor [version]\Addins\


完成上面的配置工作后,拷贝到bin文件夹的HelloInventor.dll将会被Invenor识别到并加载。




4. 测试结果
最后我们可以启动Inventor,在启动不久后,我们将会看到如下的一个消息框,
Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
这说明所开发的HelloInventor.dll已经被Inventor成功加载。


更多详细加载信息可以到Inventor的附加模块管理器中查看,点击“工具”选项卡->“选项”->“附加模块”,然后就能看到HelloInventor.dll的加载情况和位置


Hello, <wbr>我的第一个Inventor <wbr>C# <wbr>addin.
结束语
到现在,第一个C#的Inventor addin项目已经完成,当然里面还有许多设置和配置需要更多详细的解释,整个项目也有需要进一步完善的地方,这在下一篇文章中介绍。
参考资料:
-


我的更多文章

下载客户端阅读体验更佳

APP专享