- 博客(42)
- 收藏
- 关注
原创 Revit二次开发-墙生成装饰面
批量生成墙的装饰面,自动连接,先看成果,通过这个方法还可以扩展梁、板、基础的装修面, 用来出装修的装饰装修的量,扩展就留给你们吧。
2024-05-29 18:37:09 236
原创 Revit二次开发-WPF ProgressBar 执行程序中显示进度条
Revit开发执行命令时如果时间长,界面会顶住,导致用户误以为程序未响应,解决方法:增加进度条执行程序中显示进度条,提示命令还是进行中
2024-05-29 13:28:49 549
原创 Revit二次开发,设置改变双击默认事件触发状态Action
有时候在建模的时候不小心双击族,会默认自动进入编辑族界面,如果我不想双击进入族编辑状态,可以对项目设置一下doubleClickOptions.SetAction的方法,双击族的时候触发其他类型的方法,例如NoAction不操作,EditType打开编辑类型等等。
2024-04-10 16:31:42 270
原创 Revit二次开发,tuple,valuetuple,anonymousType匿名类型的区别,笔记记录
引用类型: Tuple 是一个类,因此它的实例是引用类型,而 ValueTuple 是一个结构,它的实例是值类型。Mutable: 在 ValueTuple 中,元组的元素是只读的,而在 Tuple 中元组的元素是可读写的。Revit二次开发,tuple,valuetuple,anonymousType匿名类型的区别,笔记记录。性能: ValueTuple 的性能通常比 Tuple 更好,特别是在创建大量元组时。Tuple,ValueTuple,写入Json,其默认的属性名称都是用Item表示。
2024-03-14 09:24:58 321
原创 Revit二次开发,通过链接模型的元素获取本地模型document的方法
2.通过链接模型的元素获取本地模型document的方法。1.获取链接模型的构件及元素。
2024-03-08 18:10:56 323
原创 Revit二次开发-机电功能-一键坡度
链接:https://pan.baidu.com/s/1qNnagumXlN6yrIBvRr1dNA?Revit机电核心功能一键坡度,控制一整个管道系统的坡度,大于30°的管道保持不变,该功能本插件就有(MagicTools),免费试用,全是干货。如有需要的可以加企鹅群:630552940。3.判断管道是否大于30度(过滤条件)Revit二次开发-机电功能-一键坡度。插件下载地址,免费试用。
2023-08-14 00:35:26 214
原创 Revit二次开发 API获取房间面积的方法
注意(SpatialElementGeometryCalculator)API,只支持面层和墙中心,其他类型会报错。如果想要获取其他两种类型的房间面积用。获取房间面积有4种情况,下面是获取设置类型为面层,墙中心的房间面积)
2023-06-29 23:22:25 361
原创 Revit二次开发-钟表秒针转动模型
利用Revit闲事事件 “commandData.Application.Idling” 简单做一个钟表秒针转动的代码。
2023-05-20 15:06:48 186
原创 Revit二开 自动保存
做项目的时候,很多时候忘记保存,项目突然崩溃,一夜回到解放前,白做一早上甚至一天的工作,那种酸爽,CNM~~~~!所以做一个自动保存功能,设定间隔时间实现自动保存文件。
2022-06-08 19:55:08 1157 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 1320
原创 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 2511
原创 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 913
原创 Revit二开 批量链接模型
往往有时候提交项目需要整合各专业的模型,需要链接模型,模型太多不想一个个点,可以批量插入链接模型或重新载入模型,下面直接上代码:MagicTools批量链接功能:载入模型用到 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = "*.rvt"; var sts = openFileDialog.FileNames.ToList();//获取选择文件名 foreach
2021-12-25 17:22:53 1445 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 1101
原创 Revit二开之管道翻弯
前言:本次分享适合刚入门二开的小白学习,管道翻弯功能,是个很好的学习素材,代码里面有注释,使用简单的代码实现功能简单易懂,直接上代码。 public class DoubleCurved : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { try
2021-10-19 13:07:48 1304 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 190
原创 Revit二次开发 风管连接
Revit机电核心功能风管连接,往往建模的时候基本都能用到的功能。首先先讲讲思路,1.管道连接就是管道的Connector的连接,只要Connector的顺序对和布管系统配置设置好,就可以实现管道连接了。2.判断风管管件的类型和风管是否在正确位置上,比如是中/底/顶对齐,还是中/左/右对齐,根据对齐方式选择正确的管件3.风管四通有4个Connector要判断正确顺序,这个就要区分好(重点)以上就是实现风管连接的思路,直接上代码。 UIApplication uiapp = commandData.
2021-09-17 11:40:42 2130 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 1422
原创 Revit二次开发 非模态模板
创建一个非模态模板,做项目常常会用到//主窗体WPF public partial class ModelessView : Window { //声明 ExecuteEventHandler _executeEventHandler = null; ExternalEvent _externalEvent = null; public ModelessView() { Initialize
2021-07-16 17:37:11 362
原创 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 357
原创 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 2753
原创 Revit二次开发-平行管道
在调管综的过程中,模型往往有些管道不平行,导致尺寸定位不了,所以在此做一个管道平行的功能。一键将管道平行,代码如下: UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document; Selection sel = u
2021-04-08 09:40:41 599
原创 Revit二开--上下风口翻转
Revit二开–上下风口翻转最近有学员问到,下风口转为上风口的问题,然后我总结了下方法,找到风口的connect和连接风口的风管,然后旋转风口,再与风管连接,代码如下: UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Document doc = uidoc.Document;
2021-04-02 09:44:43 1457 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 1569
转载 Revit二次开发——机电API管道连接的各种管件Fitting的认识与区别
一、前言机电二次开发是个非常复杂和细碎的工作,本帅编在做的时候就一头雾水,尤其是生成管件的时候经常报错,经过一番探究,整理如下:各种各样的管件(图来自网络,侵删)首先来看一下API给了多少种管件的生成方法:这上边都有英文解释,也许英文好的人就看懂了,小编就不一样了,不靠翻译就活不下去的那种,所以英文看懂的就离开吧,因为下边讲的和你认知的也差不多。2.名词解释在上边6种的生成方式中,除了NewTakeoffFitting是特殊的除外,其余的都属于不同管件的生成。2.
2021-01-24 12:19:45 2185
原创 Revit二次开发——非模态框让窗口置顶
在做开发的时候,经常会碰到这个问题,非模态框需要置顶于窗口,需要将窗口绑定到主窗口之上,也就是在view.Show()的时候,要加上两行代码: //非模态框程序代码Class实例化 SetCateVisibility setCatesVisibility = new SetCateVisibility(); //WPF窗口置顶 System.Windows.Interop.WindowInteropHelper mainUI = new System.Windows.Interop.
2021-01-23 21:46:40 673
原创 利用.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 2782 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 1075 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人