首页/技术分享

一个免费Revit+AI的工作流程(revittools)

发布于:2026-04-09 14:03:07
8人 分享

revittools是一款能够在Revit中直接执行C#脚本的插件,可无需编译,直接执行代码;配合对AI提功能需求,将AI生成的脚本代码复制到插件中,直接执行,实现在Revit软件中快速执行AI命令,是目前个人认为最适合入门使用,实现快速利用AI在revit中提效的方式;目前支持Revit- MCP由AI直接控制的插件普遍要收费,通过使用revittools智能体能体验到Revit依靠AI进行二次开发的乐趣;

软件安装

安装包获取,在公众号中回复revittools获取安装包;

将压缩包的内容复制到下面路径中:C:\ProgramData\Autodesk\Revit\Addins\2019不同版本的软件需要对后面的数字进行修改;首次安装可在软件打开时完成,无需关闭正在运行的Revit(运行过程中安装先复制文件夹,再复制addin文件,否则可能会报错,如出现报错,重开软件即可);

image.png

复制后效果如下,此时再软件中附加模块选项卡下会有软件图标:

image.png

软件使用

软件图标下有五个功能,执行代码推荐使用打开非模态窗口功能;点击打开非模态窗口,可打开如下界面;主要可分为执行区代码粘贴区报错提示区几个区域;为了方便报错的查看,可以将鼠标挪至粘贴区与报错区中间,将报错区域适当拉大;

image.png

删除原代码粘贴区域的所有内容,将AI提供的代码,粘贴到代码粘贴区域;点击执行区的三角形按钮即可执行;

测试代码(当前功能为选中当前视图的所有门,当前代码基于Revit 2019):

using System;
using System.Linq;
using System.Collections.Generic;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.DB.Mechanical;
using Autodesk.Revit.DB.Electrical;
using Autodesk.Revit.DB.Plumbing;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;

public void main(UIApplication uiApplication)
{
    UIDocument uidoc = uiApplication.ActiveUIDocument;
    Document doc = uidoc.Document;
    View curView = doc.ActiveView;
    List<ElementId> doorIds = new FilteredElementCollector(doc, curView.Id)
      .OfCategory(BuiltInCategory.OST_Doors)
      .WhereElementIsNotElementType()
      .Select(e => e.Id)
      .ToList();
    uidoc.Selection.SetElementIds(doorIds);
}
image.png

报错处理

由于代码是AI生成的,加上,可能由于描述不清或AI理解有误,AI使用的API不正确等因素,都有可能造成代码报错,对于一些相对复杂的操作报错是很正常的,我们只需要将报错的内容,复制粘贴到AI聊天对话框,由他解决,等他提供解决后的代码之后,将新的代码粘贴进去再次执行就行;

image.png
image.png

代码获取

为了便于基础代码的获取,创建了一个基础的智能体,可以用来快速生成代码;此智能体为“用户一句话需求→AI自动生成可直接运行的Revit C#宏脚本”专用智能体;可在豆包智能体中搜索Revittools C#脚本生成或复制下面链接打开;

Revittools C#脚本生成 智能体地址:https://doubao.com/bot/t7CpZTQs

智能体使用

打开链接后,点击去和Revittools C#脚本生成 聊天,进入聊天页面,输入需求;

image.png

如需求:选中当前视图的所有门;

image.png

由于每个版本的Revit的API有出入,在提需求时最好声明软件版本;如在Revit 2019中选中当前视图的所有门;

三维状态下的形体不好描述看,容易出现错误,报错多是正常的,可能一直都没办法解决;在数据层面的使用效果更佳;

涉及参数的需求最好提前指明参数是类型参数或是实例参数;

涉及单位的最好指明单位,如长度指明为毫米;

推荐进一步了解Revit API,结合Revit Lookup插件内容,将条件需求表述完整,提高代码生成质量;

推荐有条件的人,使用github copilot进行代码生成,代码质量更高;(需做好约束条件,提高准确性)


转载请注明来源本文地址:https://www.tuituisoft/blog/98982.html

上一篇:

Revit 2027来了:这次更新有点不一样

下一篇:

109万中标公告!深圳市住建局2026年度智能建造管理服务项目