メインコンテンツまでスキップ

モデルにフィーチャを割り当てる

モデルへのフィーチャ割り当ては、IModelオブジェクトのメソッドで操作できます。

フィーチャを割り当てる

フィーチャを割り当てるには、IModelオブジェクトのAssignFeatureメソッドを用います。フィーチャ名を指定して割り当てる場合は、AssignFeatureByNameメソッドを用います。

public void AssignFeature(ICommandContext c, ICommandParams p)
{
IModel model = c.App.Workspace.CurrentModel;

// モデルに指定された名前のフィーチャを割り当てます
model.AssignFeatureByName("カメラ");

// モデルに指定された名前のすべてのフィーチャを割り当てます
model.AssignFeaturesByName("カメラ,レーダー,エアバッグ");

// フィーチャで割り当てる場合
IFeature feature = ...
model.AssignFeature(feature);
}

割り当てられたフィーチャを取得する

モデルに割り当てられたフィーチャを取得するには、IModelオブジェクトのGetAssignedFeaturesメソッドを用います。

public void GetAssignedFeatures(ICommandContext c, ICommandParams p)
{
IModel model = c.App.Workspace.CurrentModel;
IFeatureCollection features = model.GetAssignedFeatures();

foreach ( IFeature feature in features )
{
c.App.Output.WriteLine("sample", $"Feature Name: {feature.Name}, Kind: {feature.VariationKind}");
}
}

フィーチャ割り当てを解除する

モデルに割り当てられたフィーチャをすべて解除するには、IModelオブジェクトのReleaseAllAssignedFeaturesメソッドを用います。一部のフィーチャ割り当てを解除する場合は、ReleaseAssignedFeatureByNameメソッドでフィーチャ名を指定して解除できます。

public void ReleaseAssignedFeatures(ICommandContext c, ICommandParams p)
{
IModel model = c.App.Workspace.CurrentModel;

// モデルに割り当てられたすべてのフィーチャとの割り当てを解除します
model.ReleaseAllAssignedFeatures();

// モデルに割り当てられた指定された名前のフィーチャとの割り当てを解除します
model.ReleaseAssignedFeatureByName("カメラ");
}