我也是刚开始接触中望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();
}