zhang007 发表于 2004-11-17 10:45:00

[VBA]有关图案填充的问题

以下是我用选择集添加图案填充的内回路遇到的问题,我想用一个选择集中的实体作为内回路,选择集没问题,我测试了一下,不过内回路总是无法添加进去,我想问一下,内回路必须要先创建实体,才能添加进去吗?


        sset1.SelectByPolygon 2, poitlist2<BR>                                                       If sset1.Count &lt;&gt; 0 Then<BR>                                                       'MsgBox "no emty", vbCritical<BR>                                                                                        For Each entry In sset1<BR>                                                                               entry1(0) = entry<BR>                                                                               hatchObj.AppendInnerLoop (entry1)<BR>                                                       Next entry


end if

zfbj 发表于 2004-11-17 20:21:00

你说的“内回路必须要先创建实体,才能添加进去吗?”


要先创建什么实体?

mccad 发表于 2004-11-17 21:39:00

不知道你选择集中的每个对象是否单独构成封闭边界。<BR>按照你的程序,你给每个对象单独使用了一次AppendInnerLoop,如果该对象不是封闭的话,则无法生成边界。<BR>另外,在使用AppendInnerLoop或AppendouterLoop方法后,必须使用Evaluate方法来更新图案填充,不然也没有效果。

zhang007 发表于 2004-11-18 09:39:00

原来是这样,我试试看。由于构成图案填充内回路的图元是在另一个子程序中生成,包括闭合的轻多段线、单行文字,无法确定数目,所以必须用选择集。我每次测试时只能生成由外回路生成的图案,而不扣除内部边界。图中红色的图案是我要达到的效果。我再试试看,谢谢老大和版主。
页: [1]
查看完整版本: [VBA]有关图案填充的问题