天天看點

[ObjectARX]建立一個浏覽器(iterator),周遊符号表記錄

建立一個浏覽器(iterator),用于周遊線型表中的符号表記錄。

步驟:

  1. 首先以讀操作模式打開線型表;
  2. 之後建立一個新的浏覽器;
  3. 然後建立一個指向線型表的指針;
  4. 在for循環中使用浏覽器函數周遊線性表記錄,得到每條記錄的線型名;
  5. 在退出for循環後,我們就删除浏覽器,并關閉線型表。
    實作源代碼:
    static void aaaMyGroupMyCommand () {
    		AcDbDatabase *pCurDb;
    		AcDbLinetypeTable *pLinetypeTbl;
    		pCurDb = acdbHostApplicationServices()->workingDatabase();
    		pCurDb->getLinetypeTable(pLinetypeTbl, AcDb::kForRead);
    		//Create a new  iterator that starts at table 
    		//beginning and  skips deleted.
    		AcDbLinetypeTableIterator *pLtIterator;
    		pLinetypeTbl->newIterator(pLtIterator);
    		//Walk the table getting every table record and
    		//printing the linetype name.
    		//
    		AcDbLinetypeTableRecord *pLtTableRcd;
    		ACHAR *pLtName;
    		for (; !pLtIterator->done(); pLtIterator->step())
    		{
    			pLtIterator->getRecord(pLtTableRcd, AcDb::kForRead);
    			pLtTableRcd->getName(pLtName);
    			pLtTableRcd->close();
    			acutPrintf(_T("\nLinetype name is: %s"), pLtName);
    			free(pLtName);
    		}
    		delete pLtIterator;
    		pLinetypeTbl->close();
    	}
               
    效果:
    在AutoCAD2018指令行輸指令:MyCommandLocal,顯示:
    [ObjectARX]建立一個浏覽器(iterator),周遊符号表記錄

繼續閱讀