【发布时间】:2016-05-25 14:05:47
【问题描述】:
嘿,我正在使用 WPF 3D 场景并成功地将一些 .stl 模型加载到其中。 我基本上使用一种方法来选择和取消选择这些对象,具体取决于我的鼠标在窗口中的位置:
private void UIElement_OnMouseDown(object sender, MouseButtonEventArgs e)
{
var viewport = (HelixViewport3D)sender;
var firstHit = viewport.Viewport.FindHits(e.GetPosition(viewport)).FirstOrDefault();
if (firstHit != null)
{
this.viewModel.Select(firstHit.Visual);
}
else
{
this.viewModel.Select(null);
}
}
所以我选择了 ModelVisual3D 并且可以存储它。然而,这是主要问题:
我的模型是根据某些数据和关联的 .stl 模型生成的。 基本上我导入 .stl 模型并将其显示在我的 3D 场景中,但问题是我不知道如何将其他数据连接到模型。
例如,当我选择视觉对象时,我想显示另一个窗口,其中包含以下信息:材料、尺寸、公司。
但我现在不知道如何确定选择了哪个唯一的 ModelVisual3D 对象。似乎没有我可以利用的属性来做类似的事情:
ModelImporter tr = new ModelImporter();
var model = tr.Load("C:\\Users\\...\\Pictures\\a.stl");
ModelVisual3D test = new ModelVisual3D();
test.Content = model;
//Here I would like to save the id of my visual model to identify and
//associate it with my other data later
int myUniqueModelID=test.Properties.UNIQUEID
【问题讨论】:
-
您的其他“数据”是否在单独的对象中?
标签: c# wpf 3d helix-3d-toolkit