|
今天写的画直线的程序
#include
#include
void initApp();
void unloadApp();
AcDbObjectId CreateLine();
void initApp()
{
// 注册一个命令
acedRegCmds->addCommand("CREATELINE_COMMANDS",
"cline",
"line",
ACRX_CMD_TRANSPARENT,
CreateLine);
}
void unloadApp()
{
acedRegCmds->removeGroup("HELLOWORLD_COMMANDS");
}
AcDbObjectId CreateLine()
{
AcGetpoint3d startPt(4.0, 2.0, 3.3);
AcGetpoint3d endPt(1000.0, 1000.0, 2000.0);
AcDbline *pLine=new AcDbline (startPt, endPt);
AcDbBlockTable *pBlockTable
acdbHoestApplicationServices()->workingDatabase()
->getSymboiTable (pBlockTable, Acdb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable=>getAt (ACDB_MODEL_SPACE.pBlockTableRcord,ACDb::kForRead);
pBlockTable->clock();
AcDbObjectId LineId;
pBlockTableRecord->AppendAcDbEntry (LineId, pLine);
pBlockTableRecord->close();
pLine->close();
Return lineId;
}
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxRegisterAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}
补充一下DEF文件如下
LIBRARY "Project"
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE |
|