
revit
千杯不醉-sen
予人玫瑰,手有余香!
展开
-
常规过滤、逻辑过滤
过滤的使用: FilteredElementCollector collector = new FilteredElementCollector(doc); //ICollection collection = collector.OfClass(typeof(FamilyInstance)).ToElements();原创 2013-08-27 21:28:40 · 1748 阅读 · 0 评论 -
IExternalCommandAvailability的用法
#region 实现IExternalCommandAvailability接口 /// Revit启动时按钮可用,打开文档后不可用 /// /// Revit启动时按钮可用,打开文档后不可用 /// /// /// /// true或false表示按钮是否可用原创 2013-08-19 18:01:56 · 1521 阅读 · 0 评论 -
IExternalCommand和IExternalApplication的简单用法
关于Revit二次开发,常用的方式有两种:一、IExternalCommand的方式;二、IExternalApplication的方式。下面就这两种方式的最简单用法做如下示例://一、命令的方式using Autodesk.Revit.DB;using Autodesk.Revit.UI;using Autodesk.Revit.Attributes;namespace H原创 2013-08-21 12:59:27 · 5170 阅读 · 0 评论 -
树的创建
假如你先在获取到了类别、族和类型三个的Name,那么就可以用下面的方式创建树。然后设置CheckBox的值为True,那么左边的CheckBox就会显示出来。 private void CreateTree(string s1, string s2, string s3) { if (!tnParent.Nodes.Contains原创 2013-08-21 13:22:24 · 972 阅读 · 0 评论 -
revit api选择Element上的点画线
public Result Execute(ExternalCommandData data, ref string message, ElementSet elements) { try { UIDocument uiDoc = data.Application.ActiveUIDocument; Selection sel = uiDoc原创 2017-02-24 13:51:59 · 2128 阅读 · 0 评论 -
revit之射线法查找特定元素
我们在开发的过程中,射线法用的也挺多的,比如:想找到所有的梁;想找到离某一元素最近的元素等。今天简单的简介一下射线的用法。射线的发的核心类:ReferenceIntersector 他的内部有2中射线法查找的方法 查找符合条件的所有元素 IList Find(XYZ origin, XYZ direction) 查找符合条件的最近元素 ReferenceWithCont原创 2017-02-23 18:23:19 · 1993 阅读 · 2 评论 -
revit中绘制任意直线
revit二次开发的过程中常用的方法。public static void NewLine(this Document doc, XYZ pStart, XYZ pEnd) { if (pStart.IsAlmostEqualTo(pEnd)) { return; }原创 2017-02-21 19:40:49 · 5930 阅读 · 4 评论 -
win32api之虚拟键盘
在做开发的时候,UI上的一些快捷键可以使用虚拟键来触发。比如:revit二次开发中的快捷键后台触发。/// <summary>/// 虚拟键盘./// </summary>/// <author>YangSen</author>/// <date>2016/12/1</date>public class VirtualKeyboard{ /// <summary> ///原创 2017-02-21 12:58:45 · 2501 阅读 · 0 评论 -
win32api之修改revit状态栏提示
在使用revit进行二次开发的时候,我们经常需要做一个提示,方便用户操作。api中提供了选择对象的时候可以设置提示信息,这样很不方便,下面我们使用win封装revit的状态栏提示,让大家可以很方便的设置你想提示的内容。public class StatusBar{ private static IntPtr m_statusBar = IntPtr.Zero; /// <summar原创 2017-02-21 13:13:54 · 1754 阅读 · 0 评论 -
删除实例
可以根据需要,删除不需要的实例。 Transaction tsSaveAsSelected = new Transaction(doc, "SaveAsSelected"); tsSaveAsSelected.Start(); foreach (Element e in collection)原创 2013-08-27 21:33:43 · 1378 阅读 · 0 评论 -
revit api 之PostCommand用法之一
发送内部命令 public void PostCommand(RevitCommandId commandId);切换到三维试图uiApp.PostCommand(RevitCommandId.LookupPostableCommandId(PostableCommand.Default3DView));删除选中的元素UIApplication uiApp = data.Applicati原创 2017-02-24 14:40:26 · 5131 阅读 · 3 评论