(求助斑竹)真的好困惑,为什么求外轮廓的周长就不行呢
<P>以下是求面域周长的代码,求内轮廓都行,但为什么求外轮廓的周长就不行呢?</P><P><FONT color=#0000ff>Public</FONT> <FONT color=blue><FONT color=blue>Sub</FONT></FONT> clist<FONT color=red>(</FONT><FONT color=red>)</FONT><BR> <FONT color=blue>Dim</FONT> pt <FONT color=blue>As</FONT> Variant<BR> <FONT color=blue>Dim</FONT> spt <FONT color=blue>As</FONT> <FONT color=blue>String</FONT><BR> <FONT color=blue>Dim</FONT> i <FONT color=blue>As</FONT> Integer<BR><BR><BR> pt <FONT color=blue>=</FONT> ThisDrawing.Utility.getpoint<FONT color=red>(</FONT>, vbCrLf & <FONT color=#880000>"输入要计算周长对象的内部一点:"</FONT><FONT color=red>)</FONT><BR> spt <FONT color=blue>=</FONT> pt<FONT color=red>(</FONT>0<FONT color=red>)</FONT> & <FONT color=#880000>","</FONT> & pt<FONT color=red>(</FONT>1<FONT color=red>)</FONT><BR> ThisDrawing.SendCommand <FONT color=#880000>"-boundary"</FONT> & vbCr & <FONT color=#880000>"a"</FONT> & vbCr & <FONT color=#880000>"o"</FONT> & vbCr & <FONT color=#880000>"r"</FONT> & vbCr & vbCr & spt & vbCr & vbCr<BR> <FONT color=blue><FONT color=blue>If</FONT></FONT> <FONT color=red>(</FONT>ThisDrawing.GetVariable<FONT color=red>(</FONT><FONT color=#880000>"LASTPROMPT"</FONT><FONT color=red>)</FONT> <FONT color=blue><</FONT>> <FONT color=#880000>"已创建 0 个面域。"</FONT><FONT color=red>)</FONT> <FONT color=blue><FONT color=blue>Then</FONT></FONT><BR> <FONT color=blue>MsgBox</FONT> ThisDrawing.ModelSpace<FONT color=red>(</FONT>ThisDrawing.ModelSpace.<FONT color=blue>Count</FONT> <FONT color=blue>-</FONT> 1<FONT color=red>)</FONT>.Perimeter<BR> ThisDrawing.ModelSpace<FONT color=red>(</FONT>ThisDrawing.ModelSpace.<FONT color=blue>Count</FONT> <FONT color=blue>-</FONT> 1<FONT color=red>)</FONT>.Delete<BR> <FONT color=blue><FONT color=blue>End</FONT> If</FONT><BR><FONT color=blue>End</FONT> <FONT color=blue><FONT color=blue>Sub</FONT></FONT></P> <P>边界生成时,按照你的程序,如果点的一个点中可生成多个边界,而程序只读取最后生成的那个边界。所有总会有问题。</P>
<P>你需要在生成边界前保存当前空间的图元数量,然后通过边界命令后检查新生成了多少个图元,分别读取这些图元的属性就OK。</P>
页:
[1]