Revit API切换三维视图】的更多相关文章

切换视图必须在事务结束之后,这个困惑了半天,记录一下. , , -));//斜视45度             ts.Commit();             //切换视图必须在事务结束后,否则会提示错误:             //Cannot change the active view of a modifiable document             uiDoc.ActiveView = view3D;         }         catch (Exception ex…
start [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class cmdPickPointIn3d : IExternalCommand {     public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)     {         UIApp…
Revit中默认的三维视图背景色为白色,有时候为了让现实效果更佳逼真,需要将三维视图背景色设置为天空色,只需在三维视图属性中打开"图形显示选项"即可对三维视图背景色进行设置.…
start //创建详图视图 Transaction ts = new Transaction(doc, "http://greatverve.cnblogs.com"); ts.Start(); Reference refElem = selection.PickObject(ObjectType.Element, "选择"); Element elem = doc.GetElement(refElem); BoundingBoxXYZ bBox = elem.g…
查看 Revit API.发现有Element::IsHidden这个方法.通过UI创建一个element,注意要使得这个element在某些视图可见,但是在另一些视图不可见.运行下面的方法,你会发现几乎所有的视图都会返回true,这个结果并不是我们想要的. public void ishide() { Element elem = Document.GetElement()); FilteredElementCollector fec = new FilteredElementCollecto…
Revit API提供根据射线来寻找经过的元素.方法是固定模式,没什么好说.关键代码:doc.FindReferencesWithContextByDirection(ptStart, (ptEnd - ptStart), view3d) );         XYZ ptEnd = curve.get_EndPoint();         , , 0.01);//向量偏移的方法,这里向下偏移.         ptStart = ptStart - offset;         ptEnd…
最近VS2008出现一个问题,打开项目后很快就非常慢,特别是切换设计视图马上卡死,很久也反应不过来.网上找了几种办法,都不好使,有的说是office影响的,有的说要改注册表,都试了一下,还是没用.后来把VS2008的设置重置了一下,工具-导入导出设置-重置所有设置,ok,终于正常了. 还有一个问题是ajaxControlToolkit的版本冲突问题.一个项目是.net3.5,用的自带的控件包,一个是.net2.0,用的早期版本的控件包,两个项目都是用VS2008做.经常会出现这种情况,3.5版本…
本文是一篇简单的webGL+threejs构建web三维视图的入门教程,你可以了解到利用threejs创建简单的三维图形,并且控制图形运动.若有不足,欢迎指出. 本文使用的框架是three.js github地址:https://github.com/mrdoob/three.js, 官网:http://threejs.org/, 文档:http://threejs.org/docs/, 本文中的示例已上传github,地址:https://github.com/RizzleCi/three.j…
一.前言         应该是第二次写关于Revit API的博文了.虽然在BIM企业中工作,从事桌面BIM软件开发,但是我是不怎么喜欢写Revit API相关的代码.平时更多的是在写界面展示,架构维护,授权验证这块.为什么不喜欢Revit API呢?其实Autodesk封装的这套API是不错的(我在之后的工作中用起来挺舒服的),可能还是人比较懒吧,老查英文的API手册有点烦,而且这手册界面让我想起了上学时帮导师写ObjectARX的痛苦经历... 吐槽完之后,开始上干货.为什么需要去判断梁构…
3D Slicer在分割后三维重建的图像,效果很好,但是存在一定的不足,默认的颜色并不是很合适,这时手动设置三维视图下的需要的颜色就很有必要了.如下图所示,默认的三维重建后的颜色. 这样的颜色显然不是颅骨正常的颜色,需要设置颜色,设置步骤如下: (1)模块选择窗口——Segment Editor (2)点击图中1位置Logical Operators,点击2位置的颜色块 (3)得到下图所示窗口,选择Tissue(数字标签1)——Bone(数字标签2)——颜色设置位置(数字标签3)——确定即可 (…
在3D Slicer中,我们如果想在自己写的插件中来修改三维视图中的默认设置的话,那么首先就需要获得三维视图的结点,其类型为vtkMRMLViewNode,获得了这个结点后,我们就可以用代码来修改一系列属性了,比如隐藏方框和坐标轴标签等.这里我们通过使用系统函数getNode()来获得三维视图节点,需要注意的是,这里的视图结点的名字是vtkMRMLViewNode1,那么代码如下: viewNode = slicer.util.getNode('vtkMRMLViewNode1') viewNo…
1.获取共享参数 private string GetSharInfo(Autodesk.Revit.ApplicationServices.Application revitApp) { StringBuilder str = new StringBuilder(); DefinitionFile definitionFile = revitApp.OpenSharedParameterFile(); DefinitionGroups groups = definitionFile.Group…
SharePoint online 默认是现代视图,我们可以通过Powershell命令切换默认视图. 以下,是完成的Powershell命令: # This file uses CSOM. Replace the paths below with the path to CSOM on this computer. # If CSOM is in the user's downloads folder, you only have to replace the <username> plac…
在Revit API中加载族可以使用Doc.LoadFamily方法,传入要加载的族文件路径名,但是这种方式有一种缺点,就是如果族文件在当前工程中没有加载的话则返回成功,如果已经加载过,则返回失败,也就是拿不到FamilySymbol实例,而根据族生成实例图元又需要这个FamilySymbol.网上看到有些帖子说可以传入IFamilyLoadOptions实例就可以,但是笔者多次尝试,该方法均没有成功,始终返回失败,无奈放弃这种方法,改为在当前工程中查找该族是否加载过,如果加载则直接返回Fami…
1)读取所有视图: public static ViewSet GetAllViews(Document doc) { ViewSet views = new ViewSet(); FilteredElementCollector collector = new FilteredElementCollector(doc); FilteredElementIterator it = collector.OfClass(typeof(View)).GetElementIterator(); it.R…
在Revit中采用过滤器控制视图显示,利用过滤器给图元着色,利用过滤器控制视图显示或隐藏等,那么,在不同的项目中是否每次都要设置相同的过滤器,其实,Revit提供了这么一种在不同项目传递信息的方式,在Revit菜单"管理-设置"中有一个传递项目标准命令. 如果需要将"项目三"中的过滤器传递到"项目四"中,那么切换到"项目四"任意视图,点击"传递项目标准"命令即可打开传递项目标准对话框,其中列出了可以再不同项…
在Revit中有一个相机功能可以以相机视角产生一个视图.一开始我在Revit2016的API文档中找关键词Camera,但是没什么收获. 其实这个相机功能的真正核心是创建透视视图:View3D.CreatePerspective(Document, ElementId) 简单的代码示例如下: var uiDocument = commandData.Application.ActiveUIDocument;var doc = uiDocument.Document;IEnumerable<Vie…
在 Visual Studio 2008的编辑一个web页面的时候,“源视图”(Source View), 你可以自定义设计视图(Design View)为默认视图. 方法如下: 菜单:工具+选项+html设计器+常规,在“起始位置”选项中,选中“设计视图”,如下图所示: 可以用快捷键F7从设计窗口切换到源代码窗口,然后再用Shift+F7切换到设计视图有些时候无法切换到设计视图模式,多数是你安装web创作组件的安装包丢失,重新从您的vs安装文件中提取:\WCU\WebDesignerCore\…
刚开始使用eclipse进行调试时,当弹出"Confir Perspective Switch"视图时,不小心点了“No”.以后每次debug的时候都不切换到debug视图. 后发现设置Window->Preferences->Perspectives将Open the associated when launching选择为Always就可以了.…
start ;             )                 {                     eId = item;                 }             }             tag = doc.get_Element(eId) as IndependentTag;         }         catch (Exception)         {             ts.Dispose();             retu…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] );             Solid roomSolid = geoObject as Solid;             //计算质心             XYZ centriod = roomSolid.ComputeCentroid();             //下降             XYZ roo…
Revit内置了一些命令,直接调用Revit操作方式. 可以去API文档查询PostableCommand枚举,还是很多的. 话不多说,直接上代码 var commandId = RevitCommandId.LookupPostableCommandId(PostableCommand.LineStyles); if (app.CanPostCommand(commandId)) { app.PostCommand(commandId); }…
话不多说,直接上代码! public class WorkSetHelper { public void AddElementsToWorkSet(Document doc, List<Element> elements) { if (doc.IsWorkshared == true) { var workset = GetWorkset(doc); if (workset != null) { var worksetID = workset.Id.IntegerValue; using (T…
OwnerFamily即族模板.获取类别的方法:Document.Settings.Categories.get_Item(BuiltInCategory.OST_Columns); //判断是不是柱族模板 [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class cmdCheckFamily : IExternalCommand {     bool ValidateDocumen…
由于Revit的版本问题,在网上找的生成墙图元的代码,在我机器上的Revit 2016中编译不能通过,通过多次调试,终于找到在revit 2016中使用API生成墙图元的代码,现在贴出来. 下面的代码在Revit 2016 + VS2013的环境下通过. class CreateWall : IExternalCommand { public static Document RevitDoc; public static Autodesk.Revit.ApplicationServices.Ap…
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] , , ) *  / , -, ) *  / , -, ) *  / , , ) *  / ).XYZPoint;             }         }         ), list.ElementAt()) )             {                 , , -)) < 0.01)//数值在0…
[Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd20120604 : IExternalCommand {     public Result Execute(ExternalCommandData cmdData, ref string messages, ElementSet elements)     {         UIDocument ui…
  [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class cmd : IExternalCommand {     public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)     {         UIDocument uiDoc = cmdDa…
//过滤选择,加上过滤条件,没有看出来差别. [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class cmd : IExternalCommand {     public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)     {         U…
开洞信息数据: ]);             ;                     ;                     ;                     ;                     , , ) * (dHeigh /  + iUp) /  + iLeft) / , , -) * (dHeigh /  + iDown) /  + iRight) / ;         ;         ) - lCurve.Curve.get_EndPoint();  …