- UID
- 11376
- 积分
- 160
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-10-14
- 最后登录
- 1970-1-1
|
发表于 2003-3-2 13:06:33
|
显示全部楼层
- <normalfont>
- :> 与你共享
- //插入图块函数
- AcDbObjectId InsertBlock(LPCSTR SLayerName, LPCSTR SBlockName,
- ads_point BasePoint, double rAngle, double rScale)
- {
- ads_name ent;
- AcDbObjectId BlockId, ObjId;
- AcGeScale3d Scale(rScale, rScale, rScale);
- AcGePoint3d GPt;
- GPt.x = BasePoint[X];
- GPt.y = BasePoint[Y];
- GPt.z = BasePoint[Z];
- BlockId = GetBlockId(SBlockName);
- if (BlockId == AcDbObjectId(0)) return AcDbObjectId(0);
- AcDbBlockReference * pBlock = new AcDbBlockReference(GPt, BlockId);
- pBlock->setRotation(rAngle);
- pBlock->setScaleFactors(Scale);
- pBlock->setLayer(SLayerName);
- ObjId = AddEntToDbs(pBlock); // ½«Í¼¿éʵÌåÌí¼Óµ½¿é±í¿Õ¼ä
- return ObjId;
- }
- //模型空间添加实体函数
- AcDbObjectId AddEntToDbs(AcDbEntity * pEntity)
- {
- AcDbBlockTable *pBlockTable;
- acdbCurDwg()->getBlockTable(pBlockTable, AcDb::kForRead);
- AcDbBlockTableRecord *pBlockTableRecord;
- pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);
- AcDbObjectId EntityId = AcDbObjectId::kNull;
- pBlockTableRecord->appendAcDbEntity(EntityId, pEntity);
- StatusOk(pBlockTableRecord->close());
- StatusOk(pBlockTable->close());
- StatusOk(pEntity->close());
- return EntityId;
- }
- 以上ObjectARX R14中的程序供大家参考,多提意见。
- 从项目代码中复制出来的。
- 不是我编程的时候不缩进,而是编辑框中不支持tab,
- </normalfont>
复制代码 |
|