- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 Revit二开——Revit族“连接件说明“参数的获取
Revit二开——Revit族"连接件说明"参数的获取Revit族“连接件说明”参数在项目文档中获取的方法:1.连接件说明参数 如下图所示(参数值为 aaa)2.编程时获取族的connectors 然后遍历所有的连接件,判断其description属性更多Revit二开知识尽在唐僧课堂!...
2022-05-16 15:39:14
502
原创 Revit二开---协同大师破坏revit正常”另存为“ 功能的解决方案
Revit二开—协同大师破坏revit正常”另存为“ 功能的解决方案小伙伴问我,安装协同大师之后,revit正常的另存为功能不能使用,该怎么办? 答:用revit宏写一段代码,另存文件即可。过程如下:1 打开revit宏管理器2 创建新模块3确定之后打开宏编辑器 见下图4 将代码拷贝至下图箭头处代码如下: public void saveas() { var doc =ActiveUIDocument.Document; Transaction t
2021-07-31 13:21:34
1180
原创 Revit二开——管线升降符号 显示 隐藏
Revit二开——管线升降符号 显示 隐藏Revit管线升降符号的管理,涉及到类别的隐藏显示,只需要将类别中 相关的类别隐藏或者显示就可以控制升降符号。管线升降符号涉及到的类别 包含//风管上升BuiltInCategory.OST_DuctCurvesRiseDrop;//风管下降BuiltInCategory.OST_DuctCurvesDrop;//水管上升BuiltInCategory.OST_PipeCurvesRiseDrop;//水管下降BuiltInCategory.
2021-02-26 13:28:06
684
原创 Revit二开——翻转喷头
Revit二开——翻转喷头Revit绘制喷淋时,有时需要翻转喷头调整喷头的方向,有的插件已经有此功能,不过是收费的,今天分享一下这个功能的实现思路及源代码。实现过程:1.通过喷头遍历递归找到喷头连接件方向的三通弯头 或者 一端开放的管道。2.将递归查找过元素打包。3.通过递归查找到的末端元素的相关信息,建立 旋转轴。4.在revit事务中将打包的元素,绕着第3部的旋转轴,旋转180°。5.代码中封装的方法请参照唐僧解瓦项目。代码如下/// <summary> ///
2020-09-24 18:33:40
951
原创 Revit二次开发-柱贴轴号原理
Revit三维相机视图里面进行漫游的时候,无法看到柱子的轴号,很是烦恼,要是给柱贴一个轴号 那么就很容易知道漫游到哪里了,可以很容易将相机视图的位置和平面图纸对应。其实现原理如下:1.通常柱子都是在轴线上,可以用轴线在指定高度生成一根线。2.采用射线法用生成的线穿柱子得到所有的交点以及交点对应的面的法线方向 轴号文字。3.遍历上一步得到的点,在每一个点上放置相应的文字即可。4.轴线没有穿过柱子采用距离轴线的位置来判断该贴的轴号。效果如下更多Revit二开知识尽在唐僧课堂
2020-07-12 15:16:11
667
原创 Revit二开作品--圈显/隐轴号
设计师在使用revit的过程中 隐藏或者显示部分鼠标轴头,这个操作很繁琐,多数情况下要用鼠标一个一个选中轴线然后勾选或者去掉勾选来实现指定轴头的显示或隐藏,今天有这个功能就不会这么费事费力了!! 轴号显隐 更多Revit二开知识尽在唐僧课堂!...
2020-07-06 14:31:38
679
原创 Revit二开作品---三维轴网
一年就放出来三维轴网的功能呢预览图,到现在各软件厂家还没模仿出来,看来非得等我把程序放出来之后才能模仿出来(反编译抄袭 修改, 美其名曰 代码层面不一样),O(∩_∩)O哈哈~今天再发个使用视频。 BIM三维轴网 更多Revit二开知识尽在唐僧课堂!...
2020-07-06 14:15:26
904
原创 Revit二开--批量旋转风口
Revit二开–批量旋转风口翻模完之后发现 风口的长方向不是沿着风管的(图中左侧风管),数量比较多,还是写个程序来实现修改吧!出现这种情况,只需要以风口的连接件的箭头方向的线为轴 旋转到与风管方向一致即可代码如下 /// <summary> /// 旋转风口与风管同向 /// </summary> [Transaction(TransactionMode.Manual)] class Cmd_RotateDuctTerminal : IEx
2020-06-27 18:24:42
655
1
原创 Revit二开--批量修改视图范围(revit宏)
Revit二开–批量修改视图范围团队协作建模过程中,中心文件的样板视图范围不满足你的需求怎么改,方法一创建一个样板,把所有的目标视图应用样板即可。方法二使用revit宏命令 遍历文档中的视图 然后根据你的需要修改视图范围。步骤:1 打开宏管理器 2 在宏管理器里面打开 新建一个模块 (c#)创建完成后,会打开宏编辑器。3 在宏编辑器内键入以下代码 public void SetViewRange() { var doc = this.Documen
2020-05-29 11:45:41
1215
原创 Revit平台盗版软件的陷阱与风险
最近发现 盗版的软件,就研究了一下,通过反编译发现,有的软件只留了一个验证接口,直接将验证的接口函数返回true即可实现破解,但是有的软件除了授权验证的接口函数外,竟然还有随机销毁文件的机制。经过研究原理如下以下代码为随机销毁函数的部分内容 public CrashFile(bool CertifyState) { if(!CertifyState) { Rando...
2020-04-24 15:46:32
2176
原创 Revit二开算法--根据圆弧上的点分割圆弧
Revit二开算法–根据圆弧上的点分割线段在revit二开工作中,基础算法很重要,例如有同学问,怎么用圆弧上的点分割圆弧,这是基本算法,根据圆弧上的点与圆弧中心和起点构成的角度依次排序,并生成新的圆弧线 删除旧的圆弧线即可。实现效果如下代码如下:[Transaction(TransactionMode.Manual)] class Cmd_SplictArc : IExternal...
2020-04-14 09:03:55
1575
4
原创 Revit二开--删除所有导入cad文件
Revit二开–删除所有导入cad文件在Revit中cad文件的实例可以被删除,而生成cad连接实例依据的cad样板在revit里面无法删除。删除所有的cad实例之后,在 可见性/图形替换 对话框里面cad模板文件依然显示,仍然占用revit文件的存储空间。删除方法:创建两个过滤器 一个是 importinstance 的filter ,另一个是 cadlinktype的过滤器。代码如下...
2020-04-09 11:49:14
4257
3
原创 Revit二开--判断元素是否被标记过
Revit二开–判断元素是否被标记过在revit二次开发中,在做出图程序的时候,有些时候需要判断元素是否被标记过,如果被标记过我们就不在进行标记以免重复,revit本身并没有提供判断标注的方法,我们可以封装一个方法来判断一个元素是否被标记过。封装方法如下: public static class IndependentTagHelper { /// <...
2020-03-11 09:43:44
783
原创 Revit二开-绘图实战
Revit二开-绘图实战MD画图画烦了,不想画了,一个一个隐藏剖面边框太麻烦了,那就偷个懒,写段代码来隐藏吧。思路:1遍历所有视图找到需要隐藏剖面边框的视图。2从每个视图中找到剖面视图边框元素。3隐藏这个元素。实现步骤:1.打开revit的宏编辑器,输入以下代码 public void hideSectionViewOutline(){ var doc =...
2019-12-25 15:21:09
925
原创 Revit二开-设备连接(以消火栓为例)
#Revit二开-设备连接(以消火栓为例)在Revit建模过程中,系统自带的设备连接功能往往让我们对其又爱又恨,爱其自动连接,省掉了好几步操作,恨其傻缺无比,不解风情,不懂我们的想法和需要。例如消火栓连接中 我们想让消火栓连接到管道。用系统自带连接功能出现了奇怪的连接,这不是我们需要的,如下图:消火栓首先水平出管,这与实际情况是不相符的,我们要让消火栓首先伸出一定距离的管道大约300mm左右的...
2019-12-20 08:49:20
2951
原创 Revit二开-AssemblyTool使用(三)DIY自己的Revit工具箱
Revit二开-AssemblyTool使用(三)本篇博客我们讲解如何将唐僧解瓦项目DIY成你自己的工具!1.下载唐僧解瓦项目 dll 地址:唐僧解瓦下载之后编译项目或者直接在项目里面找到文件 唐僧解瓦.dll2.AssemblyTool工具下载地址:Assemblytool,下载后点击setup.bat安装3.开始添加。打开revit 找到AssemblyTool选项卡点击Add按钮...
2019-12-17 11:17:01
1489
原创 Revit二开--三通支管提升
Revit二开–三通支管提升在Revit机电建模过程中,修改三通支管高度的时候很麻烦,通常我们需要删除三通然后修改支管高度然后,再将主管连接,最后将支管延伸至主管,由软件自动生成登高立管。像这样子:太麻烦了有木有?其实我想这样子,设置好提升到高度差, 点一下支管自动升高。像下面这样子:那么怎么一步到位呢,当然是用二开写个程序来实现啦。以下就是实现支管提升的代码 /// &l...
2019-12-16 13:24:42
1359
6
原创 Revit二开--设置Revit元素默认类型
Revit二开–设置默认元素类型当我们创建revit元素时,默认的类型不受控制怎么办,答案当然是首先设置默认类型啦!!默认类型设置属于文档级别的,所以,这个方法存在于Document里面。首先获取当前文档的Document,然后调用document的SetDefaultElementTypeId()方法即可。代码详见 github :https://github.com/binbinstr...
2019-12-15 20:58:55
1023
2
原创 Revit二开--长度统计功能 带源码
Revit二开–长度统计功能今天有朋友要一个划线统计长度的功能,还有二十分钟下班,趁现在赶紧给做一个。代码详见 github :https://github.com/binbinstrong/tangsengjiewa原理:1.做一个界面用于显示长度,像这个样子2.调用postablecommand里面的划线命令3.在documentchanged事件里面记录增加的模型线4.点击...
2019-12-12 17:19:39
961
原创 Revit二开-AssemblyTool使用(二)DIY自己的Revit工具箱
Revit二开-AssemblyTool 移植 和 修改当你用AssemblyTool配置好自己的工具之后,想让自己的朋友使用怎么办呢?移植方法:(Revit2016)在Revit的插件Addins文件夹内 目录:C:\ProgramData\Autodesk\Revit\Addins\2016内,有AssemblyTools 文件夹 和 AssemblyTools.addin文件,...
2019-12-11 16:31:58
1299
原创 Revit二开-AssemblyTool使用(一)DIY自己的Revit工具箱
Revit二开-AssemblyTool (本工具完全免费)AssemblyTool是Revit上用于快速添加dll命令的工具,有了他,Revit绘图的朋友可以用它把一些开源的命令,添加到自己的Revit界面上。(大家可以用这个工具把唐僧解瓦项目的命令添加到自己的Revit中).1 Assemblytool简介:AssemblyTool意为装配式工具,可自由的组合。2 用途快速向...
2019-12-11 13:11:40
1673
原创 Revit二开-旋转动画
Revit二开–旋转动画今天抽空做了一个二开控制管道旋转的动画,有兴趣的朋友可以参考。https://github.com/binbinstrong/tangsengjiewa /// <summary> /// 旋转动画 /// </summary> [Transaction(TransactionMode.Manual)] cl...
2019-12-09 15:54:01
695
原创 Revit二开--划线切板功能源码
Revit二开–划线切板功能源码前一篇博客划线切板功能解析介绍了划线切板功能,今天把源码补充上在Revit使用过程中,版的切割对用户来说不是很容易,Revit原生功能在板的分割上并不是十分友好。今天我在这里分享 楼板分割的方法(天花板切割原理类似)。1.鼠标点选楼板。2.调用画线命令,绘制一条直线。3.用绘制的直线切割楼板。代码详见github:https://github.com...
2019-12-07 06:49:13
1199
原创 Revit二开--复制视图裁剪
Revit二开–复制视图裁剪在Revit使用过程中, 当我们想要把视图的裁剪范围调整为相同的大小和位置的时候,手动操作很难达到我们想要的结果,只能调整的尽可能的相似。还有人说可以事先调整好裁剪范围然后裁剪视图,这样也可以,但不能保证建模过程中不调整视图裁剪范围,如果一旦调整,就能难调整到与之前的范围一致。今天我们采用二开的方法来解决。步骤:1 获取源视图的裁剪范围信息。2 将源视图的裁...
2019-12-06 10:22:57
2110
原创 Revit二开--视图中隐藏revit链接
Revit二开–视图中隐藏revit链接在Revit中隐藏类别 BuiltInCategory.OST_RvtLinks 会出现错误提示,原因是revit不支持隐藏这个类别。解决方法是隐藏RevitLinkInstance或者RevitLinkType。隐藏RevitLinkInstance相当于在视图显示里面隐藏链接实例隐藏RevitLinkType相当于在视图可见性里面隐藏链接类别等...
2019-12-05 20:40:10
718
原创 Revit二开--划线切板功能解析
Revit二开–划线切板功能解析在Revit使用过程中,版的切割对用户来说不是很容易,Revit原生功能在板的分割上并不是十分友好。今天我在这里分享 楼板分隔的方法。1.鼠标点选楼板。2.调用画线命令,绘制一条直线。3.用绘制的直线切割楼板。代码详见github:https://github.com/binbinstrong/tangsengjiewa这里有几个难点需要注意:1....
2019-11-25 16:30:23
1860
原创 C#--Asp.Net
Asp.net开发入门开发环境 vs2017 Asp.net (注意不是Asp.NetCore)1.新建webapp在文件菜单 新建 项目,在弹出的对话框中选择 asp.net web窗体网站(website)(新建这种项目方便调试)吶 这就是新建的窗体网站添加html网页然后添加 一般处理程序...
2019-11-19 15:11:57
312
原创 Revit二开--翻转尺寸线
Revit二开–翻转尺寸线在Revit二次开发中,有些时候我们找不到相应的方法,例如墙和某些族元素 有flip方法或者属性,而尺寸标注就没有这个属性,那么怎么办呢?方法如下:例如尺寸线的标注字符串类型为基线或纵坐标时,选择尺寸线,就会出现翻转符号,然而,dimension对象并没有翻转属性。这时候我们可以采用系统自带的命令 “ID_FLIP_DIMENSION_DIRECTION”来实现这...
2019-11-12 17:31:12
947
3
原创 Revit二开--视图同步 带源码
Revit二开–视图同步之前有同学问我,视图同步怎么做。其实这个功能不复杂,直接上代码。代码已集成到 唐僧解瓦项目唐僧解瓦 项目 github地址:https://github.com/binbinstrong/tangsengjiewa [Transaction(TransactionMode.Manual)] class Cmd_ViewSimultaneous : IEx...
2019-11-07 18:43:20
1551
原创 Revit二开--入门三部曲
Revit二开–入门三部曲Revit二次开发的门槛还是卡住了好多刚入门的朋友,有的人找不到lookup工具,有的人找不到SDK,有的人加载不上AddinManager 还有的人,不知道哪里有c#资料,以上条件都具备的朋友,带着兴奋的心情开始了第一个revit二开程序,困难又来了,无论如何都没有调试通过,本篇博客带大家详细了解Revit二开的入门知识。一、入门准备资料1、Revit软件 ,最...
2019-11-05 09:21:37
2707
原创 Revit二开--管线标注 附源码
Revit二开–管线标注前几天有朋友问我 如何用程序来实现标注管道长度,他的思路是获取管道的locationcurve 然后获取两个端点的引用然后进行标注,但是管道的locationcurve 没有端点引用,所以用这种方法无法实现管道的长度标注。今天恰好有点时间,就把管道长度标注的方法放出来供大家参考。 代码已经集成到唐僧解瓦项目)唐僧解瓦 项目 github地址:https://github...
2019-11-03 19:26:55
958
原创 Revit二开--管线打断功能
Revit二开–管线打断功能 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] [Journaling(JournalingMode.UsingCommandData)] class Cmd_MepCurveBreak : IExternalCommand ...
2019-10-16 22:08:27
1410
原创 Revit二开--管线分布 功能解密
Revit二开–管线分布 功能解密本案例以 按管中心排列的方式 来用代码实现 ,按管外壁的原理是一样的在此不做赘述。本例以 esc 键 来结束选择 如果要实现上图效果可以在 一键分布按钮里面 向revit主窗口发送esc按键即可,时间有限不再多说,好了上代码! [Transaction(TransactionMode.Manual)] [Regeneration(Regenera...
2019-10-16 22:06:50
787
原创 Revit二开--管线分段解密
Revit二开–管线分段解密关注本博客功能解密陆续进行中 解密结束有免费工具献上,敬请期待 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] [Journaling(JournalingMode.UsingCommandData)] public clas...
2019-10-16 22:04:23
582
原创 Revit二开--一键楼板功能 全解析 带源码
Revit二开--一键楼板功能 全面解析之前很多朋友问我 一键楼板的功能怎么做,今天有点时间把源码放出来。 /// <summary> /// 一键楼板 /// </summary> namespace 唐僧解瓦.建筑{ /// <summary> /// 一键楼板 /// </summary&g...
2019-10-16 09:10:55
1903
1
原创 Revit二开--框选三维功能 全面解析
Revit二开--框选三维功能 全面解析本篇博客详细解析了revit里面框选三维的实现过程,初学revit二开的朋友可以参考。github地址:https://github.com/binbinstrong/tangsengjiewa /// <summary> /// 框选三维 /// </summary> [Transaction(T...
2019-10-14 20:41:32
1217
原创 Revit二开--楼层三维功能 全面解析
Revit二开--楼层三维功能 全面解析本篇博客详细解析了revit里面楼层三维的实现过程,初学revit二开的朋友可以参考。 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] [Journaling(JournalingMode.UsingCommandData...
2019-10-14 20:28:52
1050
原创 Revit二开--计算重心
Revit二开--计算重心revit二次开发中总有千奇百怪的需求,例如有的朋友要计算物体重心。在RevitApi里面,提供了对均质物体计算重心的方法,计算结果就是这个几何体的重心的坐标 XYZ.Solid 类下面有一个 ComputeCentroid 方法RemarksCalculates the centroid of the solid using an approximatio...
2019-10-13 20:12:59
1791
原创 Revit二开--解析几何 计算垂直向量
Revit二开--解析几何 计算垂直向量方法一 顺序判断法方法二 解析几何法 向量点积等于零在revit二次开发中我们经常会遇到求法向量的问题,如果是圆弧、椭圆、平面等几何土元,直接可以获取其法向量。但是当遇到直线的时候,我们想绘制模型线,则必须创建sketchplane,要创建sketchplane那么必须有一个平面,要有这个平面则需要一个法向量,那么这个法向量怎么计算呢,有两种方法方法一 ...
2019-09-29 08:40:38
2404
1
原创 Revit二开--Revit管线随板功能
Revit二开--Revit管线随板功能代码如下今天在这里解密一个管线随板的功能代码如下 class Cmd_MepsAlongFloor : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elemen...
2019-09-19 14:36:37
1090
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人