ads_point pt[3];
AcGePoint2d mpoint;
struct resbuf *pointlist;
for(int i = 0;i<pline->getNumVerts();i++) //pline为AcdbPolyline已打开,共有4个顶点
{
pline->getPointAt(i,mpoint);
pt[X] = mpoint.x; pt[Y] = mpoint.y; pt[Z] = 0.0;
}
//下面这句就出错啦
pointlist=acutBulidList(RTPOINT,pt[0],RTPOINT,pt[1],RTPOINT,pt[2],RTPOINT,pt[3],0);
程序的目的是以一个已经存在的闭合LWPOLYLINE为边界做一个选择集,再用这条线作为一个TRIM的边界用2006MAP里的map_dwgTrimObj函数来裁切掉边界内的所有要素,并得到一个被TRIM掉的要素选择集,再利用这个选择集用WBLOCK函数把选择集内的要素写块到一个DWG文件。
可是程序到上面那那行就出错了,不知道为什么啊,请大虾指教啊!(以前总是用VB+ActiveX来写程序,可是到现在发现用VB饶的弯路太多!改用VC+ARX,从头来过) |