revit二次开发

Revit 二次开发

夙愿已清 提交于 2020-03-21 20:03:52
NewFamilyDocument, NewProjectDocument and OpenDocumentFile创建的文档不能显示, Using Process.Start to Open a Project or Family System.Diagnostics.Process.Start( "C:/tmp/wall.rvt" ); 来自: http://thebuildingcoder.typepad.com/blog/2010/03/using-processstart-to-open-a-project-or-family.html 如果有两条模型线共享端点,则移动一条线时会受到限制.在代码中也不能修改通过GeometryCurve来分离,虽然没有报错,但是没有效果.很郁闷.只能新建一条线.对于墙等类型,是可以去掉他们的连接的.线没有找到去除连接的方式. public FilteredElementCollector(Document document, ElementId viewId).ViewID代表 the visible elements in a view.如果元素在这个视图中不可见的话,是查询不到的.尤其在平面视图和立体元素的情况下回遇到这样的问题. Revit2014中有uiApp.PostCommand的API.很是方便

Autodesk 产品开发培训开始报名-8月26~28-武汉– Revit, Vault, Autodesk Viewer, Navisworks

天大地大妈咪最大 提交于 2020-01-26 18:47:29
为了帮助Autodesk中国地区的二次开发人员有机会系统地了解与学习Autodesk 在BIM解决方案中的旗舰产品 Revit以及Navisworks等产品的最新开发技术,并有机会与Autodesk 产品开发支持工程师们面对面进行技术交流,Autodesk ADN 市场部将在 8月26-28日 期间在 武汉湖北工业大学 举办2014 Autodesk 产品开发技术培训课程。有关培训及活动的具体内容、安排等信息,请参照下面有关信息,欢迎大家报名参加。名额有限,请大家尽快报名。 培训内容安排: 课程名称 时间安排 培训简介 培训内容 培训讲师 Revit 2015 二次开发速成 ( 1.5 天 ) 2014 年 8 月 26 9:00 – 17:00 2014 年 8 月 27 日 9:00 – 12:00 BIM现在已经深入到建筑工程行业的各个角落。不仅大的工民建单位开始应用Revit来做解决方案的基础平台,在码头设计和施工行业、铁路设计与施工、地铁等大土木行业也使用Revit作为BIM平台来解决项目的设计和施工的需要。各个行业都迫切需要使用Revit二次开发来满足行业的特殊需要, 所以Revit二次开发“钱”景非常看好,具有巨大的市场空间。现在掌握Revit二次开发的技术工程师非常紧俏,学会Revit二次开发,对你的职业生涯的发展具有重要的意义。

Revit二次开发-自动化批量打印崩溃问题

陌路散爱 提交于 2020-01-15 20:09:49
之前开发了一个基于Revit2017的批量化打印图纸插件,单独打印运行的没有问题, 但是批量打印的时候各种不稳定,基本一出问题之后直接造成软件崩溃, 后来上官网发了一篇求助帖子: 传送门 得到高人指点,终于懂了原来是这么回事: 每次打印之前先将打印的视图设置为活动视图即可,同时我还发现打印的事务设置为commit,用rollback也会极不稳定。 但是这样操作仍然存在一个很奇怪的,有概率的会发生这种情况: 打印时候,虚拟打印机(Adobe)直接打印了第一张然后紧接着打印了第二张(即使在代码中把在两次打印之间做了线程挂起了也会发生这种情况), 然后系统直接抛出错误,以前我是在事务中循环视图进行打印,只要出错就崩溃, 后面将循环拿到外面,每次打印事务之前先设置当前循环的视图为活动视图,这样每次打印即使出现上述那种问题,报错,但是能被异常捕获,不会致使软件崩溃。 但是这种情况就有概率的第一次发生,再进行批量打印又不会报错了,这个问题真的很困扰。 看看以后有没有好办法解决。 来源: https://www.cnblogs.com/LeeSki/p/12198295.html

Revit二次开发之梁随板

