RevitAPI: 如何创建云线?How to create RevisionCloud

来源:互联网 发布:骑马与砍杀设置优化 编辑:程序博客网 时间:2024/05/19 16:04

首先通过RevitLooup工具,我们可以看到云线的类是RevisionCloud,那么创建云线的方法不是在Document.Create里面寻找,就是在自己的静态方法里面寻找。

果然,被我们发现有一个静态的Create函数,如下:

public static RevisionCloud Create(Document document, View view, ElementId revisionId, IList<Curve> curves)

大多数参数我们应该能够猜出来它们是干什么的,唯一一个参数就是revisionId,这个从哪里来呢?


首先,我试了一下传入ElementId.InvalidElementId,发现抛出异常:

Autodesk.Revit.Exceptions.ArgumentException: revisionId is not a valid Revision.  Parameter name: revisionId

所以这里必然是传入真实的Id。

此时我发现,RevisionCloud是有一个属性叫RevisionId的,于是查看了一下这个Id代表的是什么,那就是Revision。

再看Revision也有一个Create的静态方法,于是解决方案就明了了,也很简单:

var revision = Revision.Create(RevitDoc);var revisionCloud = RevisionCloud.Create(RevitDoc,     RevitDoc.ActiveView, ElementId.InvalidElementId,     new List<Curve>() {     Line.CreateBound(XYZ.Zero, new XYZ(10,0,0))});


0 0
原创粉丝点击