您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:C++ AcDbEntity类代码示例

51自学网 2021-06-03 12:05:13
  C++
这篇教程C++ AcDbEntity类代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中AcDbEntity的典型用法代码示例。如果您正苦于以下问题:C++ AcDbEntity类的具体用法?C++ AcDbEntity怎么用?C++ AcDbEntity使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

在下文中一共展示了AcDbEntity类的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: energy

// This function has the user select an entity and then// calls the reflectedEnergy() function in the protocol// extension class attached to that entity's class.// voidenergy(){    AcDbEntity *pEnt;    AcDbObjectId pEntId;    ads_name en;    ads_point pt;    if (acedEntSel("/nSelect an Entity:  ", en, pt)        != RTNORM)    {        acutPrintf("Nothing Selected/n");        return;    }    acdbGetObjectId(pEntId, en);    acdbOpenObject(pEnt, pEntId, AcDb::kForRead);    // call the protocol extension class's method    //    double eTemp = ACRX_X_CALL(pEnt,        AsdkEntTemperature)->reflectedEnergy(pEnt);    acutPrintf("/nEnergy == %f/n", eTemp);    pEnt->close();}
开发者ID:kevinzhwl,项目名称:ObjectARXMod,代码行数:29,


示例2: addXdata

void Additional_Class::addXdata( AcDbObjectId entID, CString xdataStr, CString xdataNameStr ){	AcDbEntity * pEnt;	struct resbuf * pRb;	if(Acad::eOk != acdbOpenAcDbEntity(pEnt, entID, AcDb::kForWrite))	{		pEnt->close();		return;	}	TCHAR * tempTchar = CString2TCHAR(xdataNameStr);	//TCHAR strAppName[] = tempTchar;	acdbRegApp(tempTchar);	TCHAR  * typeName = CString2TCHAR(xdataStr);	struct resbuf * pTemp;	pTemp = pEnt->xData(tempTchar);	pRb = acutBuildList(AcDb::kDxfRegAppName, tempTchar,		AcDb::kDxfXdAsciiString, typeName, 		RTNONE);	pEnt->setXData(pRb);	acutRelRb(pRb);	pEnt->close();	return;}
开发者ID:TobeGodman,项目名称:AutoTrader,代码行数:27,


示例3: FindLinesByPoint

// 查找连接点junctionPt关联的分支图元(包含隐形的图元)static void FindLinesByPoint( const AcGePoint3d& junctionPt, AcDbObjectIdArray& objIds ){    AcDbBlockTable* pBlkTbl;    acdbHostApplicationServices()->workingDatabase()->getSymbolTable( pBlkTbl, AcDb::kForRead );    AcDbBlockTableRecord* pBlkTblRcd;    pBlkTbl->getAt( ACDB_MODEL_SPACE, pBlkTblRcd, AcDb::kForRead );    pBlkTbl->close();    AcDbBlockTableRecordIterator* pBlkTblRcdItr;    pBlkTblRcd->newIterator( pBlkTblRcdItr );    for ( pBlkTblRcdItr->start(); !pBlkTblRcdItr->done(); pBlkTblRcdItr->step() )    {        // 不采用transaction的方法查找LinkedGE,        // 等价于排除当前正在以write状态编辑的LinkedGE        // 重要(***)        AcDbEntity* pEnt = 0;        if( Acad::eOk != pBlkTblRcdItr->getEntity( pEnt, AcDb::kForRead ) ) continue;        LinkedGE* pEdge = LinkedGE::cast( pEnt );        if( pEdge != 0 )        {            AcGePoint3d startPt, endPt;            pEdge->getSEPoint( startPt, endPt );            if( startPt == junctionPt || endPt == junctionPt )            {                objIds.append( pEdge->objectId() );            }        }        pEnt->close();    }    delete pBlkTblRcdItr;    pBlkTblRcd->close();}
开发者ID:kanbang,项目名称:TIDS,代码行数:36,


示例4:

bool ArxEntityHelper::SetEntitiesColor2( const AcDbObjectIdArray& objIds, const AcArray<Adesk::UInt16>& colors ){    AcTransaction* pTrans = actrTransactionManager->startTransaction();    if( pTrans == 0 ) return false;    bool ret = true; // 默认返回true    int len = objIds.length();    for( int i = 0; i < len; i++ )    {        AcDbObject* pObj;        if( Acad::eOk != pTrans->getObject( pObj, objIds[i], AcDb::kForWrite ) )        {            actrTransactionManager->abortTransaction();            ret = false;            break;        }        AcDbEntity* pEnt = AcDbEntity::cast( pObj );        if( pEnt == 0 )        {            actrTransactionManager->abortTransaction();            ret = false;            break;        }        pEnt->setColorIndex( colors[i] ); // 恢复原先的颜色    }    actrTransactionManager->endTransaction();    return ret;}
开发者ID:kanbang,项目名称:TIDS,代码行数:28,


示例5: GetSelectedExtent

String GetSelectedExtent() {  ads_name selection;  int returnValue = acedSSGet(_T("I"), NULL, NULL, NULL, selection);  if (returnValue == RTCAN) return 0;  if (returnValue != RTNORM) {    return L"";  }  if (acedSSSetFirst(selection, NULL) != RTNORM) {    acedSSFree(selection);    return L"";  }  ads_name element;  acedSSName(selection, 0, element);  acedSSFree(selection);    AcDbObjectId idEntity;  if (acdbGetObjectId(idEntity, element) != Acad::eOk) {    acedSSFree(element);    return L"";  }    AcDbEntity * entity;  if ((acdbGetObjectId(idEntity, element) != Acad::eOk) ||       (acdbOpenObject(entity, idEntity, AcDb::kForRead) != Acad::eOk)) {        acedSSFree(element);    return L"";  }    acedSSFree(element);    if (!entity->isKindOf(AcDbPolyline::desc())) return L"";    AcDbPolyline * poly = static_cast<AcDbPolyline*>(entity);  if (!poly->isClosed()) return 0;    String extent = L"POLYGON((";  AcGePoint2d start;  AcGePoint2d current;  for (int i = 0; i < poly->numVerts(); i++) {    poly->getPointAt(i, current);        if (i > 0) {      extent += L", ";    } else {      start = current;    }    extent += Round(current.x, 0) + L" " + Round(current.y, 0);  }  if (!start.isEqualTo(current)) {    extent += L", " + Round(start.x, 0) + L" " + Round(start.y, 0);  }    extent += L"))";    poly->close();    return extent;}
开发者ID:billmuell,项目名称:GeoMap,代码行数:60,


示例6: CopyBack

static void CopyBack( AcDbEntity* pSrcEnt, const AcDbObjectId& objId ){    AcDbEntity* pEnt;    acdbOpenAcDbEntity( pEnt, objId, AcDb::kForWrite );    pEnt->copyFrom( pSrcEnt );    pEnt->close();}
开发者ID:kanbang,项目名称:myexercise,代码行数:7,


示例7: GetEntitiesColor

bool ArxEntityHelper::GetEntitiesColor( const AcDbObjectIdArray& objIds, AcArray<Adesk::UInt16>& colors ){    AcTransaction* pTrans = actrTransactionManager->startTransaction();    if( pTrans == 0 ) return false;    bool ret = true;  // 默认返回true    int len = objIds.length();    for( int i = 0; i < len; i++ )    {        AcDbObject* pObj;        if( Acad::eOk != pTrans->getObject( pObj, objIds[i], AcDb::kForRead ) )        {            actrTransactionManager->abortTransaction();            ret = false;            colors.removeAll(); // 清空            break;        }        AcDbEntity* pEnt = AcDbEntity::cast( pObj );        if( pEnt == 0 )        {            actrTransactionManager->abortTransaction();            ret = false;            colors.removeAll(); // 清空            break;        }        Adesk::UInt16 ci = pEnt->colorIndex();        colors.append( ci ); // 记录原有的颜色    }    actrTransactionManager->endTransaction();    return ret;}
开发者ID:kanbang,项目名称:TIDS,代码行数:31,


示例8: SetEntitiesColor

bool ArxEntityHelper::SetEntitiesColor( AcDbObjectIdArray& objIds, unsigned short colorIndex ){    AcTransaction* pTrans = actrTransactionManager->startTransaction();    if( pTrans == 0 ) return false;    bool ret = true; // 默认返回true    int len = objIds.length();    for( int i = 0; i < len; i++ )    {        AcDbObject* pObj;        if( Acad::eOk != pTrans->getObject( pObj, objIds[i], AcDb::kForWrite ) )        {            actrTransactionManager->abortTransaction();            ret = false;            break;        }        AcDbEntity* pGE = AcDbEntity::cast( pObj );        if( pGE == 0 )        {            actrTransactionManager->abortTransaction();            ret = false;            break;        }        // 设置颜色        pGE->setColorIndex( colorIndex );    }    actrTransactionManager->endTransaction();    return ret;}
开发者ID:kanbang,项目名称:TIDS,代码行数:32,


示例9: ZoomToEntity

void ArxEntityHelper::ZoomToEntity( const AcDbObjectId& objId ){    AcTransaction* pTrans = actrTransactionManager->startTransaction();    if( pTrans == 0 ) return;    AcDbObject* pObj;    if( Acad::eOk != pTrans->getObject( pObj, objId, AcDb::kForRead ) )    {        actrTransactionManager->abortTransaction();        return;    }    AcDbEntity* pEnt = AcDbEntity::cast( pObj );    if( pEnt == 0 )    {        actrTransactionManager->abortTransaction();        return;    }    AcDbExtents extents;    bool ret = ( Acad::eOk == pEnt->getGeomExtents( extents ) );    actrTransactionManager->endTransaction();    if( ret && IsValidExtent( extents ) )    {        ZoomEntity_Helper( extents.minPoint(), extents.maxPoint() );    }}
开发者ID:kanbang,项目名称:TIDS,代码行数:29,


示例10: ZoomToEntities

void ArxEntityHelper::ZoomToEntities( const AcDbObjectIdArray& objIds ){    AcTransaction* pTrans = actrTransactionManager->startTransaction();    if( pTrans == 0 ) return;    AcDbExtents exts;    int len = objIds.length();    for( int i = 0; i < len; i++ )    {        AcDbObject* pObj;        if( Acad::eOk != pTrans->getObject( pObj, objIds[i], AcDb::kForRead ) ) continue;        AcDbEntity* pEnt = AcDbEntity::cast( pObj );        if( pEnt == 0 ) continue;        AcDbExtents extents;        if( Acad::eOk != pEnt->getGeomExtents( extents ) ) continue;        exts.addPoint( extents.minPoint() );        exts.addPoint( extents.maxPoint() );    }    actrTransactionManager->endTransaction();    AcGePoint3d minPt = exts.minPoint();    AcGePoint3d maxPt = exts.maxPoint();    if( minPt.x <= maxPt.x && minPt.y <= maxPt.y && minPt.z <= maxPt.z )    {        ZoomEntity_Helper( minPt, maxPt );    }}
开发者ID:kanbang,项目名称:TIDS,代码行数:31,


示例11: _search_related_segs

void frgExtractTopologicalEntsFromLinesAlgm::_extract_from_seg(Vertex2dsOnSegment2d &stru){	// - 获取相关的线段(相交、重合)	AcDbObjectIdArray ids;	_search_related_segs(ids, stru.seg);	// - 分为两类进行处理:相交和重叠	// -- 增加起点和终点	rlVertex2d *v = NULL;	stru.vertex2ds.insert(std::make_pair(0.0, v));	stru.vertex2ds.insert(std::make_pair(1.0, v));	// -- 处理每一个线段	AcDbEntity *entity = NULL;	for (int i = 0; i < ids.length(); i++)	{		acdbOpenAcDbEntity(entity, ids[i], AcDb::kForRead);		if (entity == NULL)			continue;		if (entity->isA() != AcDbLine::desc())		{			entity->close();			continue;		}		AcDbLine *_line = (AcDbLine *)entity;		AcGeLineSeg2d _seg(AcGePoint2d(_line->startPoint().x, _line->startPoint().y),			AcGePoint2d(_line->endPoint().x, _line->endPoint().y));		_line->close();		_extract_vertices(stru, _seg);	}}
开发者ID:GlacierXie,项目名称:RLKJ,代码行数:34,


示例12: acedSetStatusBarProgressMeter

void frgExtractTopologicalEntsFromLinesAlgm::_extract_vertices_from_lines(std::vector<Vertex2dsOnSegment2d> &seg_pnts_pairs,	const AcDbObjectIdArray &ids){	AcDbEntity *entity = NULL;	acedSetStatusBarProgressMeter(_T("正在提取每根线段上的节点..."), 0, ids.length());	for (int i = 0; i < ids.length(); i++)	{		acdbOpenAcDbEntity(entity, ids[i], AcDb::kForRead);		if (entity == NULL)			continue;		if (entity->isA() != AcDbLine::desc())		{			entity->close();			continue;		}		AcDbLine *line = (AcDbLine *)entity;		Vertex2dsOnSegment2d stru;		stru.seg.set(AcGePoint2d(line->startPoint().x, line->startPoint().y),			AcGePoint2d(line->endPoint().x, line->endPoint().y));		entity->close();		_extract_from_seg(stru);		seg_pnts_pairs.push_back(stru);		acedSetStatusBarProgressMeterPos(i);	}	acedRestoreStatusBar();}
开发者ID:GlacierXie,项目名称:RLKJ,代码行数:29,


示例13: readDatabase

void readDatabase(){	// Use kFalse to create an empty database.    AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse);    // Use readDwgFile to load the DWG file.	acutPrintf(_T("/nRead file /"d://temp//testfile.dwg/"."));    if(Acad::eOk != pDb->readDwgFile(_T("d://temp//testfile.dwg")))        return;    // Get the BlockTable.    AcDbBlockTable *pBTable = NULL;    pDb->getSymbolTable(pBTable, AcDb::kForRead);	// Get the ModelSpace.    AcDbBlockTableRecord *pRecord = NULL;    pBTable->getAt(ACDB_MODEL_SPACE, pRecord, AcDb::kForRead);    pBTable->close();	// Get new iterator.    AcDbBlockTableRecordIterator *pItr = NULL;    pRecord->newIterator(pItr);    AcDbEntity *pEnt = NULL;    for (pItr->start(); !pItr->done(); pItr->step())    {        pItr->getEntity(pEnt, AcDb::kForRead);        acutPrintf(_T("/nclassname: %s"), (pEnt->isA())->name());        pEnt->close();    }    pRecord->close();    delete pItr;    delete pDb;}
开发者ID:kevinzhwl,项目名称:ZRXSDKMod,代码行数:34,


示例14: acdbOpenAcDbEntity

BOOL CDetailShow::OnInitDialog(){	CAcUiDialog::OnInitDialog();	// TODO:  在此添加额外的初始化	long len = m_objIds.length();	//取得选择集的长度	//遍历选择集中的实体,将其打开并修改其颜色为红色	for (int i =0;i<len;i++)	{		ads_name entres;		AcDbObjectId objId;		AcDbEntity *obj;		Acad::ErrorStatus es;		es = acdbOpenAcDbEntity(obj, m_objIds[i], AcDb::kForRead, true);		if (es == Acad::eOk) {			LPCTSTR str;			str = obj->isA()->name();			m_listBox.AddString(str);			obj->close();		}			}	return TRUE;  // return TRUE unless you set the focus to a control	// 异常: OCX 属性页应返回 FALSE}
开发者ID:geozzu,项目名称:myarx,代码行数:26,


示例15: UpdateEntity2

// 使用常规的Open/Close机制static void UpdateEntity2( const AcDbObjectId& objId ){    AcDbEntity* pEnt;    if( Acad::eOk != acdbOpenObject( pEnt, objId, AcDb::kForWrite ) ) return;    pEnt->recordGraphicsModified( true ); // 标签图元状态已修改,需要更新图形    pEnt->close();}
开发者ID:kanbang,项目名称:TIDS,代码行数:9,


示例16: DrawBlockEnts

static void DrawBlockEnts( AcGiWorldDraw* mode, AcGeVoidPointerArray& ents ){    int n = ents.length();    for( int i = 0; i < n; i++ )    {        AcDbEntity* pEnt = ( AcDbEntity* )ents[i];        pEnt->worldDraw( mode );    }}
开发者ID:kanbang,项目名称:TIDS,代码行数:9,


示例17: AsdkSelectionFilterUI_SubentSel

    // ----- AsdkSelectionFilterUI.SubentSel command (do not rename)    static void AsdkSelectionFilterUI_SubentSel(void)    {        // we have to allow duplicates; otherwise, the xref would be selectable        // only once (because the main entity is the one that counts).        setAllowDuplicateSelection(curDoc(), true);        ads_name sset, eName;        AcDbObjectId id;        // "_:n" gives us nested entities        //        if (RTNORM == acedSSGet("_:n", NULL, NULL, NULL, sset))        {            acutPrintf("/n");            long len = 0;            acedSSLength(sset, &len);            for (long i = 0; i < len; i++)// For each entity in sset            {                resbuf *rb = NULL;                // We use ssnamex() here, because the regular ssname()                // would give only the main entity (the xref)                //                if (RTNORM == acedSSNameX(&rb, sset, i))//Get the sub entity                {                    resbuf *rbWalk = rb;                    while (NULL != rbWalk)                    {                        if (RTENAME == rbWalk->restype)                        {                            eName[0] = rbWalk->resval.rlname[0];                            eName[1] = rbWalk->resval.rlname[1];                            if(Acad::eOk == acdbGetObjectId(id, eName))                            {                                acutPrintf("Entity %d: <%x>", i, id.asOldId());                                AcDbEntity *pEnt;                                if (Acad::eOk == acdbOpenObject(pEnt, id, AcDb::kForRead))                                {                                    acutPrintf("(%s)/n", pEnt->isA()->name());                                    pEnt->close();                                }                                else                                    acutPrintf("/nCouldn't open object");                            }                            rbWalk = NULL; //force quit out of loop                        }                        else                            rbWalk = rbWalk->rbnext;                    }                    acutRelRb(rb);                }            }            acedSSFree(sset);        }        setAllowDuplicateSelection(curDoc(), false);    }
开发者ID:kevinzhwl,项目名称:ObjectARXMod,代码行数:58,


示例18:

CCadEntity * CCadEntityFactory::GetCadEntity(AcDbObjectId & idEntity){  AcDbEntity * entity = 0;  if (acdbOpenObject(entity, idEntity, AcDb::kForRead) != Acad::eOk) return 0;    CCadEntity * cadEntity = CCadEntityFactory::GetCadEntity(entity);  entity->close();    return cadEntity;}
开发者ID:billmuell,项目名称:GeoMap,代码行数:10,


示例19: canBeSelected

bool MySSGetFilter::canBeSelected(AcDbObjectId id) const{	bool ans = true;	AcDbEntity * pEnt;	if (acdbOpenAcDbEntity(pEnt, id, AcDb::kForRead) == Acad::eOk) {		ans = canBeSelected(pEnt);		pEnt->close();	}	return ans;}
开发者ID:jidzhang,项目名称:dingxq1017.github.io,代码行数:10,


示例20: FilterDb

//0,不显示属性,1,显示属性,2,显示属性默认值void CZhfPalette::FilterDb(AcDbDatabase* pDb, int iFilterMode){	if (iFilterMode==1)	{		return ;	}	Acad::ErrorStatus es ;	AcDbBlockTable* pBT = NULL ;	pDb->getBlockTable(pBT, AcDb::kForRead);	AcDbBlockTableRecord* pBTR = NULL;	es = pBT->getAt(ACDB_MODEL_SPACE, pBTR, AcDb::kForWrite);	pBT->close();	AcDbBlockTableRecordIterator* pIT;	es = pBTR->newIterator(pIT) ;	for (; !pIT->done(); pIT->step()) 	{		AcDbEntity* pEnt = NULL ;		if (Acad::eOk==pIT->getEntity(pEnt, AcDb::kForWrite))		{			if (pEnt->isKindOf(AcDbAttributeDefinition::desc()))			{				AcDbAttributeDefinition *pAttDef = AcDbAttributeDefinition::cast(pEnt);				if (iFilterMode==0)				{					pEnt->erase() ;				}				else if (iFilterMode>1)				{					if (pAttDef != NULL && !pAttDef->isConstant())					{						// We have a non-constant attribute definition,						// so build an attribute entity.						CString strShowVal ;						if (iFilterMode==2)						{							strShowVal = pAttDef->textString() ;						}						else if (iFilterMode==3)						{							strShowVal = pAttDef->prompt() ; //显示中文为乱码						}						pAttDef->setTag(strShowVal) ;					}				}			}			pEnt->close() ;		}	}	delete pIT;	pBTR->close();}
开发者ID:luosin,项目名称:cad-2004-lzx,代码行数:56,


示例21: CloneEntity

static AcDbEntity* CloneEntity( const AcDbObjectId& objId ){    AcDbEntity* pEnt;    acdbOpenObject( pEnt, objId, AcDb::kForRead );    AcDbEntity* pClone = AcDbEntity::cast( pEnt->clone() );    pEnt->close();    return pClone;}
开发者ID:kanbang,项目名称:myexercise,代码行数:11,


示例22: asdktest3

void asdktest3 () {    //----- Create a line and a circle (memory only)    AcDbLine *pLine =new AcDbLine (AcGePoint3d (), AcGePoint3d (100, 100, -100)) ;    AcDbCircle *pCircle =new AcDbCircle (AcGePoint3d (50, 50, 0), AcGeVector3d (0, 0, 1) , 25.0) ;    //----- Create a region from the circle    AcDbVoidPtrArray arr1, arr2 ;    arr1.append (pCircle) ;    AcDbRegion::createFromCurves (arr1, arr2) ;    AcDbRegion *pRegion =(AcDbRegion *)arr2.at (0) ;    delete pCircle ;    //----- Add the line and the region objects to the collector    //----- NB: Remember those object are memory objects only    AsdkHlrCollector collector ;    collector.setDeleteState (true) ;    collector.addEntity (pLine) ;    collector.addEntity (pRegion) ;    //----- Process hidden line removal    AsdkHlrEngine hlr (AcGePoint3d (50, 50,0), AcGeVector3d (0, 0, 1), kEntity | kBlock | kShowAll | kProject | kHonorInternals) ;    hlr.run (collector) ;    //----- To easily see the result, we do append resulting entities to the current database    //----- and use the color convention used in command 'TEST1'    int n =collector.mOutputData.logicalLength () ;    for ( int i =0 ; i < n ; i++ ) {        AsdkHlrData *p =collector.mOutputData [i] ;        AcDbEntity *pEnt =p->getResultEntity () ;        AsdkHlrData::Visibility vis =p->getVisibility () ;        if ( vis == AsdkHlrData::kVisible )            pEnt->setColorIndex (1) ;        else            pEnt->setColorIndex (5) ;        AcDbObjectId id ;        if ( postToDatabase (NULL, pEnt, id) != Acad::eOk ) {            acutPrintf (_T("Failed to add entity to current space./n")) ;            break ;        }        //----- Entity originator path        AcDbObjectIdArray ids =p->getObjectIds () ;        if ( ids.logicalLength () > 0 ) {            acutPrintf (ACRX_T("/n%ld, "), pEnt->objectId ().asOldId ()) ;            for ( int j =0 ; j < ids.logicalLength () ; j++ ) {                acutPrintf (ACRX_T("%ld, "), ids.at (j).asOldId ()) ;            }        }        pEnt->close () ;    }}
开发者ID:FengLuanShuangWu,项目名称:AutoCADPlugin-HeatSource,代码行数:53,


示例23: throw

void Jig3d::apply() throw(CmdException){	m_xform = m_xformTemp*m_xform;	AcDbEntity* pE;	if (acdbOpenObject(pE,m_int.m_idEntity,AcDb::kForWrite)==Acad::eOk)	{		Acad::ErrorStatus es;		if ((es=pE->transformBy(m_xform))!=Acad::eOk)			throw CmdException(es,"Transformation cannot be applied to object");		pE->close();	}}
开发者ID:kevinzhwl,项目名称:ObjectARXMod,代码行数:12,


示例24: acdbOpenAcDbEntity

boolArxDbgUtils::isOnLockedLayer(AcDbObjectId& id, bool printMsg){    AcDbEntity* ent;	Acad::ErrorStatus es = acdbOpenAcDbEntity(ent, id, AcDb::kForRead);    if (es == Acad::eOk) {        bool result = isOnLockedLayer(ent, printMsg);        ent->close();        return result;    }    return true;  // by default we "lock" data}
开发者ID:FengLuanShuangWu,项目名称:AutoCADPlugin-HeatSource,代码行数:13,


示例25: acutPrintf

void ZcEntityReactor::openedForModify(const AcDbObject* dbObj){	if (!dbObj->isKindOf(AcDbEntity::desc()))	{		acutPrintf(_T("/nObject is not a valid Entity!"));		return;	}	AcDbEntity* pEnt = AcDbEntity::cast(dbObj);	CString strLayer;	strLayer.Format(_T("/nCurrent Entity:%s .The layerName:%s ."), pEnt->isA()->name(), pEnt->layer());	acutPrintf(strLayer);}
开发者ID:kevinzhwl,项目名称:ZRXSDKMod,代码行数:13,


示例26: GetInsertPoint

bool GetInsertPoint( const AcDbObjectId& objId, AcGePoint3d& pt ){    AcDbEntity* pEnt;    if( Acad::eOk != acdbOpenObject( pEnt, objId, AcDb::kForRead ) ) return false;    GasGeologyGE* pGE = GasGeologyGE::cast( pEnt );    bool ret = ( pGE != 0 );    if( ret )    {        pt = pGE->getInsertPt();    }    pEnt->close();    return ret;}
开发者ID:kanbang,项目名称:myexercise,代码行数:15,


示例27: ASSERT

Acad::ErrorStatusArxDbgUtils::defineNewBlock(LPCTSTR blkName, AcDbBlockTableRecord*& newBlkRec,                            AcDbObjectId& newBlkRecId, AcDbDatabase* db){	ASSERT(db != NULL);    AcDbBlockTable* blkTbl;	Acad::ErrorStatus es = db->getSymbolTable(blkTbl, AcDb::kForWrite);    if (es != Acad::eOk)        return es;        // if this block already exists, erase its contents first    if (blkTbl->getAt(blkName, newBlkRec, AcDb::kForWrite) == Acad::eOk) {        newBlkRecId = newBlkRec->objectId();        AcDbBlockTableRecordIterator* iter;        es = newBlkRec->newIterator(iter);        if (es != Acad::eOk) {            ArxDbgUtils::rxErrorMsg(es);            newBlkRec->close();        }        else {            AcDbEntity* ent;            for (; !iter->done(); iter->step()) {                if (iter->getEntity(ent, AcDb::kForWrite) == Acad::eOk) {                    ent->erase();                    ent->close();                }            }            delete iter;        }    }    else {    // create a new block table record and add it to the block table        newBlkRec = new AcDbBlockTableRecord;        newBlkRec->setPathName(AcadString::nullStr);    // constructor doesn't do it properly        es = newBlkRec->setName(blkName);        if (es == Acad::eOk)            es = blkTbl->add(newBlkRecId, newBlkRec);        if (es != Acad::eOk) {            ArxDbgUtils::rxErrorMsg(es);            delete newBlkRec;        }    }    blkTbl->close();    // doesn't need to be open anymore    return es;}
开发者ID:FengLuanShuangWu,项目名称:AutoCADPlugin-HeatSource,代码行数:48,


示例28: acdbOpenAcDbEntity

CString Additional_Class::Get_Xdata(AcDbObjectId EntID, CString Xdata_Ref ){	AcDbEntity *pEnt;	acdbOpenAcDbEntity(pEnt, EntID, AcDb::kForRead);	struct resbuf *pRb;	pRb = pEnt->xData(Xdata_Ref);	if (pRb != NULL)	{		struct resbuf *pTemp;		pTemp = pRb;		pTemp = pTemp->rbnext;		pEnt->close();		return pTemp->resval.rstring;	}	acutRelRb(pRb);	pEnt->close();	return "";}
开发者ID:TobeGodman,项目名称:AutoTrader,代码行数:18,



注:本文中的AcDbEntity类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ AcDbObject类代码示例
C++ AcDbDatabase类代码示例
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1