扶醉桌前 提交于 2019-12-22 03:23:49
Revit二次开发之梁随板 这个demo实现了梁随斜板的功能: using System ; using System . Collections . Generic ; using System . Linq ; using System . Text ; using System . Threading . Tasks ; using Autodesk . Revit . DB ; using Autodesk . Revit . UI . Selection ; using Autodesk . Revit . UI ; using Autodesk . Revit . Attributes ; namespace 梁随板 { [ Autodesk . Revit . Attributes . Transaction ( TransactionMode . Manual ) ] [ Autodesk . Revit . Attributes . Regeneration ( RegenerationOption . Manual ) ] [ Autodesk . Revit . Attributes . Journaling ( JournalingMode . UsingCommandData ) ] public class Command :

revit二次开发之在wpf上展示revit模型

旧街凉风 提交于 2019-12-21 16:15:55
一、背景 小伙伴们在revit二次开发时,可能会需要在wpf上展示revit模型,那么如何实现呢? 二、思路 笔者为此录制了一个教学视频,通俗易懂,大家直接看就行了 地址:https://www.bilibili.com/video/av80069636 如果链接失效,直接在 b站 搜索:面向工程人员的Revit二次开发09_WPF的使用 三、注意事项 1.我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发以及编程干货; 2.欢迎加入BIM行业开发交流1群,获取更多开发资料 群号:711844216 来源: CSDN 作者: 黑夜の骑士 链接: https://blog.csdn.net/birdfly2015/article/details/103644409

Revit二次开发之管道避让

六月ゝ 毕业季﹏ 提交于 2019-12-15 11:54:30
管道翻弯避避让 本项目实现了管道碰撞的时候跳跃或者翻弯的方式实现避让的功能。废话不多说,直接上代码 这个Command类是项目的主要类。 using System ; using System . Collections . Generic ; using System . Linq ; using System . Text ; using System . Threading . Tasks ; using Autodesk . Revit . DB ; using Autodesk . Revit . UI . Selection ; using Autodesk . Revit . UI ; using Autodesk . Revit . DB . Mechanical ; using Autodesk . Revit . DB . Plumbing ; using Autodesk . Revit . DB . Electrical ; using Autodesk . Revit . Attributes ; namespace 管线避让 { [ Autodesk . Revit . Attributes . Transaction ( TransactionMode . Manual ) ] [ Autodesk . Revit . Attributes .

Revit 二次开发—隐藏组

对着背影说爱祢 提交于 2019-12-09 04:18:58
public static bool HideGroupById(Document doc, int groupidnum, bool n) { ElementId groupid = new ElementId(groupidnum); try { Element elem = doc.GetElement(groupid); Group g = elem as Group; IList<ElementId> ids = g.GetMemberIds(); if (n == true) { doc.ActiveView.HideElements(ids); return true; } else { doc.ActiveView.UnhideElements(ids); return true; } } catch (Exception ex) { return false; } } public static void HideGroupsById(Document doc, List<int> groupidnums) { foreach (var idnum in groupidnums) { ElementId groupid = new ElementId(idnum); Element elem = doc.GetElement(groupid); Group g =

Revit二次开发调试

折月煮酒 提交于 2019-12-09 04:15:56
1、引言 VS提供的调试(debug)功能能够帮助我们发现程序的逻辑缺陷,是Revit二次开发程序的必经之路。下面就介绍一下如何利用VS对Revit二次开发代码进行调试。 1.1 方法一 修改项目属性 / 调试 / 启动外部程序 / 选择Revit安装路径下的Revit.exe,确定之后可按F5进行调试。 2.2 方法二 首先打开一个Revit 调试 /附加到进程 / 在可用进程中选择Revit.exe 选择行,F9添加断点 来源: CSDN 作者: 专治BrIM 链接: https://blog.csdn.net/weixin_40626630/article/details/82454234

Revit二次开发DockableDialog (可停靠窗体)

冷暖自知 提交于 2019-12-09 04:15:47
三个步骤 1、首先可停靠窗体为 Page 窗体,即WPF控件需继承自Page。此外还需继承 IDockablePaneProvider 接口,然后在WPF控件后台代码汇总实现函数SetupDockablePane。 2、在IExternalApplication的OnStartup函数中完成注册(RegisterDockablePane)可停靠窗口,同时添加一个Revit命令按钮。 3、在IExternalCommand里调用Page窗口, uiapp.GetDockablePane(dockablepaneid),然后dockablepane.Show()。 注:如果想要实现在Revit里选择一个构件,然后在可停靠窗口里显示一些信息,可以用空闲事件来实现。 代码如下: <Page x:Class="DockableDialogsTest.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http:/

Revit二次开发之十六 IExportContext的使用

牧云@^-^@ 提交于 2019-12-08 14:20:25
如何将revit文件进行数据导出和数据转换,是非常重要的问题,是解决我们如何将revit的数据解析为我们自己的数据,在revit的二次开发中,给我们提供IExportContext接口。当前接口可用户模型轻量化导出、自定义格式导出等。 namespace Autodesk.Revit.DB { public interface IExportContext { void Finish(); bool IsCanceled(); RenderNodeAction OnElementBegin(ElementId elementId); void OnElementEnd(ElementId elementId); RenderNodeAction OnFaceBegin(FaceNode node); RenderNodeAction OnInstanceBegin(InstanceNode node); void OnInstanceEnd(InstanceNode node); void OnLight(LightNode node); RenderNodeAction OnLinkBegin(LinkNode node); void OnLinkEnd(LinkNode node); void OnMaterial(MaterialNode node); void