Revit API判断是不是柱族模板】的更多相关文章

OwnerFamily即族模板.获取类别的方法:Document.Settings.Categories.get_Item(BuiltInCategory.OST_Columns); //判断是不是柱族模板 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class cmdCheckFamily : IExternalCommand {     bool ValidateDocumen…
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现几乎所有的视图都会返回true,这个结果并不是我们想要的. public void ishide() { Element elem = Document.GetElement()); FilteredElementCollector fec = new FilteredElementCollecto…
start )             );         )) )) );         XYZ xyz12 = lCurve1.Curve.get_EndPoint();         XYZ xyz21 = lCurve2.Curve.get_EndPoint();         XYZ xyz22 = lCurve2.Curve.get_EndPoint();         );         XYZ xyz2 = );         XYZ xyz3 = );      …
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也就是拿不到FamilySymbol实例,而根据族生成实例图元又需要这个FamilySymbol.网上看到有些帖子说可以传入IFamilyLoadOptions实例就可以,但是笔者多次尝试,该方法均没有成功,始终返回失败,无奈放弃这种方法,改为在当前工程中查找该族是否加载过,如果加载则直接返回Fami…
一.前言         应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构维护,授权验证这块.为什么不喜欢Revit API呢?其实Autodesk封装的这套API是不错的(我在之后的工作中用起来挺舒服的),可能还是人比较懒吧,老查英文的API手册有点烦,而且这手册界面让我想起了上学时帮导师写ObjectARX的痛苦经历... 吐槽完之后,开始上干货.为什么需要去判断梁构…
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…
1. 'API判断数组为空或没有初始化 Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" (ByRef saArray() As Any) As Long Private Sub Command1_Click()Dim tmp() As StringIf SafeArrayGetDim(tmp) = 0 ThenMsgBox "数组为空或没有初始化"End IfEnd Sub 2. Private…
系统族,可以直接转化为对应的类(Wall,Duct)然后取得几何信息,普通族需要转化为FamilyInstance ))         {           TaskDialog.Show()               FindBottomFace(solid2);           }         }       }     }     )         {           TaskDialog.Show()       {         FindBottomFaces(s…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.Attributes; using Autodesk.Revit.ApplicationServices; namespace…
系统族可以通过内参遍历,遍历出来是个FamilySymbol喷头属于系统族,但不能通过NewDuct();类似这样的方法布置.必须使用 NewFamilyInstance() );                 p *= 0.3333333333333333;                 break;             }             return p;         }     } } url:http://greatverve.cnblogs.com/p/api-S…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmdRevitVersion : IExternalCommand {     public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)     {         …
一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定数据是否可读或可写,从而为开发出健壮的程序提供切实依据.   同样,在Windows中,文件可以共享模式打开,它也涉及到锁的操作问题.根据Windows中文件共享时加锁范围的大小,锁可分为全局锁和局部锁:全局锁以锁定文件全部内容为特征,而局部锁以锁定文件的局部内容为特征,且文件的锁定区域不可重复.根…
一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定数据是否可读或可写,从而为开发出健壮的程序提供切实依据.   同样,在Windows中,文件可以共享模式打开,它也涉及到锁的操作问题.根据Windows中文件共享时加锁范围的大小,锁可分为全局锁和局部锁:全局锁以锁定文件全部内容为特征,而局部锁以锁定文件的局部内容为特征,且文件的锁定区域不可重复.根…
start , , )) < , , -)) < , dHeight = ;             ConnectorSetIterator csi = fi.MEPModel.ConnectorManager.Connectors.ForwardIterator();             )                         {                             ) < ;             ;             IList<…
[Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd20120604 : IExternalCommand {     public Result Execute(ExternalCommandData cmdData, ref string messages, ElementSet elements)     {         UIDocument ui…
win32   API函数的做法: 要用的函数:InternetGetConnectedState 函数原形:BOOL   InternetGetConnectedState(LPDWORD   lpdwFlags,DWORD   dwReserved); 参数lpdwFlags返回当前网络状态,参数dwReserved依然是保留参数,设置为0即可. INTERNET_CONNECTION_MODEM   通过调治解调器连接网络 INTERNET_CONNECTION_LAN   通过局域网连接…
Revit内置了一些命令,直接调用Revit操作方式. 可以去API文档查询PostableCommand枚举,还是很多的. 话不多说,直接上代码 var commandId = RevitCommandId.LookupPostableCommandId(PostableCommand.LineStyles); if (app.CanPostCommand(commandId)) { app.PostCommand(commandId); }…
在Revit中有一个相机功能可以以相机视角产生一个视图.一开始我在Revit2016的API文档中找关键词Camera,但是没什么收获. 其实这个相机功能的真正核心是创建透视视图:View3D.CreatePerspective(Document, ElementId) 简单的代码示例如下: var uiDocument = commandData.Application.ActiveUIDocument;var doc = uiDocument.Document;IEnumerable<Vie…
start ] ;);                 if (xyzStart.X > pb.Max.X || xyzStart.Y < pb.Max.Y)                     bWhile = false;                 else                     listXYZ.Add(xyzStart);             }             //批量布置             List<ACreat.FamilyIns…
管道只能通过PipeType过滤出来类型属性,只能是系统族的类型属性.管道实例过滤不能用族符号和族实例,要用Pipe using System; using System.Collections.Generic; using System.Linq; using System.Text; using WinForm = System.Windows.Forms; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Re…
由于Revit的版本问题,在网上找的生成墙图元的代码,在我机器上的Revit 2016中编译不能通过,通过多次调试,终于找到在revit 2016中使用API生成墙图元的代码,现在贴出来. 下面的代码在Revit 2016 + VS2013的环境下通过. class CreateWall : IExternalCommand { public static Document RevitDoc; public static Autodesk.Revit.ApplicationServices.Ap…
 题目链接 /* 模板题-------判断欧拉回路 欧拉路径,无向图 1判断是否为连通图, 2判断奇点的个数为0 */ #include <iostream> #include <cstring> #include <vector> #include <cstdio> using namespace std; struct DisjoinSet {//并查集判断是否连通 vector<int> father, rank; DisjoinSet(i…
ElasticSearch Rest高级API 提供了多种搜索方式,除了前面讲到的search查询,ElasticSearch 还提供了通过模板搜索查询.我个人比较喜欢这种方式. 我们可以通过脚本预选注册模板,在注册模板时定义一个模板名称.在查询时通过模板名称调用该模板.首先演示下如何注册模板: public void registTemplate(){ RestClient restClient = elasticClient.getRestClient(); String template…
反调试:利用Java层API来判断Android程序是否是处于被调试下. 1.直接调用系统的android.os.Debug.isDebuggerConnected()方法 我们进行动态调试的时候,其中有一个步骤是进行jdb连接操作:jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700,当接连成功之后,android.os.Debug.isDebuggerConnected() 这个方法就会ture,那么我们可以利用…
1背景小伙伴在做revit二次开发的时候,可能需要在族环境中将族的类型参数与实例参数相互转换. 2思路1.使用族管理器FamilyManager,参见注释12.首先获取需要转换的参数(单个与批量),参见注释2,33.实例参数转类型参数,或者类型参数转实例转实例参数,参见注释4,5 3代码using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using Sy…
这几天尝试着用Android Studio写一个小工具的时候遇到了一个动态权限申请的问题.权限的申请使用的语句为: ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, MY_PERMISSIONS_REQUEST_SEND_SMS); 其中MY_PERMISSIONS_REQUEST_SEND_SMSjava为申请的一个int型的变量,用于指代权限代码,相比数字更易于程序维护. 为…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] , , ) *  / , -, ) *  / , -, ) *  / , , ) *  / ).XYZPoint;             }         }         ), list.ElementAt()) )             {                 , , -)) < 0.01)//数值在0…
直接访问http://api.wipmania.com/jsonp 还有经纬度…
下面的这些方法都主要用来判断测试结果是否与预期结果相符,一般把is和search方法放在assert里面判断.assert最常用的还是assertThat方法,是Junit的判断,这里就不多说了. 断言方法assert(robotium特有的断言方式,实际项目中和Junit的assert方法配合使用) void assertCurrentActivity (String message, Class activityClass [,boolean isNewInstance]) 断言当前的act…