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”即可。