问题提出:
利用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(); }