[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,显示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值