建立一個浏覽器(iterator),用于周遊線型表中的符号表記錄。
步驟:
- 首先以讀操作模式打開線型表;
- 之後建立一個新的浏覽器;
- 然後建立一個指向線型表的指針;
- 在for循環中使用浏覽器函數周遊線性表記錄,得到每條記錄的線型名;
- 在退出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,顯示: