在郝总的三寸不烂之舌鼓动下,在短短一天之内,从BIM了解到了Revit,下载、安装、初探玄机,又是三天。
大致了解清楚了Revit API的使用,成功编译了示例代码里几个程序,从叶健雄老师博客文章里找了几个例子也顺利完成了。
怎奈何C#非吾强项,在网上也没找到可借鉴的用VC进行二次开发的例子,便想到了CLR。新建项目,CLR类的DLL,复制过代码作了相应修改,呵,想不到的顺利。
再加上MFC如何?惨了,编译总报错:“mfcs100d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)
”,在网上反复查遍,用到所有查到的办法都没有解决。估计与项目本身是CLR的有关。
再试,这次新建一个MFC DLL项目,然后在项目设置里加上CLR支持,再把相应代码复制过来,编译通过了,运行Revit,AddInManager,Run,OK了!!
我这个初学者想提醒后来初学者的是,如果是用VC++作Revit二次开发,如果Revit是X64的,那么只能编译为X64的DLL版本,以供Revit调用。