Revit二次开发
AlanWang-HL
这个作者很懒,什么都没留下…
展开
-
Revit二次开发-WPF ProgressBar 执行程序中显示进度条
Revit开发执行命令时如果时间长,界面会顶住,导致用户误以为程序未响应,解决方法:增加进度条执行程序中显示进度条,提示命令还是进行中原创 2024-05-29 13:28:49 · 503 阅读 · 0 评论 -
Revit二次开发,通过链接模型的元素获取本地模型document的方法
2.通过链接模型的元素获取本地模型document的方法。1.获取链接模型的构件及元素。原创 2024-03-08 18:10:56 · 314 阅读 · 0 评论 -
Revit二次开发-机电功能-一键坡度
链接:https://pan.baidu.com/s/1qNnagumXlN6yrIBvRr1dNA?Revit机电核心功能一键坡度,控制一整个管道系统的坡度,大于30°的管道保持不变,该功能本插件就有(MagicTools),免费试用,全是干货。如有需要的可以加企鹅群:630552940。3.判断管道是否大于30度(过滤条件)Revit二次开发-机电功能-一键坡度。插件下载地址,免费试用。原创 2023-08-14 00:35:26 · 196 阅读 · 0 评论 -
Revit二次开发 API获取房间面积的方法
注意(SpatialElementGeometryCalculator)API,只支持面层和墙中心,其他类型会报错。如果想要获取其他两种类型的房间面积用。获取房间面积有4种情况,下面是获取设置类型为面层,墙中心的房间面积)原创 2023-06-29 23:22:25 · 345 阅读 · 0 评论 -
Revit二次开发-外部事件ExternalEvent封装
外部事件ExternalEvent封装原创 2023-06-12 14:35:39 · 254 阅读 · 0 评论 -
Revit二次开发-创建立面视图
创建立面视图原创 2023-05-22 23:44:42 · 388 阅读 · 0 评论 -
Revit二次开发-钟表秒针转动模型
利用Revit闲事事件 “commandData.Application.Idling” 简单做一个钟表秒针转动的代码。原创 2023-05-20 15:06:48 · 176 阅读 · 0 评论 -
BIM二开-族实体拉伸剪切空心拉伸的方法
族实体拉伸剪切空心拉伸的方法原创 2023-02-24 16:39:39 · 733 阅读 · 0 评论 -
Revit二开-设备(消防箱)翻模
根据CAD图块设备翻模原创 2023-02-24 16:21:54 · 488 阅读 · 0 评论 -
Reivt二开-风机与风管连接生成天圆地方
风机与风管连接生成天圆地方原创 2022-09-07 11:48:27 · 563 阅读 · 0 评论 -
Revit二开-利用自带命名进行风管绘制并选择绘制后的风管
使用Revit自带命令进行风管绘制,绘制后自动选择所绘制的风管。原创 2022-07-04 12:32:22 · 595 阅读 · 0 评论 -
Revit二开 自动保存
做项目的时候,很多时候忘记保存,项目突然崩溃,一夜回到解放前,白做一早上甚至一天的工作,那种酸爽,CNM~~~~!所以做一个自动保存功能,设定间隔时间实现自动保存文件。原创 2022-06-08 19:55:08 · 1131 阅读 · 3 评论 -
Revit二开-可见性隐藏类别设置
Revit中隐藏类别有两种方法,模型类别,Reivt链接。以下需要用两种方法进行隐藏;模型类别的是用SetCategoryHidden(Reit2016用SetVisibility)进行设置 var elecategorytId = new ElementId(-2000220);//轴网 Transaction tr = new Transaction(doc); tr.Start("链接模型"); doc.ActiveView.SetCategoryHidden(elecategory原创 2022-05-18 10:37:52 · 1271 阅读 · 0 评论 -
Revit二开-如何在WPF中获Listview、ListBox、ComboBox中选中项的值
在WPF中获Listview、ListBox、ComboBox中选中项的值,亲身去研究一下在WPF中获取其中的值,其实也不难,来,下面我们一起来通过一个简单的示例来感悟一下吧。用个简单的Combobox举例 ,其他两个都是一样的获取方式;第一步:写前台XAML<Grid> <StackPanel Orientation="Horizontal"> <ComboBox Width="200" Height="40" Name="combox" D原创 2022-01-27 11:33:16 · 2486 阅读 · 0 评论 -
Revit二开-批量风口连接
有时候风管风口与风口断开,如果重新连接风口,需要一个点击连接很麻烦,所以做一个批量连接风口的功能,直接上代码:var references = sel.PickObjects(ObjectType.Element, new DuctTerminalFilter(), "选择风道末端");foreach (var reference in references){ familyInstances.Add(reference.GetElement(doc) as FamilyInstance);原创 2022-01-24 14:57:04 · 897 阅读 · 0 评论 -
Revit二开 批量链接模型
往往有时候提交项目需要整合各专业的模型,需要链接模型,模型太多不想一个个点,可以批量插入链接模型或重新载入模型,下面直接上代码:MagicTools批量链接功能:载入模型用到 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = "*.rvt"; var sts = openFileDialog.FileNames.ToList();//获取选择文件名 foreach原创 2021-12-25 17:22:53 · 1425 阅读 · 1 评论 -
Revit二次开发 多版本动态引用RevitAPI
整体效果是通过设置不同的配置,达到引用不同版本RevitAPI.dll的效果。在发布版本的时候很有用。具体步骤如下:1.点击vs左上角Debug和Release下的配置管理器,点开对应的项目配置,选择新建。举例1:名称为Revit2016_Debug,从此处复制设置选择Debug.名称为Revit2016_Release,从此处复制设置选择Release.依次创建各个版本对应的名称。创建好后的效果图如上。此处举例,只创建了2018和2020版本。2。点击项目属性,打开生成页面。根据不同转载 2021-11-11 10:39:52 · 1094 阅读 · 0 评论 -
Revit二开之管道翻弯
前言:本次分享适合刚入门二开的小白学习,管道翻弯功能,是个很好的学习素材,代码里面有注释,使用简单的代码实现功能简单易懂,直接上代码。 public class DoubleCurved : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { try原创 2021-10-19 13:07:48 · 1281 阅读 · 3 评论 -
Revit二开的VS样板和选择过滤样板
分享一个Revit二开的VS样板,代码如下: [Transaction(TransactionMode.Manual)] class Sample : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication uiapp = comm原创 2021-10-19 12:21:53 · 184 阅读 · 0 评论 -
Revit二次开发 风管连接
Revit机电核心功能风管连接,往往建模的时候基本都能用到的功能。首先先讲讲思路,1.管道连接就是管道的Connector的连接,只要Connector的顺序对和布管系统配置设置好,就可以实现管道连接了。2.判断风管管件的类型和风管是否在正确位置上,比如是中/底/顶对齐,还是中/左/右对齐,根据对齐方式选择正确的管件3.风管四通有4个Connector要判断正确顺序,这个就要区分好(重点)以上就是实现风管连接的思路,直接上代码。 UIApplication uiapp = commandData.原创 2021-09-17 11:40:42 · 2086 阅读 · 2 评论 -
Revit二次开发 管道系统布置
在机电开发的过程中,往往要用到管道布管系统配置相关的API,所以下面简单介绍一下管道系统配置,直接上代码:获取数据//选择管道 Reference selRef = uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element); Pipe selPipe = doc.GetElement(selRef) as Pipe; PipeType sel原创 2021-09-06 10:43:57 · 1389 阅读 · 0 评论 -
Revit二次开发 非模态模板
创建一个非模态模板,做项目常常会用到//主窗体WPF public partial class ModelessView : Window { //声明 ExecuteEventHandler _executeEventHandler = null; ExternalEvent _externalEvent = null; public ModelessView() { Initialize原创 2021-07-16 17:37:11 · 358 阅读 · 0 评论 -
Revit二开 TextBox显示上一次记录的数据
string path = @"C:\ProgramData\Autodesk\Revit\Addins\2018\MagicTools\Data\MEPCurveArrangementWPF.txt"; public MEPCurveArrangementWPF() { InitializeComponent(); ReadTextFile(path,textbox); } private .原创 2021-06-25 15:23:55 · 356 阅读 · 0 评论 -
BIM二开获取CAD信息必备Teigha库,TD_Mgd_3.09.dll下载和使用操作步骤
做BIM二开常常要和CAD打交道,那么怎么才能直接获取CAD的信息呢?加载Teigha库可以实现获取CAD信息。Teigha库有比较多的版本,其他的自行了解,下面简单说一下TD_Mgd_3.09.dll使用步骤:TD_Mgd_3.09.dll使用步骤:1.在VS项目引用加载TD_Mgd(建议引用文件放到revit加载dll的文件内)Teigha文件包内的其他文件,放到Revit加载Dll路径(默认C盘)内。属性-复制本地-选False。2.然后利用Ribbon里生成项目DLL文件,放到Revit加原创 2021-06-17 14:53:52 · 2717 阅读 · 0 评论 -
Revit二次开发-平行管道
在调管综的过程中,模型往往有些管道不平行,导致尺寸定位不了,所以在此做一个管道平行的功能。一键将管道平行,代码如下: UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document; Selection sel = u原创 2021-04-08 09:40:41 · 587 阅读 · 0 评论 -
Revit二开--上下风口翻转
Revit二开–上下风口翻转最近有学员问到,下风口转为上风口的问题,然后我总结了下方法,找到风口的connect和连接风口的风管,然后旋转风口,再与风管连接,代码如下: UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document;原创 2021-04-02 09:44:43 · 1429 阅读 · 1 评论 -
Revit二次开发——向量判断平行与垂直
线的方向向量:例:墙的方向向量Line wallLine = (wall.Location as LocationCurve).Curve as Line;XYZ wallDir = wallLine.Direction;面的法向量:XYZ faceDir = face.ComputeNormal(new UV());判断两个向量平行:faceDir.IsAlmostEqualTo(wallDir);//or 向量相反faceDir.IsAlmostEqualTo(-wallDir);转载 2021-01-24 14:34:53 · 1555 阅读 · 0 评论 -
Revit二次开发——机电API管道连接的各种管件Fitting的认识与区别
一、前言机电二次开发是个非常复杂和细碎的工作,本帅编在做的时候就一头雾水,尤其是生成管件的时候经常报错,经过一番探究,整理如下:各种各样的管件(图来自网络,侵删)首先来看一下API给了多少种管件的生成方法:这上边都有英文解释,也许英文好的人就看懂了,小编就不一样了,不靠翻译就活不下去的那种,所以英文看懂的就离开吧,因为下边讲的和你认知的也差不多。2.名词解释在上边6种的生成方式中,除了NewTakeoffFitting是特殊的除外,其余的都属于不同管件的生成。2.转载 2021-01-24 12:19:45 · 2145 阅读 · 0 评论 -
Revit二次开发——非模态框让窗口置顶
在做开发的时候,经常会碰到这个问题,非模态框需要置顶于窗口,需要将窗口绑定到主窗口之上,也就是在view.Show()的时候,要加上两行代码: //非模态框程序代码Class实例化 SetCateVisibility setCatesVisibility = new SetCateVisibility(); //WPF窗口置顶 System.Windows.Interop.WindowInteropHelper mainUI = new System.Windows.Interop.原创 2021-01-23 21:46:40 · 670 阅读 · 0 评论 -
利用.NET REACTOR制作软件及软件试用时间限定
说明此文简单介绍了使用 .net reactor 软件制作试用软件,利用license制作授权软件的方法。1.首先生成试用版软件1.1 设置主文件和附属文件打开.net Reactor1.2 设置试用期限在Settings选项卡中进行设置,限制其只能用7天。设置试用提示1.3 保存license密钥备用1.4 最后生成Protect点击左边的PROTECT链接按钮,生成保护后的Dll或者exe文件。Dll、exe加壳成功。将加壳后的Dll用反编译软件测试一下效果,如果无法编原创 2021-01-18 12:22:55 · 2715 阅读 · 2 评论 -
Revit二开 利用VS2019 打包成安装包
文章目录Revit二开 利用VS2019 打包成安装包前言:一、安装打包插件:Microsoft Visual Studio 2019二、新建安装项目1.新建项目2.添加数据3.设置属性4.卸载安装Revit二开 利用VS2019 打包成安装包前言:学习Revit二开一段时间有些同学也做一些功能后,想把插件功能交付或者传递(Addin、DLL文件等)给别人使用时每次覆盖C盘的文件很麻烦,则需要制作安装包就可以了,如何制作一个Revit插件安装包呢?网上有好些打包软件在这就不一一细诉了,有兴趣自己百度原创 2021-01-16 14:02:10 · 1063 阅读 · 1 评论 -
Revit二次开发-如何调用Revit API实现管道打断?
如何调用Revit API实现管道打断?之前写过关于管线打断的功能(详见我第上一编文章),可实现管线打断,使用的过程中发现风管如果存在有风道末端的时候,管线打断后移动或者偏移分管时会提示 风道末端需附着到风管。如何解决这个问题,我查看了资料,可以调用Revit API实现管道打断。直接上代码: public class TestCreatEndOfTheDuct : IExternalCommand { public Result Execute(ExternalCommandD原创 2020-12-20 15:39:53 · 806 阅读 · 1 评论 -
Revit二次开发-如何实现管道打断
如何实现管道打断分享一个学习二开的菜鸟笔记,实现一个功能一开始的想法很重要它能关乎到功能实现的效果和工作效率。接下来分享一下我的想法:1.获取两个点2.判断两点形成两端线(后面区分两根风管的位置)3.复制一根风管,根据第2.修改它们的长度4.将复制的风管连接回原来的管道系统去这样管道就实现打断功能啦,详见下面代码(本人是个做了挺久的BIMer,在二开是个菜鸟,一直在学习中,不是专业的IT人员,所以下面的代码可能有许多不必要的,请谅解重要的是方法和想法,在二开的道路上希望自己能坚持下去,以后为大原创 2020-12-20 15:23:33 · 1301 阅读 · 3 评论