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

本文详细介绍了如何使用RevitLookup工具创建云线,包括理解RevisionCloud类、使用Create函数以及获取有效的RevisionId。

首先通过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))
});


To optimize queries in Hive, you can follow these best practices: 1. Use partitioning: Partitioning is a technique of dividing a large table into smaller, more manageable parts based on specific criteria such as date, region, or category. It can significantly improve query performance by reducing the amount of data that needs to be scanned. 2. Use bucketing: Bucketing is another technique of dividing a large table into smaller, more manageable parts based on the hash value of a column. It can improve query performance by reducing the number of files that need to be read. 3. Use appropriate file formats: Choose the appropriate file format based on the type of data and the query patterns. For example, ORC and Parquet formats are optimized for analytical queries, while Text and SequenceFile formats are suitable for batch processing. 4. Optimize data storage: Optimize the way data is stored on HDFS to improve query performance. For example, use compression to reduce the amount of data that needs to be transferred across the network. To create a partition table with Hive, you can follow these steps: 1. Create a database (if it doesn't exist) using the CREATE DATABASE statement. 2. Create a table using the CREATE TABLE statement, specifying the partition columns using the PARTITIONED BY clause. 3. Load data into the table using the LOAD DATA statement, specifying the partition values using the PARTITION clause. Here's an example: ``` CREATE DATABASE my_db; USE my_db; CREATE TABLE my_table ( id INT, name STRING ) PARTITIONED BY (date STRING); LOAD DATA LOCAL INPATH '/path/to/data' OVERWRITE INTO TABLE my_table PARTITION (date='2022-01-01'); ``` This creates a table called `my_table` with two columns `id` and `name`, and one partition column `date`. The data is loaded into the table with the partition value `2022-01-01`.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值