问题标签 [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 投票
0 回答
367 浏览

c# - HelixToolkit 更改 BillboardTextVisual3D 原点

通常,当我们创建 BillboardTextVisual3D 时,它的原点位于其中心。有什么办法可以改变这个吗?该位置是在世界坐标中定义的,我想在屏幕坐标中偏移广告牌。

更准确地说,我正在尝试实现这样的目标:

在此处输入图像描述

我有红点的世界位置,这是我用来绘制绿色目标广告牌的位置。我想在其下方显示一个带有坐标的文本(蓝色广告牌),这将是另一个广告牌,应该位于绿色广告牌的正下方。

有什么办法可以做到这一点?

0 投票
0 回答
611 浏览

wpf - WPF 是否提供了一种使用绑定在单个 Viewport3D 上呈现集合元素的方法?

注意:我在 XAML 片段中省略了相机和灯光定义,主要关注真正的问题。

WPF的问题

我想以类似于以下的方式将一个绑定ObservableCollection到 WPF 的 3D 类之一(如ModelVisual3D):

但是,经过一些研究和测试,我在 WPF 中没有发现任何类似的东西。

使用 Helix Toolkit 的解决方案(有点)

Helix 工具包是一个为 WPF 提供一组 3D 组件的库。此外,我发现其中一个示例 ( DataTemplate ) 声称可以提供我所需要的。

它是如何工作的?

这是示例的 xaml 部分的类似实现:

这个例子的工作归功于两个类:

  • ItemsVisual3D:扩展ModelVisual3D以包含IEnumerable ItemsSource依赖属性的类。它还包含一个DataTemplate3D用于控制集合的单个元素的呈现。
  • DataTemplate3D:一个自定义模板,派生自DispatcherObject使用 aVisual3D作为内容属性的定义。

问题

但是,我发现了一个主要问题:Center立方体的 s 设置正确,但其他两个属性根本没有设置,SideLength最终Fill得到小的蓝色立方体(默认情况下)而不是更大的橙红色立方体。

我调查了一下,我意识到在DataTemplate3D.cs中,只设置了有界属性。我很快解决了这个问题,因为函数中有一个注释代码块,它设置了模板中定义的属性。

然后,在运行该应用程序时,我遇到了一个最令人费解的意外行为:所有属性都已设置,除了有界的Center(即,我得到了一堆以原点为中心的大橙红色立方体)。更奇怪的是,当我在函数返回检查属性之前设置断点时,它们都设置正确,包括Center,即使输出错误!

结论

我是否错过了 WPF 确实提供了一种将集合绑定到特定 3D 类的方法?或者有人在 helix 工具包方面找到了解决方案吗?

0 投票
1 回答
876 浏览

c# - 如何创建具有不同直径的 3D 管

我正在使用带有 WPF 的 Helix 工具包,并且我正在尝试制作一个 3D 图像,其中包含一个直径不同的管道/管子。本质上,我试图取一条非直线并将其绕轴旋转,从而创建一个管子。我只关心生成的管子,而不关心实际的旋转(我的意思是,我不是想想象旋转)。

有没有办法使用 Helix 工具包,或者就此而言,使用任何其他 3D 表面生成工具?我能想出的最佳解决方案是创建一系列不同直径的管道,但我不知道如何平滑每个管道之间的过渡。这也是一个不太理想的解决方案,因为管道上有很多点,所以我最终得到了大约 150 个非常小的管段。Helix 的文档有些欠缺,但我浏览了源代码,但没有找到明显的解决方案。

0 投票
1 回答
1612 浏览

c# - 如何从线创建 3D 平面

我正在将 Helix Toolkit 与 WPF 一起使用,我想将一堆线变成一个曲面。澄清一下,我有一组 3 维曲线,我想得到由所有这些线产生的弯曲刀片。(这些线代表穿过刀片的线)。

在某种程度上,我想做与这个问题相反的事情(使用线条作为线框将其变成模型)。

到目前为止,我有这个 XAML:

以及代码隐藏的相关部分(我不包括内容,GetSplines()因为GetSpars()它们完全由我向Point3D每个列表添加大量对象组成):

结果是这样的:

曲线

但我想要这样的东西:

刀片

编辑:我不喜欢 Helix Toolkit,所以如果有人知道另一个库可以做到这一点,我会很感激听到它!

0 投票
1 回答
830 浏览

c# - 如何使用 Codebehind WPF 在螺旋视口中调整 FileModelVisual3D 的大小

我是 helixtoolkit 和 Graphics 3D 领域的真正新手。

我做什么:

我有作业编写一个程序,它可以让你用不同类型的装饰来装饰圣诞树。

一种装饰是蜡烛。问题。与树相比,蜡烛太小了。

我的问题:

如何使用后面的代码在 view_tree 内调整 FileModelVisual3D 的大小?

XAML 代码

希望任何人都可以提供帮助!我知道对其他人来说这很容易,但我没有 3D 编码方面的经验。

谢谢

0 投票
1 回答
855 浏览

wpf - 如何从 WPF 窗口中隐藏图标(螺旋)

我正在使用 HelixToolkit 来展示一些 3-D 模型。窗口右下角有一个图标。怎么可能隐藏?请看这个截图:

截屏

0 投票
0 回答
140 浏览

c# - 分离模型的未连接对象

如果有人关心,我正在使用 Helix-Toolkit + WPF。

我得到了一个由行进立方体算法生成的 3D 模型。我得到了一个大尺寸的模型Point3D[]。该模型周围有一些浮动对象,我想将这些浮动对象中的每一个分开以制作 a List<Point3D[]>,其中每个Point3D[]代表一个浮动对象。我找到了这个问题,但没有正确答案。为了更清楚一点,您可以想象以下内容:

想象一下顶部有四个旋钮的乐高积木。我读了一个包含整块砖表面的 STL 文件。我切掉了大部分砖块,只剩下四个旋钮。对我来说不幸的是,这四个旋钮仍然在一个大列表中,我想要一种方法来分别获取Point3D每个旋钮的所有 s。

0 投票
1 回答
1516 浏览

wpf - 使用 HelixToolKit 将 .obj 对象转换为 XAML?

我是 WPF(3D) 和 HelixToolKit 的新手,我想将我的 .obj 文件转换为 XAML 代码,我在整个库中搜索了将 .obj 转换为 XAML 但我没有找到任何相关内容,从哪个类文件我可以得到这个转换代码任何想法吗?

0 投票
1 回答
1275 浏览

c# - Helix 工具包,获取新的旋转向量

我有一个 6 轴机器人。

我试图让每个轴独立移动。当轴一处于其原点角度时,机器人轴都正确移动,但是当它被修改后,所有其他轴移动不正确。它们保留了正确的旋转点,而不是新的向量。

倾斜轴

我按照本教程http://www.barth-dev.de/getting-started-3d-wpf/

0 投票
0 回答
108 浏览

wpf - 将模型变成镜面光源

我有2个模型。一个是车辆,另一个是一系列管灯。我希望能够只看到车辆上管灯的镜面反射。

如何将灯光模型变成光源?我尝试给它一个发光材料,但后来发现发光材料不会照亮其他人物。