线性元素平行拷贝


Mstn中有一个平行移动的工具,可以对线性几何元素平行移动,如下图所示:

我们在开发插件时可以通过调用mdlElmdscr_copyParallel函数来实现平行拷贝,此函数的原型如下所示:

int     mdlElmdscr_copyParallel
(
MSElementDescrH outDscrPP,              /* <= output geometry */
MSElementDescrP inDscr,                /* => input geometry */
Dpoint3d        *point,                 /* => direction/distance point */
double          distance,               /* => distance to offset */
Dpoint3d        *normal                 /* => normal of plane in which to offset */
);

其中第一个参数用来接受平行移动后的结果。第二个参数指定了用来平行移动的图形元素。第三个参数指定了平行移动的方向。第四个参数指定了移动的距离,如果这个参数传递是0的话,那么距离就由第三个参数确定。最后一个参数指定了在哪个平行面内对图形元素平移,通常我们都是以水平面即XoY平面为准对图形元素平行移动的,这种情况我们最后一个参数直接传递“NULL”即可。