The following example shows iterating through the vertices in a polyline using a vertex iterator. It then prints the coordinates for each vertex.
// Accepts the object ID of an AcDb2dPolyline, opens it, and gets // a vertex iterator. It then iterates through the vertices, // printing out the vertex location. // void iterate(AcDbObjectId plineId) { AcDb2dPolyline *pPline; acdbOpenObject(pPline, plineId, AcDb::kForRead); AcDbObjectIterator *pVertIter= pPline->vertexIterator(); pPline->close(); // Finished with the pline header. AcDb2dVertex *pVertex; AcGePoint3d location; AcDbObjectId vertexObjId; for (int vertexNumber = 0; !pVertIter->done(); vertexNumber++, pVertIter->step()) { vertexObjId = pVertIter->objectId(); acdbOpenObject(pVertex, vertexObjId, AcDb::kForRead); location = pVertex->position(); pVertex->close(); acutPrintf("\nVertex #%d's location is" " : %0.3f, %0.3f, %0.3f", vertexNumber, location[X], location[Y], location[Z]); } delete pVertIter; }