首页 > 解决方案 > 获取 unitVector XYZ 值

问题描述

我想使用一堆点在曲面上创建线,这些线必须以 5 度增量 (在 Catia 中使用 VBA)

这是步骤

步骤:1 - 首先我将使用法线到表面选项创建线条

步骤:2 -如果角度接近5 度,则我测量法线到曲面线和xyPlane之间的角度,如果角度为81.23度,则为 ex 的倍数

步骤:3 - 然后我应该使用 80 度的点方向选项创建一条线如果角度大于 82.5 且小于 87.5,那么我应该使用与 XYPlane 成 85 度的点方向选项创建一条线

我需要获取 XYZ 方向分量(catia 中的单位向量),它使点方向线和 xyplane 之间的角度成 5 度倍数,例如 80、85、90、95、100 度

在此处输入图像描述

图像中的表面不是实际表面

xyz 分量是我需要创建的线的单位向量 我知道角度,对于那个角度,我需要使用 3D 空间公式中的向量旋转来找出 XYZ 单位向量值

这是该公式的图像

在此处输入图像描述

这里我们知道theta的值,我们需要计算XYZ单位向量值

我需要在 VBA

标签: vbacatia

解决方案


我不想听起来很粗鲁,但是您是在寻求代码方面的帮助,还是在分配任务以希望有人免费为您提供解决方案?

无论如何,要获得方向向量,您可以使用类似这样的东西

Dim TempVariant As Variant
Dim aOrigin(2) As Variant
Dim aDirection(2) As Variant
Dim NewLine As HybridShapeLineNormal

Set NewLine = ShapeFactory.AddNewLineNormal(RefSurface, PointReference, 0, 1, VectorOrient)

Set TempVariant = NewLine

Call TempVariant.GetOrigin(aOrigin) 'get starting point x y z
Call TempVariant.GetDirection(aDirection) 'get vectors x y z

编辑

如果你想处理 3D 旋转,你可以看看这个 excel。我自己花了一段时间(大约一周),几年前我在某个地方发现了这个excel,这对我有帮助......因此我无法为此给予学分。

Excel 欧拉角


推荐阅读