精华内容
下载资源
问答
  • Revit二开–Revit

    Revit二开–Revit工作集的操作

    做revit开发的过程中我们要对revit工作集进行操作的时候我们要用到一个类 FilteredWorksetCollector
    用这个类我们可以过滤到所有的工作集,然后根据工作集的分类 枚举 WorksetKind 来取得想要的工作集类别集合。

    以下代码演示如何取得用户创建的工作集。
        [Transaction(TransactionMode.Manual)]
        [Regeneration(RegenerationOption.Manual)]
        [Journaling(JournalingMode.UsingCommandData)]
    
        class WorkSetTest : IExternalCommand
        {
            public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
            {
                UIApplication uiapp = commandData.Application;
                UIDocument uidoc = commandData.Application.ActiveUIDocument;
                Document doc = uidoc.Document;
                Selection sel = uidoc.Selection;
                View acview = uidoc.ActiveView;
    
                //var worksettable = doc.GetWorksetTable();
                //创建工作集过滤器集合
                FilteredWorksetCollector setcollector = new FilteredWorksetCollector(doc);
                //根据工作集种类取得 用户创建的工作集 (WorksetKind.UserWorkset)
                setcollector.OfKind(WorksetKind.UserWorkset);
    
                foreach (Workset workset in setcollector)
                {
                    MessageBox.Show(workset.Name);
                }
    
                MessageBox.Show(setcollector.Count().ToString());
                return Result.Succeeded;
            }
        }
    

    以上代码我们获取了用户创建的工作集,如果想获取去他类别的工作集,我们只需要改变枚举值为目标枚举值即可
    在这里插入图片描述
    这四种枚举值分别 对应

        //
        // 摘要:
        //     Indicates one of the standard kinds of workset (as available in the UI).
        public enum WorksetKind
        {
            //
            // 摘要:
            //     Any workset which is not one of the standard types included in this enum.
            OtherWorkset = 0,
            //
            // 摘要:族
            //     Workset containing a family.
            FamilyWorkset = 1,
            //
            // 摘要:视图
            //     Workset containing a view.
            ViewWorkset = 2,
            //
            // 摘要:项目标准
            //     Workset containing a standard.
            StandardWorkset = 3,
            //
            // 摘要:用户创建
            //     Workset defined by users, including the two default worksets created by Revit
            UserWorkset = 4
        }
    


    在这里插入图片描述

    唐僧课堂BIM开发

    展开全文
  • Revit二开--Revit背景颜色设置

    千次阅读 2019-05-20 15:39:01
    Revit二开–Revit背景颜色设置 从Revit2016开始提供了设置revit背景的api API相关的类是Application 背景颜色设置方法如下 public Result Execute(ExternalCommandData commandData, ref string message, ...

    Revit二开–Revit背景颜色设置

    从Revit2016开始提供了设置revit背景的api

    API相关的类是Application

    背景颜色设置方法如下

    
    	  public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
            {
                UIApplication uiapp = commandData.Application;
                UIDocument uidoc = commandData.Application.ActiveUIDocument;
                Document doc = uidoc.Document;
                Selection sel = uidoc.Selection;
                 
                uiapp.Application.BackgroundColor = /*你要设置的颜色*/return Result.Succeed;
         	}
    


    在这里插入图片描述

    唐僧课堂BIM开发

    展开全文
  • 文章目录Revit二开 利用VS2019 打包成安装包前言:一、安装打包插件:Microsoft Visual Studio 2019二、新建安装项目1.新建项目2.添加数据3.设置属性4.卸载安装 Revit二开 利用VS2019 打包成安装包 前言: 学习...

    Revit二开 利用VS2019 打包成安装包

    前言:
    学习Revit二开一段时间有些同学也做一些功能后,想把插件功能交付或者传递(Addin、DLL文件等)给别人使用时每次覆盖C盘的文件很麻烦,则需要制作安装包就可以了,如何制作一个Revit插件安装包呢?网上有好些打包软件在这就不一一细诉了,有兴趣自己百度吧,在这介绍利用VS2019制作安装包。

    一、安装打包插件:Microsoft Visual Studio 2019

    在这里插入图片描述
    在这里插入图片描述
    在VS 2019管理扩展搜索Microsoft Visual Studio Installer Projects并下载安装后,重启VS2019就可以了。

    二、新建安装项目

    1.新建项目

    在这里插入图片描述
    在这里插入图片描述
    新建项目后的样子;
    1.Application Folder 是需要制作安装包的数据文件放置位置,这个是你的应用安装之后,文件所处的目录
    2.User’s Desktop 安装后生成桌面的快捷方式
    3.User’s Programs Menu 安装后生成菜单的快捷方式
    (注:在此主要介绍1. 可满足Revit插件的安装和卸载,不需要生成桌面和菜单的快捷方式,有需要的朋友可以自行去了解)

    2.添加数据

    在这里插入图片描述
    把需打包的文件添加到.Application Folder文件夹中。

    3.设置属性

    在这里插入图片描述
    重要属性:

    1. Author和Manufacturer:分别是作者和制造商的意思,一般都写公司名
    2. ProductName:软件名。默认是项目名,影响到安装界面和安装目录。务必改掉。
    3. Locatization:安装的语言
    4. RemovePreviousVersion,是否移除之前的版本,选为True
    5. TargetPlatform:根据电脑系统选择X86 还是x64
    6. Version:版本号
    其他的设置用默认就行了设置
    

    接下来就是设置安装目录的设置
    在这里插入图片描述
    点击Application Folder 在属性内DefaultLocation 把你需要安装的路径修改一下。
    C:\ProgramData\Autodesk\Revit\Addins\2018
    一般加载文件都是在C盘的revit\addin文件夹内选择对应的Revit安装版本,在这我是安装到Revit 2018版本内
    在这里插入图片描述
    在这里插入图片描述
    然后生成,到这一步基本就可以完成一个setup安装文件。

    4.卸载安装

    点开安装文件、下一步,默认安装到C:\ProgramData\Autodesk\Revit\Addins\2018 再下一步就可以了。在这里插入图片描述
    福利:如何可以不允许用户选择安装位置,使其默认安装到C:\ProgramData\Autodesk\Revit\Addins\2018 。
    在VS视图Editor下的用户界面,把安装文件夹删除掉就可以了,再生成。这样得到一个不会出现安装目录的安装包。用户只需要打开安装包,下一步,下一步就可以完成安装。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    安装之后,如果想要卸载插件,可以再次点击安装文件,可以选择卸载就可以卸载所安装的插件了。
    到这里一个完整的插件打包就到此结束了。欢迎各位到评论区评论,如果日后有需要的收藏,和点个赞吧。

    展开全文
  • Revit二开--入门三部曲

    千次阅读 2019-11-05 08:18:46
    Revit二开–入门三部曲 Revit二次开发的门槛还是卡住了好多刚入门的朋友,有的人找不到lookup工具,有的人找不到SDK,有的人加载不上AddinManager 还有的人,不知道哪里有c#资料,以上条件都具备的朋友,带着兴奋的...

    Revit二开–入门三部曲

    Revit二次开发的门槛还是卡住了好多刚入门的朋友,有的人找不到lookup工具,有的人找不到SDK,有的人加载不上AddinManager 还有的人,不知道哪里有c#资料,以上条件都具备的朋友,带着兴奋的心情开始了第一个revit二开程序,困难又来了,无论如何都没有调试通过,本篇博客带大家详细了解Revit二开的入门知识。

    一、入门准备资料

    • 1、Revit软件 ,最好是比较新版本,例如Revit2018 Revit2019。
    • 2、Visual Studio 2017 ,推荐此版本,太老的版本无法用新的语法糖,太新的版本有未知的一些问题。
    • 3、Revit Lookup 工具 ,用于查看Revit图元信息
    • 4、Revit AddinManager 工具,用于调试新开发的Revit命令。
    • 5、Revit SDK ,这是Revit二次开发的工具包 里面有RevitApi的帮助文档 ,代码案例等,可以参照里面的例子学习。
    • 以上资料可以到QQ群:166072827 下载。

    二、软件安装 配置 RevitLooup 和 RevitAddinManager

    • 1 Revit安装 略 ,相信一般人都会。
    • 2 Visual Studio 安装,2017版的vs都是在线安装的,https://msdn.itellyou.cn/ 到这个网站 开发者工具一栏中可以下载到。选 企业版就好 功能多。
    • 3 配置Revit Looup工具 ,将RevitLooup.dll 和 它对应的 RevitLookup.addin文件 放到目录 C:\ProgramData\Autodesk\Revit\Addins\201* 目录下 201* 对应你的Revit版本。然后修改RevitLookup.addin 文件内的dll路径 ,用记事本打开RevitLookup.addin 文件在这里插入图片描述
    • 4 配置AddinManager 原理同上 将 AddinManager.dll 和 AddinManager.addin 文件都复制到 C:\ProgramData\Autodesk\Revit\Addins\201* 目录下 201* 对应你的Revit版本。然后修改 对应的AddinManager.addin文件 在这里插入图片描述
      做好以上配置后,会在Revit的 附加模块 选项卡里面 出现 如下工具
      在这里插入图片描述 在这里插入图片描述

    三、开始写第一个程序

    • 1 、打开Visual studio 新建类库项目 注意是 .NET Framework的类库项目 在这里插入图片描述
    • 2、添加引用 RevitAPI.dll 和 RevitAPIUI.dll ,常用的方法多数都在这两个dll文件里面,当然AdWindows.dll 和 UIFramwork.dll也可以添加以防不时之需。 在这里插入图片描述
      在项目资源浏览器内 找到引用这一项 右键 添加引用
      在这里插入图片描述
      然后再弹出的对话框选择 选择浏览 选项卡 然后 单击浏览按钮 在这里插入图片描述
      然后在弹出的对话框里定位到你的Revit 安装目录 在这里插入图片描述
      然后选择 RevitAPI.dll 和 RevitAPIUI.dll 就可以了。
      • 3、完成上述步骤后,在项目资源浏览器里面右键单击项目,在弹出的菜单中选择 - 添加 - 类,在这里插入图片描述
        然后在 新建的类窗口中 按照下图书写
        在这里插入图片描述
        然后在Execute方法里面 就可以写你想要的功能了。
        在这里你就可以写一个HelloWorld了,
        在这里插入图片描述
        写完了之后,还需要生成一下 ,在生成菜单 里面选择生成,正常情况下都能生成成功。

      • 4、在Revit里面怎么显示呢?这里就得用我们之前介绍的AddinManager工具了,在revit里面,点击 外部工具 按钮 弹出的下拉菜单中选择 Add-In Manager(Manual Mode)
        在这里插入图片描述
        然后弹出 对话框 在这里插入图片描述
        下一步 点击load 按钮 加载 刚才编译好的dll命令,dll命令就再你的vs项目文件夹里面的debug文件夹下。 也可以在类窗口的选项卡右键,打开所在文件夹 然后依次 打开 bin\Debug,就能找到目标dll文件。
        在这里插入图片描述

    加载完成之后就能在AddinManager的窗口中看到命令,然后双击 就可以执行。命令执行后 弹出 对话框
    在这里插入图片描述

    更多Revit二开知识 尽在唐僧课堂!

    唐僧课堂BIM开发

    在这里插入图片描述

    展开全文
  • Revit二开--Revit文件信息的获取

    千次阅读 2019-04-26 08:49:05
    Revit二开–Revit文件信息的获取 在很多时候我们需要在不打开revit的情况下获取revit文件的信息,BasicFileInfo 这个类就是来做这个的。 ReMark Encapsulates basic information about a Revit file, including ...
  • Revit二开--Revit管线随板功能代码如下 今天在这里解密一个管线随板的功能 代码如下 class Cmd_MepsAlongFloor : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string ...
  • 最近在revit二开时,程序出错,revit直接关闭。为了捕捉错误,通过调试,还没有到断点处,就报错了,发现错误信息是stackoverflow,心里想挺有意思的,居然碰上这个错误了。 二、解决思路 通过观察发现原来是在程序...
  • Revit二开–视图中隐藏revit链接 在Revit中隐藏类别 BuiltInCategory.OST_RvtLinks 会出现错误提示,原因是revit不支持隐藏这个类别。解决方法是隐藏RevitLinkInstance或者RevitLinkType。 隐藏RevitLinkInstance...
  • Revit二开-旋转动画

    2019-12-09 15:54:01
    Revit二开–旋转动画 今天抽空做了一个二开控制管道旋转的动画,有兴趣的朋友可以参考。 https://github.com/binbinstrong/tangsengjiewa /// <summary> /// 旋转动画 /// </summary> ...
  • Revit二开-绘图实战

    2019-12-25 15:21:09
    Revit二开-绘图实战 MD画图画烦了,不想画了,一个一个隐藏剖面边框太麻烦了,那就偷个懒,写段代码来隐藏吧。 思路: 1遍历所有视图找到需要隐藏剖面边框的视图。 2从每个视图中找到剖面视图边框元素。 3...
  • Revit二开–设置默认元素类型 当我们创建revit元素时,默认的类型不受控制怎么办,答案当然是首先设置默认类型啦!! 默认类型设置属于文档级别的,所以,这个方法存在于Document里面。 首先获取当前文档的Document...
  • Revit二开——翻转喷头 Revit绘制喷淋时,有时需要翻转喷头调整喷头的方向,有的插件已经有此功能,不过是收费的,今天分享一下这个功能的实现思路及源代码。 实现过程: 1.通过喷头遍历递归找到喷头连接件方向的...
  • Revit二开--楼层三维功能 全面解析 本篇博客详细解析了revit里面楼层三维的实现过程,初学revit二开的朋友可以参考。 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ...
  • Revit二开--计算重心

    2019-10-13 20:07:35
    Revit二开--计算重心 revit二次开发中总有千奇百怪的需求,例如有的朋友要计算物体重心。 在RevitApi里面,提供了对均质物体计算重心的方法,计算结果就是这个几何体的重心的坐标 XYZ. Solid 类下面有一个 ...
  • Revit二开–上下风口翻转 最近有学员问到,下风口转为上风口的问题,然后我总结了下方法,找到风口的connect和连接风口的风管,然后旋转风口,再与风管连接,代码如下: UIApplication uiapp = commandData....
  • Revit二开–管线打断功能 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] [Journaling(JournalingMode.UsingCommandData)] class Cmd_MepCurveBreak : ...
  • Revit二开–管线分段解密 关注本博客功能解密陆续进行中 解密结束有免费工具献上,敬请期待 [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] [Journaling(JournalingMode....
  • Revit二开--框选三维功能 全面解析 本篇博客详细解析了revit里面框选三维的实现过程,初学revit二开的朋友可以参考。 github地址:https://github.com/binbinstrong/tangsengjiewa /// <summary> /// 框...
  • Revit二开——管线升降符号 显示 隐藏 Revit管线升降符号的管理,涉及到类别的隐藏显示,只需要将类别中 相关的类别隐藏或者显示就可以控制升降符号。 管线升降符号涉及到的类别 包含 //风管上升 BuiltInCategory....
  • 小伙伴们在做revit二开时,可能会有过滤族(Family)的需求,如何实现呢? 二、方法 通过以下代码,就可以过滤出指定FamilyName的族了。 var famType = new FilteredElementCollector(m_doc) .OfClass(typeof(Family)...
  • Revit二开算法–根据圆弧上的点分割线段 在revit二开工作中,基础算法很重要,例如有同学问,怎么用圆弧上的点分割圆弧,这是基本算法,根据圆弧上的点与圆弧中心和起点构成的角度依次排序,并生成新的圆弧线 删除旧...
  • Revit二开学习-多排管道标注

    千次阅读 2020-06-07 18:31:42
    Revit二开学习-多排管道标注 管道标注摘自: ...request_id=1
  • Revit二开–批量旋转风口 翻模完之后发现 风口的长方向不是沿着风管的(图中左侧风管),数量比较多,还是写个程序来实现修改吧!出现这种情况,只需要以风口的连接件的箭头方向的线为轴 旋转到与风管方向一致即可 ...
  • Revit二开--唐僧解瓦项目

    千次阅读 2019-04-25 12:07:39
    Revit二开–唐僧揭瓦项目 某瓦厚颜无耻,肆意抄袭,不尊重原创。与之沟通竟然毫无悔意,口出狂言,出言不逊。因此以彼之道还施彼身! 以下项目为解密项目。欢迎持续关注! ......
  • Revit二开–复制视图裁剪 在Revit使用过程中, 当我们想要把视图的裁剪范围调整为相同的大小和位置的时候,手动操作很难达到我们想要的结果,只能调整的尽可能的相似。还有人说可以事先调整好裁剪范围然后裁剪视图...
  • Revit二开--翻转尺寸线

    2019-11-12 17:27:53
    Revit二开–翻转尺寸线 在Revit二次开发中,有些时候我们找不到相应的方法,例如墙和某些族元素 有flip方法或者属性,而尺寸标注就没有这个属性,那么怎么办呢?方法如下: 例如尺寸线的标注字符串类型为基线或纵...
  • Revit二开-AssemblyTool 移植 和 修改 当你用AssemblyTool配置好自己的工具之后,想让自己的朋友使用怎么办呢? 移植方法: (Revit2016)在Revit的插件Addins文件夹内 目录:C:\ProgramData\Autodesk\Revit\...
  • Revit二开–视图同步 之前有同学问我,视图同步怎么做。其实这个功能不复杂,直接上代码。 代码已集成到 唐僧解瓦项目 唐僧解瓦 项目 github地址:https://github.com/binbinstrong/tangsengjiewa [Transaction...
  • Revit二开--常用方法封装

    千次阅读 2019-04-24 19:53:35
    Revit二开–常用方法封装 在唐僧课堂(http://bimdp.ke.qq.com) 常用的封装方法。 很多工程专业转Revit二次开发的朋友,对一些重复使用的方法通常采用粘贴复制的做法,这样做很浪费时间。其实在C#编程语言中有丰富...
  • Revit二开–批量修改视图范围 团队协作建模过程中,中心文件的样板视图范围不满足你的需求怎么改, 方法一创建一个样板,把所有的目标视图应用样板即可。 方法二使用revit宏命令 遍历文档中的视图 然后根据你的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 744
精华内容 297
关键字:

revit二开