前文提到,我们可通过模板创建一个Translator插件的框架。现在我们看看如何实现基本的导入导出流程。假定我们的文件*.abc有三项数据(为简单起见,该文件实际为纯文本)。
1. 三个以逗号分隔的数字。
2. 一个数字
3. 一个字串
导入流程将创建一个零件,并根据1和2创建一个球体,1提供球体圆心坐标,2提供球体半径。接着将根据3的字串更新文件的【零件号】。而导出流程假定有个已有的零件,它包含至少一个回转体(并且是完整的球体),Translator插件将会读取球体信息,以及文档的【零件号】信息,将它们写入到一个新的*.abc文件。
以下是需要实现的Open和SaveCopyAs方法。完整工程可下载:Download MyTranslator
publicvoid Open(DataMedium SourceData,
TranslationContext Context,
NameValueMap Options,
refobject TargetObject)
{
// When Open *.abc, this function will
// be invoked
//the file name of the data source
string fileName = SourceData.FileName;
// the params read from the data source
//center point of sphere
Inventor.Point oCenterPt =
m_inventorApplication.TransientGeometry.CreatePoint();
//radius of sphere
double radius = 0;
//part number
string partNumber = "";
try
{
//read the data source
using (StreamReader sr = newStr