转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/7973028

作者:  叶雄进 , Autodesk ADN

Revit2013 提供了新的API来创建立面视图。创建立面视图要求先创建一个立面视图标记ElevationMarker,然后用这个ElevationMarker的函数CreateElevation() 来创建一个立面视图。

CreateElevation函数的签名如下:

public ViewSection CreateElevation(Document document,ElementId viewPlanId,int index
)

第一个,第二个参数比较容易理解。第三个参数Index的含义是表明立面视图的方向。

=0, 表示生成东立面视图

=1, 生成南立面视图

=2, 生成西立面视图

=3, 生成北立面视图

>=4, 程序运行错误。

下面代码演示了如何创建一个立面视图。创建后修改下立面视图的Crop Box范围。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Linq;using  Autodesk.Revit .DB;
using Autodesk.Revit.UI;
using Autodesk.Revit .ApplicationServices;
using Autodesk.Revit.Attributes ;[TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class RevitCommand : IExternalCommand
{public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements){UIApplication app = commandData.Application;Document doc = app.ActiveUIDocument.Document;Transaction trans = new Transaction(doc, "ExComm");trans.Start();FilteredElementCollector collector = new FilteredElementCollector(doc);collector.OfClass(typeof(ViewFamilyType));var viewFamilyTypes = from elem in collector let type = elem as ViewFamilyTypewhere type.ViewFamily == ViewFamily.Elevationselect type;ElementId viewtypeId;if (viewFamilyTypes.Count() > 0)viewtypeId = viewFamilyTypes.First().Id;elsereturn Result.Cancelled;ElevationMarker marker = ElevationMarker.CreateElevationMarker(doc, viewtypeId, new XYZ(0, 10, 0), 100);ViewSection sv = marker.CreateElevation(doc,doc.ActiveView.Id, 1);trans.Commit();//chang the cropbox.Transaction trans2 = new Transaction(doc,"test2");trans2.Start();doc.Regenerate();// get the bounding box of the sectionBoundingBoxXYZ bb = sv.CropBox;// by way of example reduce the section height by 3 footXYZ max = bb.Max;max = new XYZ(max.X+ 3, max.Y - 3, max.Z);bb.Max = max;// set the new bounding boxsv.CropBox = bb;trans2.Commit();return Result.Succeeded ;}
}

在Revit 2013里 如何编程创建(东西南北四个方向)的立面图相关推荐

  1. 在Revit中,如何编程创建新类型(如窗户或墙)

    在我们的ADN中,有许多人都问这个问题.这里与大家分享下. Revit的对象基本上都是基于类型的,把具有相同属性放在类型中保存,不熟悉类型这个概念的请看看帮助,我就不再多啰嗦了 :).在Revit中创 ...

  2. SharePoint 2013的REST编程基础

    1. SharePoint 2013对REST编程的支持 自从SharePoint2013开始, SharePoint开始了对REST 编程的支持,这样除了.NET , Silverlight, Po ...

  3. Revit2014 支持编程创建管道并且立即赋予系统类型名称

    在Revit2013里面,当我们用NewPipe创建完成一个管道后,若这个管断是独立的没有与其它已经具有系统类型的管道或终端设备连接,这个管段的系统类型属性是没有定义的.通过编程也无法赋予系统类型. ...

  4. javascript笔记:深入分析javascript里对象的创建(上)续篇

    今天回来一看我的博客居然有这么多人推荐真是开心极了,看来大家对我的研究有了认可,写博客的动力越来越大了,而且我发现写javascript在博客园里比较受欢迎,写java的受众似乎少多了,可能博客园里j ...

  5. bim 二次开发c语言,BIM百科 | Revit二次开发入门--创建一个简单的程序①

    获取<每日一技,我的成长轨迹>汇总 · 请访问柏慕联创官方网站: www.lcbim.com · Revit插件制作实例步骤: 1.创建你的第一步骤插件 启动 Visual C# 速成版开 ...

  6. eclipse编程 创建项目 简易教程

    eclipse编程 创建项目 简易教程 应对机考 本文源于应对java的期中机考,当时有同学一直用记事本编程而不会用eclipse编程,由此产生了本文. 本文主要流程为:新建项目->新建类-&g ...

  7. 赞!VC++编程创建远程线程式调用CALL_VirtualAllocEx_WriteProcessMemory_CreateRemoteThread_WaitForSingleObject

    16赞!VC++编程创建远程线程式调用CALL. 借箭源码:14.解密!远程CALL调用代码实现原理. VirtualAllocEx 在指定进程里申请一块内存 LPVOID WINAPI Virtua ...

  8. SharePoint 2013 入门教程之创建页面布局及页面

    原文:SharePoint 2013 入门教程之创建页面布局及页面 在SharePoint的使用过程中,页面布局和页面时很重要的两个概念,主要用于数据个性化展示,下面,我们简单介绍一下SharePoi ...

  9. 用户自定义一个异常,编程创建并抛出某个异常类的实例。运行该程序并观察执行结果。

    用户自定义一个异常,编程创建并抛出某个异常类的实例.运行该程序并观察执行结果. 例:用户密码的合法化验证. 要求密码有4-6个数字组成.若长度不落在这个范围或不是有数字组成.抛出自己的异常. 要求: ...

最新文章

  1. 鱼佬:从数据竞赛到工作!
  2. call_user_func_array 笔记
  3. 小程序promise封装post请求_微信小程序promise封装get/post请求
  4. CentOS7.6离线安装JDK1.8
  5. C++ BigInt模板手打
  6. 数据挖掘系列(3)--关联规则评价
  7. 用python模拟三体运动_怎么用Python写一个三体的气候模拟程序
  8. 电脑格式化后需要重装系统吗_电脑经常重装系统对电脑有影响吗
  9. 常见设计模式 (python代码实现)
  10. P6295-有标号 DAG 计数【多项式求逆,多项式ln】
  11. Leetcode算法题(C语言)2
  12. [转]UpdatePanel的用法详解
  13. 我爱Python的5个理由
  14. python工资一般多少p-大神级Python工程师是怎么P图的,带你用Python玩转P图
  15. Java中CountDownLatch的使用和求多线程的运行时间
  16. xmpp java_XMPP: Android基于Xmpp的即时通讯
  17. 小学计算机二课堂活动总结,信息技术第二课堂活动总结
  18. Android系统安全 — 3.1-展锐平台secureboot安全启动流程和使用
  19. (个人学习笔记)利用ensight进行EDEM耦合FLUENT后处理
  20. hive hsq中的group by Distribute by partition by cluster by partitioned by clustered by

热门文章

  1. android 你访问的站点在新浪微博认证失败,Android Oauth 认证多个新浪微博账号时,报 api.t.sina.com.cn:80!!...
  2. android弹出广告cn.yipianfengye.android:ad-library:1.0使用
  3. vs2017\vs2019 动态规划算法实现0-1背包问题 C
  4. 看aps智能排程改善服装制衣行业的问题
  5. 我们用计算机玩反恐精英,我的电脑玩反恐精英ol很卡。集成显卡,CPU占用50多,为什么?...
  6. css3 制作阳光,CSS3 散射的阳光动画背景
  7. 小萌新的python进阶之路(一)
  8. 百度二级域名大全【源于百度粉丝】
  9. 仿vue.js实现简单模板引擎(2kB)
  10. 机器学习深度学习资料总结