revit api 实现过滤墙图元并选中】的更多相关文章

public IList<Element> findElementsByCategory(Autodesk.Revit.UI.UIApplication aApp, Document aDoc, BuiltInCategory ACategory) { FilteredElementCollector collector = new FilteredElementCollector(aDoc).OfCategory( ACategory).WhereElementIsNotElementTyp…
//过滤选择,加上过滤条件,没有看出来差别. [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class cmd : IExternalCommand {     public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)     {         U…
由于Revit的版本问题,在网上找的生成墙图元的代码,在我机器上的Revit 2016中编译不能通过,通过多次调试,终于找到在revit 2016中使用API生成墙图元的代码,现在贴出来. 下面的代码在Revit 2016 + VS2013的环境下通过. class CreateWall : IExternalCommand { public static Document RevitDoc; public static Autodesk.Revit.ApplicationServices.Ap…
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也就是拿不到FamilySymbol实例,而根据族生成实例图元又需要这个FamilySymbol.网上看到有些帖子说可以传入IFamilyLoadOptions实例就可以,但是笔者多次尝试,该方法均没有成功,始终返回失败,无奈放弃这种方法,改为在当前工程中查找该族是否加载过,如果加载则直接返回Fami…
一.前言         应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构维护,授权验证这块.为什么不喜欢Revit API呢?其实Autodesk封装的这套API是不错的(我在之后的工作中用起来挺舒服的),可能还是人比较懒吧,老查英文的API手册有点烦,而且这手册界面让我想起了上学时帮导师写ObjectARX的痛苦经历... 吐槽完之后,开始上干货.为什么需要去判断梁构…
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现几乎所有的视图都会返回true,这个结果并不是我们想要的. public void ishide() { Element elem = Document.GetElement()); FilteredElementCollector fec = new FilteredElementCollecto…
原文:ArcGIS API for Silverlight 地图元素点闪烁,线流动显示的处理方式 <Grid x:Name="LayoutRoot" Background="White"> <!--地图资源样式模版--> <Grid.Resources> <!--预警闪烁标记符号--> <esri:MarkerSymbol x:Name="DefaultMarkerSymbol"> &l…
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { StringBuilder str = new StringBuilder(); DefinitionFile definitionFile = revitApp.OpenSharedParameterFile(); DefinitionGroups groups = definitionFile.Group…
Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd - ptStart), view3d) );         XYZ ptEnd = curve.get_EndPoint();         , , 0.01);//向量偏移的方法,这里向下偏移.         ptStart = ptStart - offset;         ptEnd…
涉及向量计算,求相交等相关技术. )                 {                     foreach (Face face in solid.Faces)                     {                         PlanarFace pf = face as PlanarFace;                         if (pf != null)                         {           …