greatverve

ARX内部是不需要调用cad命令的。调用 ARX 函数或对象就可以象CAD一样绘制、编辑实体。

在AutoCAD中画直接的命令是
line
0,0
1000,100

通过ObjectARX画,新建一个命令cmd1代码如下:

代码
// ----- ArxProject2.cmd1 command
static void ArxProject2cmd1(void)
{
    
// Add your code for command ArxProject2._MyCommand1 here
    acutPrintf(_T("Hello World"));
    
//在内存上创建一个新的AcDbLine对象
    AcGePoint3d ptStart(0,0,0);
    AcGePoint3d ptEnd(
10000,10000,0);
    AcDbLine 
*pLine = new AcDbLine(ptStart,ptEnd);

    
/*基于AutoCAD内部的实现机制,必须在堆上创建对象。
      acdbHostApplicationServices()->workingDatabase()
      获得指向当前活动的图形数据库的指针。
    
*/

    
//获得指向块表的指针
    AcDbBlockTable *pBlockTable;
    acdbHostApplicationServices()
->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForRead);

    
//获得指向特定的块表记录(模型空间)的指针
    AcDbBlockTableRecord *pBlockTableRecord;
    pBlockTable
->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);

    
//将AcDbLine类的对象添加到块表记录中
    AcDbObjectId lineId;
    pBlockTableRecord
->appendAcDbEntity(lineId,pLine);

    
//关闭图形数据库的各种对象
    pBlockTable->close();
    pBlockTableRecord
->close();
    pLine
->close();
}

 

ap加载然后cmd1运行。

分类:

技术点:

相关文章:

  • 2021-05-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-02
  • 2022-12-23
  • 2021-12-24
猜你喜欢
  • 2021-11-17
  • 2021-07-21
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2022-02-11
  • 2021-12-02
相关资源
相似解决方案