RevitAPI之创建一个面积【比目鱼原创】
来源:互联网 发布:ehshig软件 编辑:程序博客网 时间:2024/05/22 11:45
=========【更多高级应用请关注公众号】========
===================================
创建Area的方法是Document. Create. NewArea,RevitAPI提供三个重载函数创建面积。
① Area NewArea(ViewPlan areaView, UV point):在给定的一个面积平面视图 (AreaPlan)和一个放罝点(UV),在该放置点创建一个面积。如果该视图不是面积视图,会有异常 InvalidOperationException 抛出。
•如果在该放置点有闭合回路,那么创建的面积会自动绑定该回路。
•如果在该放置点没有房间边界可以绑定,会有警告框弹出:面积不在完全闭合的区
域中。
•如果在该放置点已有一个房间,也会有瞥告框弹出:多个房间位于同一个闭合区
域中。
代码:创建面积
using (Transaction transaction = new Transaction(RevitDoc)) { transaction.Start("Create Area"); //如果在点(30.0, 30.0)这个位置找不到面积边界,将会有警告对话框弹出。 Area area = RevitDoc.Create.NewArea(areaView, new UV(30.0, 30.0)); transaction.Commit(); }
② NewAreas(List<AreaCreationData〉dataList):每一组数据包含一个平面视图(ViewPlan)和一个放置点(UV),来创建一系列的面积,效果等同于使用同样的输人而多次调用NewArea。
③其他一些和创建面积相关函数:ModelCurve NewAreaBoundaryLine(SketchPlane sketchPlane,Curve geometryCurve,ViewPlan areaView)。给定一个草图视图,一条曲线和一个面积视图,创建一条面积边界曲线(ModelCurve)。调用该方法形成一个闭合区域之后,取该区域的一个点,再调用New Area就可以在该点处创建面积了。
代码片段4-25创建了一个四方形闭合区域,然后在该区域内的一个点处创建一个面积。
注意:一般而言,该区域必须是闭合或者接近闭合(误差不超过1英寸)。
代码:创建四方形闭合区域并在其上创建面积
void CreatArea(Autodesk.Revit.DB.Document RevitDoc) { using (Transaction transaction = new Transaction(RevitDoc)) { var create = RevitDoc.Create; //通过创建四条面积边界线来形成一个正方形的闭合区域 transaction.Start("Create Area Boundary"); var sketchPlane = areaView.SketchPlane; create.NewAreaBoundaryLine(sketchPlane, Line.CreateBound(new XYZ(20, 20, 0), new XYZ(40, 20, 0)), areaView); create.NewAreaBoundaryLine(sketchPlane, Line.CreateBound(new XYZ(40, 20, 0), new XYZ(40, 40, 0)), areaView); create.NewAreaBoundaryLine(sketchPlane, Line.CreateBound(new XYZ(40, 40, 0), new XYZ(20, 40, 0)), areaView); create.NewAreaBoundaryLine(sketchPlane, Line.CreateBound(new XYZ(20, 40, 0), new XYZ(20, 20, 0)), areaView); transaction.Commit(); //在新创建的面积边界的中心点(30.0, 30.0)位置放置一个面积 transaction.Start("Create Area"); Area area = create.NewArea(areaView, new UV(30.0, 30.0)); transaction.Commit(); } }
阅读全文
0 0
- RevitAPI之创建一个面积【比目鱼原创】
- RevitAPI之创建房间方法的介绍【比目鱼原创】
- RevitAPI之创建文字和注释【比目鱼原创】
- RevitAPI之TransactionGroup和Assimilate方法【比目鱼原创】
- RevitAPI之关于Room、Area、Tag【比目鱼原创】
- Revit二次开发之创建斑马线【比目鱼原创】
- Revit二次开发之移动元素【比目鱼原创】
- Revit二次开发之创建共享参数及绑定共享参数【比目鱼原创】
- Revit API之如何创建梯形墙及带正反面的墙【比目鱼原创】
- Revit二次开发之创建双坡式屋顶及在屋顶开洞口【比目鱼原创】
- Revit二次开发之关于外部命令IExternalCommand【比目鱼原创】
- Revit二次开发之Revit事务模式(TransactionMode)【比目鱼原创】
- Revit二次开发之Journal日志文档【比目鱼原创】
- Revit二次开发之如何选取Revit元素【比目鱼原创】
- Revit二次开发之快速过滤与慢速过滤【比目鱼原创】
- Revit二次开发之材料Material的设置【比目鱼原创】
- Revit二次开发之获取参数绑定的类别【比目鱼原创】
- Revit二次开发之外部应用IExternalApplications和数据库级别的外部应用【比目鱼原创】
- PAT 1003.我要通过!
- Tomcat的安装和配置(Windows)
- 抢票系统的简单实现
- 74. Search a 2D Matrix
- 4.文件和目录
- RevitAPI之创建一个面积【比目鱼原创】
- 在Linux上安装Oracle数据库 11g
- 第 1 章:Python 概述
- JVM内存分配和回收策略
- Keepalived高可用httpd,以及日志重定向
- Spring表达式基础(Spring Expression Language)
- tensor.get_shape()
- linux命令
- 自定义SpringMVC全局参数转换