用AI写Revit插件?我先吐为快

用AI写Revit插件?我先吐为快
最近AI写代码被吹上天,好像只要会说话,人人都能当程序员。
我实打实用AI写了几周Revit插件,今天来泼盆冷水。
结论先说:AI能帮你写Revit插件,但过程绝不像营销号说的那么美好。
以下全是亲身踩坑实录,没有一处是编的。
一、AI的第一个幻觉:它知道Revit API
你问AI:「帮我写一个Revit 2020的IExternalCommand,获取所有墙的面积。」
它给你一段代码,看起来漂漂亮亮,编译——
错误 CS0117: 'UnitTypeId'未包含'SquareMeters'的定义
哦,原来它给的是Revit 2021+的写法。
你再问:「这是Revit 2020,请用2020的写法。」
它改了,重新给你一段。编译通过,跑起来——
Autodesk.Revit.Exceptions.ArgumentException: Invalid BuiltInParameter
原来RBS_PIPE_BOTTOM_ELEVATION这个参数名,是它自己发明的。Revit API里根本没有这个参数。
这就是用AI写Revit插件的第一大幻觉:它看起来很懂,实际上经常是在一本正经地胡说八道。
二、AI的第二个幻觉:它能理解你的项目
你有一个现成的Revit插件项目,里面有自己的基类、自己的工具方法、自己的命名规范。
你让AI「在我现有的项目里加一个功能」。
它给你一段代码,用的是它自己想象中的项目结构——类名不对、命名空间不对、调用的工具方法不存在。
你要做的不是「直接使用」,而是逐行对照你的项目,把AI生成的代码改到能编译。
改完之后你发现:这段代码的本质逻辑,其实你自己写只需要20分钟。让AI写,再加审查+修改,总共花了一个小时。
这就是所谓的「效率提升」?
三、AI的第三个幻觉:它能处理版本兼容
Revit 2019、2020、2021、2022、2023、2024——每个版本的API都有差异。
你明确告诉AI「用Revit 2020」,它答应得好好的。
结果代码里,UnitUtils.ConvertFromInternalUnits用的是2021的UnitTypeId,BuiltInParameter的枚举值用的是2022新增的。
它不是故意的,它的训练数据里这些版本是混在一起的,它自己分不清。
你要做的,是每一个和单位、参数、API签名有关的地方,都要人工核对一遍。
那我还不如直接查官方文档。
四、最离谱的一次:族编辑器API
我让AI「用C#代码在族文档里创建一个参数」。
它给了三段不同的代码,每一段用的API都不一样:
-
第一段用 FamilyManager.AddParameter(这个方法在族文档里是有的,但参数类型写错了) -
第二段用 doc.LoadFamily(这个方法在族文档里不存在,AI显然不知道) -
第三段直接用了一个不存在的方法 FamilyDocument.AddParameter(完全是我编的,AI也编了一个)
三段代码,全错。
我当时花了半小时跟AI来回对话,试图让它「修正」这段代码。
最后我意识到:AI没见过足够的族编辑器API示例,它根本不知道正确的写法是什么。
我关掉对话框,去查官方API文档,10分钟解决了问题。
五、那AI到底有什么用?
写到这里,你可能会觉得我在彻底否定AI。
不是的。
AI有三个地方确实有用,但和我们想象的「AI写代码」不太一样:
1. 写纯C#逻辑很可靠
查表、字符串处理、集合操作、Excel导出——这些跟Revit API无关的纯C#代码,AI写得非常好,几乎不用改。
「AI写Revit插件」的正确打开方式,其实是让AI写其中跟Revit无关的部分,Revit相关的部分自己写。
2. 解释报错信息很有用
把Visual Studio的报错信息完整粘给AI,它基本都能解释清楚是什么意思、怎么修。
这个用途,比让它直接写代码价值高得多。
3. 帮你查思路,不等同于给你可用代码
有时候你不知道某个功能应该用哪个Revit API,让AI「列出可能的实现思路」,它给的参考方向通常是有价值的。
但拿到思路之后,具体代码还是要自己写,或者自己核对。
六、给营销号的一句话
最近看到不少文章:「AI让每个人都能写Revit插件」「不懂编程也能开发BIM工具」。
别信。
AI降低了写代码的门槛,但没有降到「不需要懂编程」的程度。
你还是需要:
-
能看懂AI生成的代码哪里有问题 -
知道Revit API的基本结构 -
会用Visual Studio调试 -
能判断AI给你的参数是不是编的
如果这些你都不会,AI帮不了你。它只会帮你更快地生成一堆跑不起来的代码。
七、我现在的实际工作流
踩了这么多坑之后,我现在的做法是:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AI是我的助手,不是我的替代品。
它帮我处理重复性劳动,但核心判断始终在我这里。
写在最后
AI写Revit插件——
能做到,但有门槛。
能提速,但要会审查。
能帮你入门,但不能让你跳过学习。
那些告诉你「AI让每个人都能写代码」的人,要么没真正用过,要么在卖课。
真正用过的人会告诉你:
AI是加速器,不是替代者。前提是你本身就得会开车。
优易科技 专注BIM软件研发与数字化建造解决方案
优易BIM助手,懂技术,更懂落地。
欢迎转发
夜雨聆风