如图所示,是自由绘制的一个网格(间距符合实际距离),并且制作为了块。
本文不讨论如何绘制网格,而是在有了一个自定义网格之后,如何将网格当作可用坐标系,去获取到网格上的点的坐标。
这里的坐标指的是点相对于网格上显示的坐标,而不是实际的CAD模型空间的坐标。
如下图,若在(30,160)的位置画一个图形,获取该图形的坐标,则应该得到(30,160),而无论该网格处于CAD模型空间中的任何位置。
代码如下,可获取到对象在网格中的坐标
Point2d cadPoint;//这是对象在CAD模型空间中的真实坐标,自行获取 Point2d basePoint;//这是网格的原点的真实坐标,自行获取
//将对象的坐标转换为网格对应的坐标 Vector2d displacement = basePoint.GetAsVector().Negate(); Point2d customPoint = cadPoint+ displacement;//这是对象在网格中对应的坐标,以上图的红点为例,应能得到坐标(30,160)