zoukankan      html  css  js  c++  java
  • ObjectARX属性块参照遍历属性值实例代码

    属性块属性值遍历参考代码.

    		//获取块参照属性
    		ads_name ent;
    		ads_point pt;
    		if (RTNORM != acedEntSel(NULL,ent,pt))
    		{
    			acutPrintf(_T("
    未选择有效对象!"));
    			return;
    		}
    		AcDbObjectId objId;
    		acdbGetObjectId(objId,ent);
    		AcDbObjectPointer<AcDbBlockReference> pBlkRef(objId,AcDb::kForRead);
    		if (Acad::eOk != pBlkRef.openStatus())
    		{
    			acutPrintf(_T("
    打开块参照失败,错误码: %s "),pBlkRef.openStatus());
    			return;
    		}
    		//直接获取图块的属性迭代器
    		AcDbObjectIterator *pIter=pBlkRef->attributeIterator();
    		//无论图块是否有属性,迭代器一般不会为NULL
    		if (NULL == pIter)
    		{
    			acutPrintf(_T("
    获取属性迭代器失败!"));
    			return;
    		}
    		//设置判断是否能获取到属性
    		bool bIsAttribBlock=false;
    		for (pIter->start();!pIter->done();pIter->step())
    		{
    			AcDbObjectId attribId=pIter->objectId();
    			AcDbObjectPointer<AcDbAttribute> pAttrib(attribId,AcDb::kForRead);
    			if (Acad::eOk != pAttrib.openStatus())
    			{
    				continue;
    			}
    			//方式一
    			/*
    			CString strTag;
    			strTag=pAttrib->tag();
    			CString strValue;
    			strValue=pAttrib->textString();
    			acutPrintf(_T("
    属性名: %s 属性值: %s"),strTag,strValue);
    			*/
    			//方式二
    			ACHAR *szTag=pAttrib->tag();
    			ACHAR *szValue=pAttrib->textString();
    			if (szTag!=NULL && szValue!=NULL)
    			{
    				acutPrintf(_T("
    属性名: %s 属性值: %s"),szTag,szValue);
    			}
    			else
    			{
    				acutPrintf(_T("
    获取属性值失败!"),szTag,szValue);
    			}
    			if (szTag!=NULL)
    			{
    				acutDelString(szTag);
    			}
    			if (szValue!=NULL)
    			{
    				acutDelString(szValue);
    			}
    			//获取到属性,设置标志
    			bIsAttribBlock=true;
    		}
    		//释放迭代器
    		delete pIter;
    		if (!bIsAttribBlock)
    		{
    			acutPrintf(_T("
    该块参照无属性!"));
    		}
    

      

  • 相关阅读:
    Socket原理与编程基础
    Hello cnblogs
    c# List 分页问题
    chrome下载Word失败问题
    前端时间Date显示问题踩坑
    Vue跳转同一界面多次,使用不同数据进行渲染
    Hadoop在Linux环境下的配置
    RabbitMQ下载安装
    Codeforces 527 C. Glass Carving
    python压缩、解压文件
  • 原文地址:https://www.cnblogs.com/edata/p/12656673.html
Copyright © 2011-2022 走看看