HelixToolKit ModelImporter 関数を使用して、ローカル ファイルから STL ファイルをロードしています。Model3D を読み込んだ後、ファイル名の値を持つキーとして辞書に保存しています。同じモデルをロードしないようにモデルを比較したいという私の目的。同じパスから同じモデルをロードした後、そのモデルの辞書をキーとして検索します。しかし、そのモデルのようには見つかりません。どこが間違っていますか、助けてください。
private Model3D currModel = null;
private string modelName = null;
// A record of the 3D models we build.
private Dictionary<Model3D, string> Models= new Dictionary<Model3D, string>();
private Model3D device = null;
private void Button_Click(object sender, RoutedEventArgs e)
{
Microsoft.Win32.OpenFileDialog open = new Microsoft.Win32.OpenFileDialog();
if (open.ShowDialog() == true)
{
try
{
string path = open.FileName;
modelName = open.SafeFileName;
currModel = display3D(path);
if (!Models.ContainsKey(currModel))
Models.Add(currModel, modelName);
ModelVisual3D device3D = new ModelVisual3D();
device3D.Content = currModel;
mainViewport.Children.Add(device3D);
mainViewport.ZoomExtents();//modeli ekrana sığdırmak için
}
catch (Exception ex)
{
MessageBox.Show("Error\n" + ex.Message.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
private Model3D display3D(string path)
{
//Import 3D model file
ModelImporter import = new ModelImporter();
//Load the 3D model file
device = import.Load(path);
return device;
}