我正在制作一个以 Windows 形式显示 3dmodel.stl 的 c# 应用程序。
我已经设法显示它,但模型的默认颜色是蓝色,我需要将其更改为其他颜色,比如说粉红色/棕色(它应该看起来像皮肤)。
我已经 2 天寻找它并阅读文档和示例,但我还没有找到改变它的方法。
如果有人在螺旋上工作过并且知道如何(或者即使有办法)做到这一点,我会非常感谢他提供的信息。
代码很简单:
XAML 代码:
<UserControl x:Class="Ventana.Visor3D"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:helix="http://helix-toolkit.org/wpf"
xmlns:local="clr-namespace:Ventana"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<helix:HelixViewport3D x:Name="viewPort3d" ZoomExtentsWhenLoaded="true" Grid.RowSpan="2" >
<helix:SunLight/>
</helix:HelixViewport3D>
</Grid>
和 C# 代码:
public partial class Visor3D : UserControl
{
private const string MODEL_PATH = "\\Prueba.STL";
ModelVisual3D device3D;
public Visor3D(){ }
public void Carga() {
InitializeComponent();
device3D = new ModelVisual3D();
device3D.Content = Display3d(MODEL_PATH);
viewPort3d.Children.Add(device3D);
}
private Model3D Display3d(string model)
{
Model3D device = null;
try
{
viewPort3d.RotateGesture = new MouseGesture(MouseAction.LeftClick);
ModelImporter import = new ModelImporter();
device = import.Load(Environment.CurrentDirectory + model);
}
catch (Exception e)
{
MessageBox.Show("Exception Error : " + e.StackTrace);
}
return device;
}
}