revit 二次开发01

181 阅读2分钟

1 加入addins manager

先上官网下个2023的SDK,可以和revit安装在不同目录。

Revit SDKs and Tools | Autodesk Platform Services

然后打开文档:C:\ProgramData\Autodesk\Revit\Addins\2023,注意不是Program Files

找到下载安装的SDK目录, 把Autodesk.AddInManager.addin这个复制过来, 再自己新建一个Add-In Manager文件夹

image.png

Add-In Manager文件夹中我是直接把Autodesk.AddInManager.addin所在原目录里面的所有文件直接复制过来, 并把Autodesk.AddInManager.addin删掉(因为我们已经把复制在上一层目录文件了)

然后打开Autodesk.AddInManager.addin更改如下目录, 根据个人情况更改(重点是"Autodesk.AddInManager.Command.dll"这个文件的路径, 可相对也可绝对)

image.png

搞定!打开Revit就有了

image.png

2 编译sdk Samples

thebuildingcoder.typepad.com/blog/2022/0…

  • 设置 Revit API 引用
    •  第一次尝试直接编译 SDKSamples.sln 时产生了 9544 个错误和 1168 个警告;找不到命名空间 Autodesk。
    • SDKSamples 包含 199 个解决方案项目,我不打算逐一编辑它们的引用,所以我需要以某种方式实现批量更新。
    • 幸运的是,也不需要这样做;在 VSProps 文件夹和 ContextualAnalyticalModel.csproj 中,全局搜索 RevitAPI.dll,我只发现了 8 个实例。显然,后者是一个例外。
    • 我最终通过在以下文件中将变量表达式替换为常量 C:\Program Files\Autodesk\Revit 2023 来修复了 Revit API 引用:
ContextualAnalyticalModel.csproj 
SDKSamples.CivilAlignments.targets
SDKSamples.VB.targets
SDKSamples.targets
SDKSamples.Steel.targets

通过这些修改,我成功地编译了所有 199 个项目,没有出现任何错误。
  • 消除处理器架构不匹配警告
    • 仍然有95个警告。大多数与持久的处理器架构不匹配有关,例如
    • 警告:正在构建的项目的处理器架构“MSIL”与引用“RevitAPIUI”的处理器架构“AMD64”不匹配。此不匹配可能导致运行时失败。请考虑通过配置管理器更改项目的目标处理器架构,以使项目与引用之间的处理器架构保持一致,或依赖于处理器架构与项目目标处理器架构匹配的引用。
    • 我提到过这个警告,并从那时起在每个版本中都在修复它:
    • 处理器架构不匹配警告和关键钩子、
    • 递归禁用架构不匹配警告
    • 架构不匹配警告禁用程序更新
    • 我实现了DisableMismatchWarning工具来帮助我做到这一点,现在也在使用它
    • 在对所有示例运行之后,仅剩6个警告。

image.png