Revitの二次開発知識の共有(6)新しいエリアプランを作成する方法

システムにはこれらのタイプのエリアスキームのみがあります(下の図を参照)。コードで新しいエリアスキームを生成する場合、どのように操作する必要がありますか?たとえば、「標準フロアエリア」エリアプランを生成し、新しいエリアプレーンを生成します。最初にコードを記述してから説明します。
ここに写真の説明を挿入

//创建面积方案
public static AreaScheme CreateAreaView(Document doc, string name)
        {
    
    
            AreaScheme areaScheme = new FilteredElementCollector(doc).OfClass(typeof(AreaScheme)).Cast<AreaScheme>().FirstOrDefault();
            ICollection<ElementId> newElemIds = ElementTransformUtils.CopyElement(doc, areaScheme.Id, XYZ.Zero);
            AreaScheme newVft = doc.GetElement(newElemIds.First()) as AreaScheme;
            newVft.Name = name;
            return newVft;
        }

List<Level> levelList = new FilteredElementCollector(doc).OfClass(typeof(Level)).OfType<Level>().ToList();
//调用方法,并且添加楼层标高
Transaction trans1 = new Transaction(doc, "创建面积方案");
trans1.Start();
AreaScheme houseAreaScheme = ViewEx.CreateAreaView(doc, "标准层面积");
trans1.Commit();
foreach (var level in levelList)
{
    
    
  ViewPlan v = ViewPlan.CreateAreaPlan(doc, houseAreaScheme.Id, level.Id);          
}
MessageBox.Show("创建完成");
return Result.Succeeded;

作成のアイデアは次のとおりです:私は最初にプロジェクトでエリアプランをランダムに見つけ、次にこのプランをコピーし、次にコピーされたプランの名前を変更し、次に床の高さのプランビューを追加します。
この共有は以上です、皆さんありがとうございます

おすすめ

転載: blog.csdn.net/Oneal5354/article/details/108681468