モデルにフィーチャを割り当てる
モデルへのフィーチャ割り当ては、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("カメラ");
}