AcGeVector3d是点阵的集合，通过等分点的差集得到。

static void ArxProject2partLine(void)
{
acedEntSel( _T("\n选择："),entName,pt);//得到选中的实体
AcDbObjectId ObjId;//得到实体ID
{
acutPrintf( _T("\nno"));
return;
}
AcDbEntity* pEnt;//得到实体
{
acutPrintf( _T("\nok"));
AcDbLine* pLine = (AcDbLine* )pEnt;//强制转换
AcGePoint3d ptStart = pLine->startPoint();//得到起点
AcGePoint3d ptEnd = pLine->endPoint();
pEnt->close();
//根据点和线的方向生成点组，绘制线段
int nPart = 5;//五等分
AcGeVector3d Vect = (ptEnd - ptStart)/nPart;//矩阵，点与点的差集平分可得到
for (int n=0; n<nPart; n++)
{
AcDbObjectId ObjIdNew;
MakeLine(ptStart+n*Vect,ptStart+(n+1)*Vect,ObjIdNew);//等分线段的方法
}
//将选中的线段删除，
{
pEnt->erase();
pEnt->close();
}
}
}
**将实体添加到数据库**
{
AcDbBlockTable*        pBlockTable;
AcDbBlockTableRecord*  pSpaceRecord;
return es;
}
if ((es = pBlockTable->getAt(ACDB_MODEL_SPACE,
pSpaceRecord,
return es;
}
if ((es = pBlockTable->close()) != Acad::eOk) {
return es;
}
if ((es = pSpaceRecord->appendAcDbEntity(objId, ent)) != Acad::eOk) {
return es;
}
return pSpaceRecord->close();
}
static void MakeLine(AcGePoint3d ptStart,AcGePoint3d ptEnd,AcDbObjectId lineId)
{
AcDbLine *pLine = new AcDbLine(ptStart,ptEnd);
AfxMessageBox( _T("加入实体到数据库失败！"));
pLine->close();
}