自定义Translator add-in - 1

Inventor支持打开或保存多种文件格式,例如*.DWG, *.SAT, *.IGS等。其背后是由对应的Translator add-in (格式转换器)所处理。在插件管理器的Translator选项卡下可以看到它们。而普通的插件是在Applications选项卡。


clip_image001[4]

如果你的文件格式Inventor还不支持,可以自己做转换器。API提供了这种能力。其实,我们经常做的插件是常规插件(放在Applications下的那些),Translator也是一种插件。其实这种插件的基本结构和普通插件是类似的:

1.都是一个dll
2. *.X.Manifest与*.dll编译
3. 由 *.addin文件规定其行为 

但有些细节是不同的:

1. Translator 插件需要从TranslatorAddInServer继承
2. 必须重载几个方法,例如 Open和SaveCopyAs方法等
3. *.addin文件里的标签内容用来规定是Translator,用于打开保存什么后缀名的文件,是否支持打开的转换,是否支持保存转换等。具体请见我写的英文博客:

http://adndevblog.typepad.com/manufacturing/2014/02/custom-translator-addin-of-inventor-1.html

大家知道,对于常规插件,Inventor 向导是可以帮你创建一个工程。C++的向导,还有选项创建Translator插件。但.NET的还没有提供。既然它和普通插件类似,我就把普通插件的模板拿出来,修改修改,做了个Translator插件模板。我暂时做的是C#的,过几天做VB.NET的。

Download VCSInventorTranslatorAddInTemplate2014

把这个压缩包放到

<Documents>\ Visual Studio ***\Templates\ProjectTemplates\ 

当打开VS,选择这个模板创建工程

clip_image002

工程建立后是这个样子。它帮助你新建了一个类,把TranslatorAddInServer的必要方法都重载了。

clip_image003

也准备好了一个*.addin文件。默认是处理*.abc文件。你可以根据需要修改成自己的后缀。还有其它行为参数也可修改。

<AddinType="Translator">
  <!--Created for Autodesk Inventor Version 18.0-->
  <ClassId>{f4c4d6ac-3354-457b-ad49-626583d640d9}</ClassId>
  <ClientId>{f4c4d6ac-3354-457b-ad49-626583d640d9}</ClientId>
  <DisplayName>MyTranslator</DisplayName>
  <Description>MyTranslator</Description>
  <Assembly>MyTranslator.dll</Assembly>
  <SupportsOpenInto>.ipt;.iam</SupportsOpenInto>
  <SupportsImportInto>.ipt</SupportsImportInto>
  <SupportsSaveCopyAsFrom>.ipt;.iam</SupportsSaveCopyAsFrom>
  <FileExtensions>.abc</FileExtensions>
  <FilterTextLanguage="1033">ABC Files (*.abc)</FilterText>
  <SupportsOpen>1</SupportsOpen>
  <SupportsImport>1</SupportsImport>
  <SupportsSaveCopyAs>1</SupportsSaveCopyAs>
  <LoadOnStartUp>0</LoadOnStartUp>
  <UserUnloadable>1</UserUnloadable>
  <Hidden>0</Hidden>
  <ExtraInfo>1</ExtraInfo>
</Addin>

下一篇博客我将根据这个工程做一个具体的例子,实现对*.abc的打开和保存。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值