1

我在具有 TwoDMode = true 的 Plot Cube 中绘制了一个表面,当我尝试使用鼠标左拖动进行缩放时,选择缩放矩形在表面后面,因此,它没有正确显示。是否可以强制选择矩形位于曲面顶部?此外,是否可以通过在表面上悬停或单击鼠标,在某些文本框中显示 X、Y 和 Z 值?非常感谢。

4

1 回答 1

1

表面本质上是 3D 对象。默认情况下,它们旨在与ILPlotCube.TwoDModeset to一起使用false。但是您可以尝试访问选择矩形对象并相应地对其进行修改。尝试从plotCube.ZoomRectangle.Lines.Positions提高其 Z 坐标开始,以便将其移近相机。

归档光标下的曲面点并不容易 - 但可行。请记住,只有表面瓦片的顶点是明确已知的。如果鼠标在表面上,您可以使用拾取和鼠标事件来获取通知:

surface.MouseMove += (_s,_a) => { yourHandler(_a); }

之后,你就靠自己了。首先,您必须找到实际的表面 3D 坐标。如果你能确定表面没有被旋转过,你可以看看这里

该线程中的方法为您提供了表面 X 和 Y 坐标。您可以走得更远并(手动)找到该位置的相应图块。对于最终和精确的 X、Y、Z 坐标,您必须使用重心插值将平铺(三角形)顶点插值到实际鼠标位置。

为了显示 3D 坐标,您可以简单地使用ILLabel. 您可能希望也可能不希望将其放入ILScreenObject.

于 2014-01-16T09:54:36.290 回答