Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Revit API Tips: 複数のファミリを組み合わせて(ネストして)新しいファミリを作成する方法

Дата публикации: 17-08-2026 07:35:24


ファミリを他のファミリにネストして、結合したファミリ ジオメトリを含んだ新しいファミリ(サードファミリ)を作成することができます。
 
たとえば、スクラッチから電球ファミリを含む照明器具をモデリングするのではなく、電球を照明器具ファミリにロードすることで、複合照明ファミリを作成することができます。
 
下記のヘルパーメソッドは、次の3つのステップを通じて、ドキュメント上に外部のRFAファイルを読み込んで、ファミリインスタンス
を生成するサンプルコードです。
ドキュメントにファミリをロードします。
ファミリシンボルを取得します。
新しいファミリインスタンスを作成します。
 
StructuralType _non_rst = StructuralType.NonStructural;

FamilyInstance InsertFamilySymbolFromRfa(
string filename,
Document doc )
{
FamilyInstance fi = null;
//
// load family file:
//
Family f;
if( doc.LoadFamily( filename, out f ) )
{
//
// retrieve family symbol:
//
FamilySymbol symbol = null;
foreach( FamilySymbol s in f.Symbols )
{
symbol = s;
break;
}
//
// create family instance:
//
if( null != symbol )
{
if( doc.IsFamilyDocument )
{
fi = doc.FamilyCreate.NewFamilyInstance(
XYZ.Zero, symbol, _non_rst );
}
else
{
fi = doc.Create.NewFamilyInstance(
XYZ.Zero, symbol, _non_rst );
}
}
}
return fi;
}

public IExternalCommand.Result Execute(
ExternalCommandData commandData,
ref string message,
ElementSet elements )
{
Application app = commandData.Application;
Document doc = app.ActiveDocument;

FamilyInstance a = InsertFamilySymbolFromRfa(
"C:/tmp/column.rfa", doc );

FamilyInstance b = InsertFamilySymbolFromRfa(
"C:/tmp/shelf.rfa", doc );

return IExternalCommand.Result.Succeeded;
}
 
実装の際の注意点として、ファミリのタイプまたはパラメータにアクセスするための FamilyManager クラスは、ターゲットとなるファミリのファミリドキュメントをロードしなければ利用できません。パラメータを設定する際には、ドキュメントロードの処理時間も考慮して設計する必要があります。
 
またファミリをネストしてサードファミリを作成する前には、そのネストするファミリのパラメータの共有設定(有効/無効)を事前に考慮しなければなりません。
 
この共有設定により、サードファミリをロードして要素を配置した際のジオメトリの動作が異なります。
ネストするファミリが共有設定されていない場合、そのネストしたファミリによって作成したコンポーネントは、他の要素とともに単一ユニットとして動作します。コンポーネントを別々に選択(編集)したり、タグ付けや集計することができません。
ネストするファミリが共有設定されている場合、コンポーネントを別々に選択、タグ付け、および集計できます。
以下のリンクは、複数のファミリをネストしてサードファミリを作成する手法に関する解説です。Revit APIを利用して実装する際にも役立ちますのでご参照ください。
ロード可能なファミリのネスト、共有について
コンポーネントがネストされたファミリを作成する
コンポーネントがネストおよび共有されたファミリを作成する
交換可能なコンポーネントでネストされたファミリを作成する

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1Revit API Tips: ソリッドやメッシュのジオメトリをプロジェクト上に作図する方法07.5917-08-2026
2Revit API Tips: 壁プロファイルの取得方法05.817-08-2026
3Visual Studioで「InventorViewCtrl.ocxの自己登録に失敗しました」エラーが発生して、Inventor ViewコントロールをWindowsフォームへ追加することが出来ない010.9417-08-2026
4AutoCAD .NET API :最後に追加されたエンティティの取得013.0323-08-2026
5.NET :Interaction.GetObject で起動中の AutoCAD COM オブジェクトを取得できない場合の対処方法010.204-09-2026
6What's New: Informed Design for Dynamo — Public Beta013.1608-09-2026
7Revit API Tips: アドインでバッチ処理を実装する方法04.5117-08-2026
8How to Create Louvers with Curtain Panel family, and slanted on top05.621-09-2026
9Managed .Net API でレイアウト空間のビューポート表示範囲のオブジェクトを取得する方法015.2417-08-2026
10What's New: BIM Definition Subcategory for Revit Family Files in Inventor2613-04-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 6.17. Источник: forums.autodesk.com.