将Model3DGroup的多个实例添加到ModelVisual3D中

本文关键字:添加 ModelVisual3D 实例 Model3DGroup | 更新日期: 2023-09-27 18:28:30

我正在WPF中构建一个图形模型,该模型最终应该是三维特拉斯。我正在将单个对象构建为Model3DGroup。然后我将该Model3DGroup添加到ModelVisual3D中。

目前,我在顶部的*.xaml.cs文件private ModelVisual3D mGeometry;中声明。然后,创建一个新的Model3DGroup,其中添加了多个点三角形模型。然后,使用以下代码将其添加到ModelVisual3D:

mGeometry.Content = prism; // where prism is the Model3D Group with added triangle points
mGeometry.Transform = new Transform3DGroup();
this.viewport.Children.Add(mGeometry);

我的问题是:如何将Model3DGroup的多个不同实例添加到一个ModelVisual3D中?我最终想要构建一个由多个不同的Model3DGroups组成的特拉斯,并将其显示在屏幕上。

我并不反对改变我做这件事的方式,因为我不确定最好的方式。目前,我只能显示一个对象。

将Model3DGroup的多个实例添加到ModelVisual3D中

每个ModelVisual3D只能包含一个Model3D,但也可以包含其他Visual3D s。在这种情况下,您只需向ModelVisual3D:的Children属性添加更多ModelVisual3D s

mGeometry.Content = prism;
var moreModelVisual3D = new ModelVisual3D();
moreModelVisual3D.Content = prism2; //your other Model3DGroup
mGeometry.Children.Add(moreModelVisual3D);
//create more if you want ...

还要注意,每个Model3DGroup可以包含其他Model3DGroup s。如果您认为这可以应用于您的情况,请考虑它。