将2D矩形放置在3D空间中

时间:2018-04-08 17:10:00

标签: c# catia

希望你做得很好。我有一个关于将2D矩形放在3D空间中的问题。我有一个CATIA软件,我需要在屏幕边框放置一些矩形框,如图所示。

enter image description here

虚线矩形显示CATIA中的框,实心矩形是我需要放置它们的位置。这里的问题是,矩形是2D,而3DTI空间中的CATIA屏幕。我无法将它们放在正确的位置,我需要你的帮助。

这是我的方法:

  1. 我得到了屏幕的中心点,这是一个3D点。

  2. 获取2个3D矢量(向上方向,屏幕右方向)

  3. 通过移动屏幕的3D中心点,距离等于宽度的一半,屏幕高度的一半,沿着2个向量来计算屏幕角落的坐标。

    < / LI>
  4. 将2D矩形的右上角坐标等同于屏幕的右上角3D坐标(输出错误)

  5. 将第二个矩形移动到第一个矩形下方,继续for循环,直到所有矩形都沿着屏幕边框放置。

  6. 另外需要注意的是,虚线矩形可以沿xy平面或yz平面或xz平面定位。并且可以计算与屏幕平行的3D平面。我的问题是,如何将2D矩形坐标转换为3D坐标,这样我就可以将它们移动到3D空间中的正确位置。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

希望您注意到任何CATPart都有一个Axis系统和xy,yz,zx平面,因此您必须参考那些而不是屏幕。

如果您将放置4个矩形,则取决于您将创建的位置。

Bellow是在CATPart中创建的平面的参数列表。

Part1 \ Absolute Axis System \ Origin \ X 0mm: Part1 \绝对轴系统\ Origin \ Y 0mm: Part1 \绝对轴系统\ Origin \ Z 0mm: Part1 \绝对轴系统\ XAxis \ X 1: Part1 \ Absolute Axis System \ XAxis \ Y 0: Part1 \绝对轴系统\ XAxis \ Z 0: Part1 \绝对轴系统\ YAxis \ X 0: Part1 \绝对轴系统\ YAxis \ Y 1: Part1 \绝对轴系统\ YAxis \ Z 0: Part1 \绝对轴系统\ ZAxis \ X 0: Part1 \绝对轴系统\ ZAxis \ Y 0: Part1 \绝对轴系统\ ZAxis \ Z 1: Part1 \ Absolute Axis System \ Activity true: Part1 \ Geometrical Set.1 \ Plane.1 \ Offset 0mm: Part1 \ Geometrical Set.1 \ Plane.1 \ Activity true: Part1 \ Part Number
第1部分:第1部分\命名法: Part1 \ Revision: Part1 \产品描述: 第1部分\定义:

您可能知道,CATIA中的2D元素可以在平面或平面上创建,因此您需要以不同的方式思考您的问题....请记住,在CATIA中您还有不同的视图(iso,前视图) aso)和简单的命令“Fit All In”将改变元素在屏幕上的显示方式....