ARX关于填充Pattern的问题
AcDbHatch* pHatch = new AcDbHatch();<BR> <BR> AcGeVector3d normal(0.0, 0.0, 1.0);<BR> pHatch->setNormal(normal);<BR> pHatch->setElevation(0.0);<BR> pHatch->setHatchStyle(AcDbHatch::kNormal);//设置Hatch模式为预定义AR-CONC类型<BR> pHatch->setPattern(AcDbHatch::kPreDefined, "AR-CONC");
<FONT style="BACKGROUND-COLOR: #52cc33"> 就是这里,预定义的类型设置为SOLID时填充能完成 <BR> 设置成其他预定义类型就不能实现填充。 <BR> 大侠们帮我看看问题出在哪里了? </FONT>
pHatch->setPatternScale(0.2);<BR> //设置关联边界<BR> pHatch->setAssociative(Adesk::kTrue);<BR> <BR> AcDbObjectIdArray dbObjIds;<BR> dbObjIds.append(plineID);<BR> pHatch->appendLoop(AcDbHatch::kDefault, dbObjIds);<BR> <BR> AcDbBlockTable* pBlockTable;<BR> if(acdbHostApplicationServices()->workingDatabase()<BR> ->getSymbolTable(pBlockTable, AcDb::kForRead) != Acad::eOk)<BR> {<BR> delete pHatch;<BR> return NULL;<BR> }<BR> AcDbBlockTableRecord* pBlockTableRecord;<BR> if(pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite) != Acad::eOk)<BR> {<BR> delete pHatch;<BR> pBlockTable->close();<BR> return NULL;<BR> }<BR> pBlockTable->close();<BR> if(pBlockTableRecord->appendAcDbEntity(id, pHatch) != Acad::eOk)<BR> {<BR> delete pHatch;<BR> pBlockTableRecord->close();<BR> return NULL;<BR> }<BR> pBlockTableRecord->close();<BR> pHatch->close();
AcDbEntity *pEnt;<BR> if (acdbOpenAcDbEntity(pEnt, dbObjIds,<BR> AcDb::kForWrite)==Acad::eOk) <BR> {<BR> pEnt->addPersistentReactor(id); <BR> pEnt->close();<BR> }<BR> 刚才花了一段时间仔细查了以前的帖子,明白了。
没用evaluateHatch()更新。呼呼,不好意思了。
页:
[1]