=========【更多高级应用请关注公众号】========
===================================
一系列的斑马线需要创建比较多的族实例,使用以下这个方法效率会比较高。
ICollection<ElementId> NewFamilyInstances2 (List<FamilyInstanceCreationData> dataList)
给此方法传入一个的参数(FamilylnstanceCreationData)集合,里面每个参 创建实例的一系列数据。
void CreatFamilyInstances2(Autodesk.Revit.DB.Document RevitDoc,FamilySymbol pavementSymbol)
{
// 创建一系列的人行道
List<FamilyInstanceCreationData> list = new List<FamilyInstanceCreationData>();
list.Add(new FamilyInstanceCreationData(new XYZ(10, 0, 0), pavementSymbol,
StructuralType.NonStructural));
list.Add(new FamilyInstanceCreationData(new XYZ(20, 0, 0), pavementSymbol,
StructuralType.NonStructural));
list.Add(new FamilyInstanceCreationData(new XYZ(30, 0, 0), pavementSymbol,
StructuralType.NonStructural));
list.Add(new FamilyInstanceCreationData(new XYZ(40, 0, 0), pavementSymbol,
StructuralType.NonStructural));
list.Add(new FamilyInstanceCreationData(new XYZ(50, 0, 0), pavementSymbol,
StructuralType.NonStructural));
// 创建实例
using (Transaction transaction = new Transaction(RevitDoc))
{
transaction.Start("Create pavements");
var familyInstances = RevitDoc.Create.NewFamilyInstances2(list);
transaction.Commit();
foreach (var familyInstanceId in familyInstances)
{
System.Diagnostics.Trace.WriteLine(familyInstanceId);
}
}
}