Revit 二次开发
文章平均质量分 51
zxt_net
C# WPF Revit C++
展开
-
关于Revit.ini以及其对revit的选项功能和历史记录等的作用
1、如果尚未在计算机上启动 Revit,请执行以下操作:为当前位于 UserDataCache 文件夹中的 Revit.ini 文件创建备份副本(C:\ProgramData\Autodesk\<产品和版本 >\UserDataCache)。 将自定义的 Revit.ini 文件复制到 UserDataCache 文件夹。 启动Revit。启动软件时,UserDataCache\Revit.ini 将复制到用户配置文件夹2、如果已经在计算机上启动 Revit,请执行以下操作:退出.原创 2022-04-20 12:31:02 · 716 阅读 · 0 评论 -
获取revit窗口的尺寸以及角点坐标值
1、先获取revit句柄IntPtr RevitHandle=Autodesk.Windows.ComponentManager.ApplicationWindow;需要添加AdWindows.dll的引用。2、根据句柄获取窗口尺寸数据[DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool GetWindowRect(IntPtr hWnd, re...原创 2022-04-07 18:09:39 · 428 阅读 · 0 评论 -
Revit 2020开始新增了对停靠面板的最小宽度的设置
DockablePaneProviderData 中的InitialState.MinimumWidth属性可以控制DcokablePanel的最小宽度,但是需要注意当前系统的DPI。根据DPI值计算宽度更适配性好。很可惜的是2019及以下的版本没有这个api。原创 2022-04-07 18:04:34 · 279 阅读 · 0 评论 -
WPF 自定义控件的注意问题
1、建议自定义控件生成目标平台为Ang CPU。否则会出现无法识别的问题。2、如果涉及到了在revit中加载使用则建议先进行主动加载。AssemblyOperations.LoadAssembly();...原创 2018-06-09 10:35:24 · 1087 阅读 · 0 评论 -
Revit 二次开发 PickObjects完成按钮的触发
窗体代码using System.Windows.Forms;using Autodesk.Revit.UI;using Autodesk.Revit.DB;namespace HelloWorld{ public partial class Form1 : System.Windows.Forms.Form { public转载 2017-12-05 16:14:26 · 2582 阅读 · 2 评论 -
Revit二次开发之利用AdWindows在任意选项卡上创建按钮
为了达到目的我们又不得不需要AdWindows.dll这个类库的帮助了——正所谓 夏日消溶,江河横溢,人或为鱼鳖。我们也玩转一下Revit——上代码!using Autodesk.Revit.UI;using Autodesk.Revit.DB;using Autodesk.Revit.Attributes;using System.Windows.Media.Im转载 2017-12-05 16:07:56 · 2794 阅读 · 3 评论 -
Revit二次开发之向Revit窗体发送虚拟按键
有时候我们需要能够发送虚拟按键到Revit中,调用命令也好触发外部命令窗体也好,总之知道怎么发送虚拟按键还是有点必要的了,当然离不开WIndowsAPI了——上代码这里我们声明两个函数一个是设置窗体焦点,一个是发送虚拟按键![DllImport("user32.dll")]internal static extern bool SetForegroundWind转载 2017-12-05 15:57:54 · 1516 阅读 · 5 评论 -
Revit 其他dll
在阅读此文章前,应有一定的API基础开发能力。AdWindows.dll 介绍Adwindows.dll 在 Revit 安装目录下即可找到。此 dll 基于 Autodesk 统一UI界面思想,封装了一套用于 Autodesk 旗下各个基于Ribbon控件风格的软件。比如 Inventer 、AutoCAD、Revit 等等。这些软件的 Ribbon UI 几乎全部是基于此d转载 2017-08-23 11:34:15 · 933 阅读 · 0 评论 -
Revit 二次开发 获取明细表中的过滤条件信息
ViewSchedule viewSchedule = doc.GetElement(new ElementId(2698)) as ViewSchedule; IList Filters = viewSchedule.Definition.GetFilters(); Dictionary ScheduleFields = new D原创 2017-07-10 09:51:51 · 1519 阅读 · 0 评论 -
RevitAPI: 事务的错误或警告信息的处理 - Failure Processor of Transaction .
原文地址:http://blog.csdn.net/lushibi/article/details/41849487很多时候,当我们提交一个事务的时候,Revit会弹出错误框或者警告框,而该错误或警告无法使用Try-Catch捕获。[csharp] view plain copy print?using (Transaction transaction转载 2016-02-25 13:16:00 · 1839 阅读 · 0 评论 -
Revit二次开发-BIM模型导出
Revit2015的样例程序里提供的读取模型几何信息的方式直接将所有的模型的坐标点XYZ、三角网信息全部导出来,形成我想要的.x文件,结果还真的得到了我想要的模型数据,但是仅仅得到模型的坐标信息还远远不够,模型的材质信息、UV坐标贴图数据才是最关键的。其实要实现模型导出功能,不需要这样费劲的一个信息一个信息的去调API取了,Revit提供了专门的导出类CustomExporter,通过自己定义一个转载 2017-03-28 16:51:11 · 6492 阅读 · 0 评论 -
将窗体作为revit的视图嵌入其中
设置窗口设置为mdi子窗体,将其parent设置为revit。转载 2017-03-16 10:07:46 · 1340 阅读 · 0 评论 -
如何选择链接文件中的实例
1、过滤public class Filter : ISelectionFilter { public Document doc = null; public bool AllowElement(Element elem) { return true; } public bool原创 2017-04-17 16:21:47 · 608 阅读 · 0 评论 -
revit 二次开发 如何修改元素的表面颜色
1、获取填充图案 FilteredElementCollector fillPatternElementFilter = new FilteredElementCollector(doc); fillPatternElementFilter.OfClass(typeof(FillPatternElement)); //获取实体填充原创 2017-05-23 13:57:45 · 5907 阅读 · 15 评论 -
C# revit二次开发 一条语句找到所有的某种实例(一)
coll.OfCategory(BuiltInCategory.OST_Walls).Where(a=>(doc.GetElement(a.GetTypeId())as ElementType).LookupParameter("族名称").AsString()=="基本墙")原创 2017-06-07 17:22:42 · 1855 阅读 · 0 评论 -
C# revit 二次开发 创建线样式LineStyle
private Category CreateNewLineType(Document doc) { Category lineCategory = doc.Settings.Categories.get_Item(BuiltInCategory.OST_Lines); Category newCategory = doc.Setti原创 2017-07-03 16:37:33 · 1545 阅读 · 0 评论 -
C# revit 二次开发 为线样式设置线型图案
Category category = CreateNewLineType(doc); category.SetLinePatternId(linePatternElement.Id, GraphicsStyleType.Projection);原创 2017-07-03 16:43:29 · 3150 阅读 · 0 评论 -
C# revit 二次开发 创建线图案
/// /// 创建线型图案 /// /// 名称 /// /// private LinePatternElement CreateLinePatternElement(string linePatternName, Document doc) { L原创 2017-07-03 16:41:50 · 2402 阅读 · 2 评论 -
如何在内存中创建Solid
在类GeometryCreationUtilities中存在静态方法:CreateBlendGeometry()CreateExtrusionGeometry()CreateRevolvedGeometry()等等可创建拉伸等Solid原创 2016-02-24 09:55:30 · 598 阅读 · 0 评论