CAD遍历各种符号表(c++)

对于每个符号表,我们进行如下调用:


	//获取块表的一些信息
	{
		McDbBlockTable * pBlockTable = nullptr;
		pDatabase->getBlockTable(pBlockTable, McDb::kForRead);
		CommonInitFunc<McDbBlockTableIterator, McDbBlockTableRecord, McDbBlockTable>(
			pBlockTable, [&](McDbBlockTableRecord * pTableRec, HTREEITEM pTreeTable) {
			this->CommonInitFunc<
				McDbBlockTableRecordIterator,
				McDbEntity,
				McDbBlockTableRecord>(
					pTableRec,
					[](McDbEntity*, HTREEITEM) {},
					pTreeTable);
		});
	}

	//获取层表的一些信息
	{
		McDbLayerTable* pLayerTable = nullptr;
		pDatabase->getLayerTable(pLayerTable, McDb::kForRead);
		CommonInitFunc<McDbLayerTableIterator, McDbLayerTableRecord, McDbLayerTable>(
			pLayerTable, [&](McDbLayerTableRecord *, HTREEITEM) {});
	}

	//获取文字样式的一些信息
	{
		McDbTextStyleTable * pTextStyleTable = nullptr;
		pDatabase->getTextStyleTable(pTextStyleTable, McDb::kForRead);
		CommonInitFunc<McDbTextStyleTableIterator, McDbTextStyleTableRecord, McDbTextStyleTable>(
			pTextStyleTable, [&](McDbTextStyleTableRecord *, HTREEITEM) {});
	}

	//获取线型的一些信息
	{
		McDbLinetypeTable * pLinetypeTable = nullptr;
		pDatabase->getLinetypeTable(pLinetypeTable, McDb::kForRead);
		CommonInitFunc< McDbLinetypeTableIterator, McDbLinetypeTableRecord, McDbLinetypeTable>(
			pLinetypeTable, [&](McDbLinetypeTableRecord *, HTREEITEM) {});
	}

	//获取标注样式的一些信息
	{
		McDbDimStyleTable * pDimStyleTable = nullptr;
		pDatabase->getDimStyleTable(pDimStyleTable, McDb::kForRead);
		CommonInitFunc<McDbDimStyleTableIterator, McDbDimStyleTableRecord, McDbDimStyleTable>(
			pDimStyleTable, [&](McDbDimStyleTableRecord *, HTREEITEM) {});
	}


posted on 2019-06-27 09:55  梦想CAD控件  阅读(251)  评论(0)    收藏  举报

导航