我也是刚开始接触中望CAD的二次开发,感觉好艰难啊。走一步都很困难。今天修改例程,根据用户输入实现了画线。源代码如下:
void InputLine()
{ ads_point startPt,endPt;acedInitGet(RSG_NONULL,NULL);int rc=acedGetPoint(NULL,_T("Input an Point:\n"),startPt);int rd=acedGetPoint(NULL,_T("Input an Point:\n"),endPt);AcGePoint3d s= asPnt3d(startPt);AcGePoint3d e= asPnt3d(endPt);
// AcGePoint3d endPt(10.0, 7.0, 0.0);AcDbLine *pLine = new AcDbLine(s, e);AcDbLine objLine;pLine->startPoint();objLine.startPoint();AcDbBlockTable *pBlockTable;acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForRead);AcDbBlockTableRecord *pBlockTableRecord;pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);pBlockTable->close();AcDbObjectId lineId;pBlockTableRecord->appendAcDbEntity(lineId, pLine);pBlockTableRecord->close();pLine->close();
}