vba - 获取 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
解决方案
我不想听起来很粗鲁,但是您是在寻求代码方面的帮助,还是在分配任务以希望有人免费为您提供解决方案?
无论如何,要获得方向向量,您可以使用类似这样的东西
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,这对我有帮助......因此我无法为此给予学分。
推荐阅读
- bash - 用于将名称匹配的文件和文件夹压缩到另一个目录的 Bash 脚本
- python - OutOfBoundsDatetime:无法将输入 1575262698000.0 与单位“s”转换
- python - Python Pandas 最多保留 3 个连续重复
- html - 我的导航栏在一个页面上更大,在另一个页面上更小
- optaplanner - Optaplanner:在简单的自定义移动中调用 scoreDirector.beforeVariableChanged 时出现 NullPointerException
- java - 如何更改json中的日期格式
- .net-core - 导航只能定位带有键的实体类型
- wordpress - Polylang 语言切换器无法正常工作
- spring-boot - QueryDSL 注释处理器和 gradle 插件
- python - pandas 没有在 pyCharm 中显示输出,但在 google colab 中显示