内容:创建一条直线。
1、创建一个项目。







2、项目文件组成。

arxEntryPoint.cpp是程序的主入口,相当于main()函数。
我们的代码就是写在这里面。
3、代码

找到上图函数,将代码添加在函数内。该函数,由前缀标识AB、命令组名字MyGroup、命令名字MyCommand组成。
可修改其命令名称为DL,标识画线的意思。
在函数内添加如下代码:
AcGePoint3d ptStart(0, 0, 0);
AcGePoint3d ptEnd(100, 100, 0);
AcDbLine* pLine = new AcDbLine(ptStart, ptEnd);
AcDbBlockTable* pBlockTable = NULL;
//获取这个图形数据库的块表
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord* pBlockTableRecord;
//获取块表的记录
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);//模型空间就是一个块表记录
//创建实体,并加入到指定的块表记录中
AcDbObjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTable->close();
pBlockTableRecord->close();
pLine->close();
下图中,要修改此处为命令名称。

4、代码步骤解析
(1)确定创建对象的图形数据库;
(2)获得这个图形数据库的块表;
(3)获得一个存储实体的块表记录;
(4)创建实体对象,将该对象加入到特定的块表记录中。
5、结果展示

至此,简单的画线项目完成。

被折叠的 条评论
为什么被折叠?



