yyzhang 发表于 2005-3-2 14:45:00

ARX关于填充Pattern的问题

AcDbHatch* pHatch = new AcDbHatch();<BR>                                                                                                                       <BR>                                                                                                                       AcGeVector3d normal(0.0, 0.0, 1.0);<BR>                                                                                                                       pHatch-&gt;setNormal(normal);<BR>                                                                                                                       pHatch-&gt;setElevation(0.0);<BR>                                                                                                                       pHatch-&gt;setHatchStyle(AcDbHatch::kNormal);


                                                                                                                       //设置Hatch模式为预定义AR-CONC类型<BR>                                                                                                                       pHatch-&gt;setPattern(AcDbHatch::kPreDefined, "AR-CONC");


<FONT style="BACKGROUND-COLOR: #52cc33">                                                                                                                                                                                       就是这里,预定义的类型设置为SOLID时填充能完成                               <BR>                                                                                                                                                                                       设置成其他预定义类型就不能实现填充。                                                                                                                                                                               <BR>                                                                                                                                                                                       大侠们帮我看看问题出在哪里了?                                                                                                                                                                                                                                                               </FONT>


                                                                                                                       pHatch-&gt;setPatternScale(0.2);<BR>                                                                                                                       //设置关联边界<BR>                                                                                                                       pHatch-&gt;setAssociative(Adesk::kTrue);<BR>                                                                                                                       <BR>                                                                                                                       AcDbObjectIdArray dbObjIds;<BR>                                                                                                                       dbObjIds.append(plineID);<BR>                                                                                                                       pHatch-&gt;appendLoop(AcDbHatch::kDefault, dbObjIds);<BR>                                                                                                                       <BR>                                                                                                                       AcDbBlockTable* pBlockTable;<BR>                                                                                                                       if(acdbHostApplicationServices()-&gt;workingDatabase()<BR>                                                                                                                                                                                       -&gt;getSymbolTable(pBlockTable, AcDb::kForRead) != Acad::eOk)<BR>                                                                                                                       {<BR>                                                                                                                                                                                       delete pHatch;<BR>                                                                                                                                                                                       return NULL;<BR>                                                                                                                       }<BR>                                                                                                                       AcDbBlockTableRecord* pBlockTableRecord;<BR>                                                                                                                       if(pBlockTable-&gt;getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite) != Acad::eOk)<BR>                                                                                                                       {<BR>                                                                                                                                                                                       delete pHatch;<BR>                                                                                                                                                                                       pBlockTable-&gt;close();<BR>                                                                                                                                                                                       return NULL;<BR>                                                                                                                       }<BR>                                                                                                                       pBlockTable-&gt;close();<BR>                                                                                                                       if(pBlockTableRecord-&gt;appendAcDbEntity(id, pHatch) != Acad::eOk)<BR>                                                                                                                       {<BR>                                                                                                                                                                                       delete pHatch;<BR>                                                                                                                                                                                       pBlockTableRecord-&gt;close();<BR>                                                                                                                                                                                       return NULL;<BR>                                                                                                                       }<BR>                                                                                                                       pBlockTableRecord-&gt;close();<BR>                                                                                                                       pHatch-&gt;close();


                                                                                                                       AcDbEntity *pEnt;<BR>                                                                                                                       if (acdbOpenAcDbEntity(pEnt, dbObjIds,<BR>                                                                                                                                                                                                                                                       AcDb::kForWrite)==Acad::eOk) <BR>                                                                                                                       {<BR>                                                                                                                                                                                       pEnt-&gt;addPersistentReactor(id); <BR>                                                                                                                                                                                       pEnt-&gt;close();<BR>                                                                                                                       }<BR>

yyzhang 发表于 2005-3-2 15:27:00

刚才花了一段时间仔细查了以前的帖子,明白了。


没用evaluateHatch()更新。呼呼,不好意思了。
页: [1]
查看完整版本: ARX关于填充Pattern的问题