天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 121|回复: 0

在ObjectARX中添加“块”

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-5-4 11:16:30 | 显示全部楼层 |阅读模式
  1. acDocManager->lockDocument(curDoc());
  2.     // 获得当前图形数据库的块表
  3.     AcDbBlockTable *pBlkTbl;
  4.     acdbHostApplicationServices()->workingDatabase()
  5.         ->getBlockTable(pBlkTbl, AcDb::kForWrite);
  6.     // 创建新的块表记录
  7.     AcDbBlockTableRecord *pBlkTblRcd;
  8.     pBlkTblRcd = new AcDbBlockTableRecord();
  9.     // 设置块表记录的名称
  10.     CString blkName = "DiagramTail";
  11.     pBlkTblRcd->setName(blkName);
  12.     // 将块表记录添加到块表中
  13.     AcDbObjectId blkDefId;
  14.     pBlkTbl->add(blkDefId, pBlkTblRcd);
  15.     pBlkTbl->close();
  16.     // 向块表记录中添加线段
  17.     AcGePoint3d RectLD(0,0,0), RectLU(0,18,0), RectRD(390,0,0), RectRU(390,18,0);
  18.     drawLine(RectLD, RectLU, pBlkTblRcd);
  19.     drawLine(RectLD, RectRD, pBlkTblRcd);
  20.     drawLine(RectRU, RectLU, pBlkTblRcd);
  21.     drawLine(RectRU, RectRD, pBlkTblRcd);
  22.     //下面添加文字
  23.     RectLU.y = RectRU.y = 2.5;
  24.     AcGePoint3d ptInsertText(10,3,0);
  25.     CString tempText = "制 图";
  26.     drawText(ptInsertText,tempText, pBlkTblRcd);
  27.     pBlkTblRcd->close();
  28.     // 查找用户指定的块定义是否存在
  29.     if (!pBlkTbl->has(blkName.AllocSysString()))
  30.     {
  31.         acutPrintf(采用T("\n当前图形中未包含指定名称的块定义!"));
  32.         pBlkTbl->close();
  33.         return;
  34.     }
  35.     AcGePoint3d ptInsert(25,5,0);
  36.     // 获得用户指定的块表记录
  37.     pBlkTbl->getAt(blkName.AllocSysString(), blkDefId);
  38.     AcDbBlockReference *pBlkRef = new AcDbBlockReference(ptInsert,blkDefId);
  39.     pBlkTbl->getAt(ACDB采用MODEL采用SPACE, pBlkTblRcd,AcDb::kForWrite);
  40.     AcDbObjectId entId;
  41.     pBlkTblRcd->appendAcDbEntity(entId, pBlkRef);
  42.     // 关闭数据库的对象
  43.     pBlkRef->close();
  44.     pBlkTblRcd->close();
  45.     pBlkTbl->close();
  46.     acDocManager->unlockDocument(curDoc());
复制代码

 

 

 

 

在ObjectARX中添加“块”
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:32 , Processed in 0.163486 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表