问题标签 [helix-3d-toolkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2789 浏览

helix-3d-toolkit - Helix 3d-toolkit 显示的 .STL 模型颜色变化

我正在制作一个以 Windows 形式显示 3dmodel.stl 的 c# 应用程序。

我已经设法显示它,但模型的默认颜色是蓝色,我需要将其更改为其他颜色,比如说粉红色/棕色(它应该看起来像皮肤)。

我已经 2 天寻找它并阅读文档和示例,但我还没有找到改变它的方法。

如果有人在螺旋上工作过并且知道如何(或者即使有办法)做到这一点,我会非常感谢他提供的信息。

代码很简单:

XAML 代码:

和 C# 代码:

0 投票
0 回答
223 浏览

c# - 如何将 3D 模型高度转换为厘米

我正在使用 Helixtoolkit 加载 STL 文件。在 helixviewport3D 场景中,我使用 Bounds 方法计算模型高度。Bounds 方法返回包裹模型的 3D 矩形。Bounds.SizeZ 返回模型高度。但我想要以厘米为单位的尺寸或现实世界中存在的其他单位。我稍微搜索了一下,发现 1px 实际上等于 0.026458333 cm。这对所有视口或计算机都正确吗?

我如何计算这个高度? 在此处输入图像描述

0 投票
1 回答
1072 浏览

c# - 如何将程序生成的广告牌添加到 helix 3D

我有一组程序图像,我想将它们作为广告牌添加到我的 helix 3D 应用程序中。

目前我的应用程序如下所示:

但是,当我调用该函数来添加广告牌时:

然后我看到没有添加任何内容,知道我做错了什么吗?

我还尝试了 RectangleVisual3D 类。

如果以相同的方式执行会产生(有希望的)图像在此处输入图像描述,但是在这种情况下,材料似乎没有正确设置。

注意:我希望 BillboardVisual3D 是正确的类,我正在做一些可以让我将图像“放在地板上”的东西,可以这么说,我想要没有深度的平面图像并允许透明度。

0 投票
1 回答
1805 浏览

wpf - 如何在 Helix Toolkit ViewPort 中设置不反射光线的材质?

我创建并渲染了一个包含 20SpotLight个点的列表,Helix ViewPort其中包含特定位置。有了计时器,我总是改变SpotLight. 灯光ViewPort设置为: <helix:DirectionalHeadLight Position="2,3,0" Brightness="0.30"></helix:DirectionalHeadLight>

比我还创建一个列表并呈现 20 个球体的列表SphereVisual3DSpotLights 和s的SphereVisual3D位置相似。比我为 spehres 设置材料(在本例中为靛蓝)。见图片:

图1:SphereVisual3D职位

在此处输入图像描述

图2:SpotLight位置(每个颜色不同SpotLight

在此处输入图像描述

我想保持球体Material相同,而不lightSpotLights. 我尝试了所有 3 种类型Material

1:sphere.Material = new DiffuseMaterial(new SolidColorBrush(Colors.Indigo));

DiffuseMaterial图 1.1:带有和的 SpehresSpotLights 在此处输入图像描述

2:sphere.Material = new SpecularMaterial(new SolidColorBrush(Colors.Indigo),1);

SpecularMaterial图 2.1:带有和的 SpehresSpotLights 在此处输入图像描述

3:sphere.Material = new EmissiveMaterial(new SolidColorBrush(Colors.Indigo));

SpecularMaterial图 3.1:带有和的 SpehresSpotLights 在此处输入图像描述

是否可以设置Material不反射光线并保持其颜色的a?有没有可能设置纯色?

0 投票
1 回答
1844 浏览

c# - C# 与 WPF 中的 ModelVisual3D 对象交互

嘿,我正在使用 WPF 3D 场景并成功地将一些 .stl 模型加载到其中。我基本上使用一种方法来选择和取消选择这些对象,具体取决于我的鼠标在窗口中的位置:

所以我选择了 ModelVisual3D 并且可以存储它。然而,这里是主要问题:

我的模型是根据某些数据和关联的 .stl 模型生成的。基本上我导入 .stl 模型并将其显示在我的 3D 场景中,但问题是我不知道如何将我的其他数据连接到模型。

例如,当我选择视觉对象时,我想显示另一个窗口,其中包含以下信息:材料、尺寸、公司。

但我不知道如何确定,目前选择了哪个唯一的 ModelVisual3D 对象。似乎没有我可以利用的属性来做类似的事情:

0 投票
1 回答
632 浏览

c# - 如何在表单中获取 Controls.ItemsControl

我有一个Controls.ItemsControl (实际上是 a HelixViewport3D)并想将它添加到 aForms.UserControl中。

我已经尝试过this.Controls.Add(new HelixViewport3D()); Where this is a derived fromUserControl 但是这导致了错误HelixToolkit.Wpf.HelixViewport3D' to 'System.Windows.Forms.Control。这是有道理的,因为他们不会从彼此那里继承任何东西。在这些情况下是否有某种包装类?

我还注意到应该可以使用 ElementHost.Child 在 winform 中托管 WPF,但在我的示例代码中找不到添加此变量/函数(缺少什么?),System.Windows.Forms.Integration.ElementHost 告诉我缺少 System.Windows.Forms.Integration。

0 投票
1 回答
2297 浏览

c# - 使用 Helixtoolkit 进行缩放

我正在尝试使用 Leap Motion 来控制带有 Helix Toolkit 的 3D 对象,我几乎成功了,但我想知道如何在代码隐藏中进行“缩放”。

注意我正在使用 Caliburn(MVVM 模式)。

我想在执行顺时针 CircleAction 时放大,否则缩小:

这是我的 HelixToolkit 区域:

0 投票
0 回答
363 浏览

c# - WPF Helix 3d 如何将“项目”绑定到 BillboardTextGroupVisual3D

我想在 XAML 中绑定 BillboardTextGroupVisual3D 中的项目,并且我还检查了有关项目的 DependencyProperty 的源代码,如下所示

在这里,我通过了我尝试过的代码段,但所有这些都失败了。我不知道如何动态更新列表中的 DependencyProperty。

在 MainWindows.xaml 中,我将 Items 与 TextItems3 绑定。

在 MainWindows.xaml.cs 中,有人告诉我使用 ObservableCollection,但仍然失败..

0 投票
1 回答
394 浏览

c# - 如何使用 HelixToolkit 将对象始终保持在 SharpDX 中的所有其他内容之前

我正在向我的场景添加一个坐标系(自己的类,派生自 GroupModel3D),并将其变换设置为当前选定对象的变换。

一切工作正常,除非对象太大,坐标系在里面,因此不可见。所以我喜欢将坐标系设为 topMost,就像在大多数 CAD 系统中一样。

我搜索了互联网,发现只需清除 z-/depth- 缓冲区就可以了(http://www.gamedev.net/topic/297605-how-to-keep-an-object-always-visiblein-front -of-others/),但我不知道如何在 HelixToolkit 中执行此操作。

0 投票
0 回答
1250 浏览

c# - 带有 Helix 工具包的 WPF,使用代码隐藏制作动画?

我是 WPF 新手,正在尝试使用 helix 工具包构建 3d 视口。视口、网格等按预期显示,我添加了一个简单的管。现在,我想根据用户输入使用一个新函数来更新管的变换,但我无法让它工作。

我在哪里错了?

谢谢你。

.xaml

.xaml.cs