目前再做族库项目,已经将WPF界面做好但是由于开始的时候是WPF项目,中间的交互操作需要在Revit中实现,想着通过WPF驱动Revit从而实现两个窗口之间的互通。

一个办法是通用的,使用外部事件实现,这一条路径比较容易
另一个办法是在看jimmy的博客的时候发现有一个案例,通过WCF作为连接驱动两个独立的程序。

关于创建WCF程序可以参照官网

控制台与Revit均需要管理员权限运行,否则将会报错无法接受终结点的错误

我的代码放到GitHub,只修改了关于Revit的部分,如果官方案例无法运行可以对照两个案例互相验证。

通过看前辈的项目,学习到了使用命令行快速定位addin文件,也明白了一些插件无法在常规路径看不到的原因

1
2
3
4
5
copy "$(ProjectDir)RevitExternalDemo.addin" "$(AppData)\Autodesk\REVIT\Addins\2016"
copy "$(TargetPath)" "$(AppData)\Autodesk\REVIT\Addins\2016"

copy "$(ProjectDir)RevitExternalDemo.addin" "$(AppData)\Autodesk\REVIT\Addins\2019"
copy "$(TargetPath)" "$(AppData)\Autodesk\REVIT\Addins\2019"