问题提出:

利用sAcDbHatch::setPatternAngle设置 填充区域的角度,利用pro(属性界面)查看角度变了,但显示却没变。

解决方案:

调用一下setPattern就好了。

测试环境:

Win10 + VS2010 + CAD2014x64

代码:

将选中填充区域的角度设置成45度


Cad::CSSGetHlp ssGet;	
		ssGet.m_strEntNames.append(_T("Hatch"));		
		ssGet.SSGet();

		for (int i = 0; i < ssGet.GetLen() ; i++)
		{
			Cad::COpenObject oo(ssGet.GetAt(i),AcDb::kForWrite);
			AcDbHatch* pHatch = oo.GetEnt<AcDbHatch>();
			if( NULL == pHatch )
			{
				continue;
			}	
					
			Acad::ErrorStatus es1 = pHatch->setPatternAngle(0.78);	
			AcDbHatch::HatchPatternType type = pHatch->patternType();
			const ACHAR* pName =  pHatch->patternName();
			pHatch->setPattern(type, pName);			
			pHatch->evaluateHatch();		
		}
posted on 2023-08-21 09:11  闻缺陷则喜何志丹  阅读(5)  评论(0编辑  收藏  举报  来源