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