colourshine 发表于 2009-3-17 09:16:00

请帮忙解决一下区域填充AcDbHatch的问题,代码已完成,但显示不了?

<p>代码如下:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcDbObjectIdArray dbObjIds;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcDbHatch*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pHatch;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AcGeVector3d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; normal(0.0 , 0.0 , 1.0 );<br/></p><p>&nbsp;&nbsp;&nbsp;&nbsp; dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);&nbsp;&nbsp;&nbsp; //LineId是四边形的四条边的Id</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch = new AcDbHatch();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setNormal(normal);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setElevation(0.0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setAssociative(Adesk::kFalse);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setColorIndex(162);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPatternScale(0.0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPatternAngle(0.0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPattern(AcDbHatch::kPreDefined, "ANSI31");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setHatchStyle(AcDbHatch::kNormal);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; appendLoop(AcDbHatch::kExternal, dbObjIds);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; evaluateHatch();<br/>&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddEntityToDbs( pHatch );&nbsp; //&nbsp;AddEntityToDbs()函数用于将填充加入到数据库,函数没有问题<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; close();</p><p>代码是参考了网上的一些信息写的,程序在调试时填充显示不了,请问下是什么原因?谢谢!</p><p></p>

松竹 发表于 2009-4-6 21:59:00

<p>代码修改如下:可能是将比例设置为0.0导致的问题。</p><p>&nbsp;&nbsp;&nbsp;&nbsp; AcDbObjectIdArray dbObjIds;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcDbHatch*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pHatch;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AcGeVector3d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; normal(0.0 , 0.0 , 1.0 );<br/></p><p>&nbsp;&nbsp;&nbsp;&nbsp; dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbObjIds.append(LineId);&nbsp;&nbsp;&nbsp; //LineId是四边形的四条边的Id</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch = new AcDbHatch();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setNormal(normal);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setElevation(0.0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setAssociative(Adesk::kFalse);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setColorIndex(162);<br/>&nbsp;<font color="#f70909">&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPatternScale(1.0);</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPatternAngle(0.0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setPattern(AcDbHatch::kPreDefined, "ANSI31");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; setHatchStyle(AcDbHatch::kNormal);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; appendLoop(AcDbHatch::kExternal, dbObjIds);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; evaluateHatch();<br/>&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddEntityToDbs( pHatch );&nbsp; //&nbsp;AddEntityToDbs()函数用于将填充加入到数据库,函数没有问题<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pHatch -&gt; close();</p>
页: [1]
查看完整版本: 请帮忙解决一下区域填充AcDbHatch的问题,代码已完成,但显示不了?