18.

【Revit API】FamilySymbol(タイプ)の取得とパラメータの変更

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

前提

C#

 

実装

選択した要素のFamilySymbol(タイプ)のパラメータを変更する。

Document document = commandData.Application.ActiveUIDocument.Document;
UIDocument uidocument = commandData.Application.ActiveUIDocument;

// 要素の取得処理の詳細は省略

ElementUtil elementUtil = new ElementUtil();
IList<Element> elements = elementUtil.GetSelectedElementsByCategoryId(document, uidocument, BuiltInCategory.OST_Doors);

Transaction transaction = new Transaction(m_data.CommandData.Application.ActiveUIDocument.Document, Guid.NewGuid().GetHashCode().ToString());
transaction.Start();

foreach (Element element in elements)
{

    //肝心のFamilySymbolの取得処理は後述
    FamilyService familyService = new FamilyService();
    FamilySymbol symbol = familyService.GetFamilySymbol(document, element);

    IList<Parameter> symbolParams = symbol.GetOrderedParameters();

    foreach (Parameter symbolParam in symbolParams)
    {
       
symbolParam.Set("value"); //とりあえず適当に変更
    }
}

transaction.Commit();

 

 

以下、FamilySymbolの取得処理。

対象の要素のFamilySymbolを取得する。

public FamilySymbol GetFamilySymbol(Document document, Element element)
{

    FilteredElementCollector familyCollector = new FilteredElementCollector(document);
    familyCollector.OfClass(typeof(FamilySymbol));

    FamilySymbol familySymbolToFind = null;
    foreach (FamilySymbol familySymbol in familyCollector)
    {
        if (familySymbol.Id == element.GetTypeId())
        {
            familySymbolToFind = familySymbol;
            break;
        }
    }
    return familySymbolToFind;
}

 

子ページ
子ページはありません
同階層のページ
  1. RevitAPI.dll と RevitAPIUI.dll の参照
  2. マニフェストファイルの書き方
  3. アドインの追加/設置方法
  4. アドインの作成サンプル(外部ツール編)
  5. アドインの作成サンプル(外部アプリケーション編)
  6. 要素の取得と情報の表示
  7. 要素のカテゴリとマテリアルの取得と表示
  8. よく使うBuiltInCategoryの一覧
  9. 外部ツールでAutodesk.Revit.Documentを取得する方法
  10. エラーメッセージの設定方法
  11. 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
  12. 要素(カテゴリ、ファミリ、タイプ)とは
  13. ElementId とUniqueId の違い
  14. 要素フィルターの使い方
  15. 要素のパラメータ一覧の取得
  16. pyRevitの導入と簡単なアプリケーションの作成
  17. Revit SDKのサンプルの場所とビルド方法
  18. FamilySymbol(タイプ)の取得とパラメータの変更
  19. 相対パスでdllにアイコン画像を埋め込む方法

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。