luckyliya 发表于 2006-3-27 16:03:00

(求助)有关周长的问题,帮忙看一下代码

想求多个面域的累加周长,怎么做?有一段代码是求多个面域的累加面积的,程序正确.我把其中的area必成list ,想求周长,但运行时出错.
求累加面积的正确代码:
&nbspublic Sub carea()
On Error GoTo ErrorHandler
Dim pt As Variant
Dim spt As String
Dim i As Integer
Dim zarea As Double
zarea = 0
For i = 0 To 500
   pt = ThisDrawing.Utility.GetPoint(, vbCrLf & "输入要计算面积对象的内部一点:")
   spt = pt(0) & "," & pt(1)
   With ThisDrawing
   SendCommand "-boundary "
   SendCommand spt & " "
   SendCommand " "
   SendCommand "area "
   SendCommand "o "
   SendCommand "last "
   SendCommand "erase "
   SendCommand "last "
   SendCommand " "
   End With
   zarea = zarea + ThisDrawing.GetVariable("AREA")
   ThisDrawing.Utility.Prompt vbCrLf & "选定对象的总面积为: " & zarea & vbCrLf
Next
ErrorHandler:
Exit Sub
End Sub
我改后的代码:
Public Sub clist()
Dim pt As Variant
Dim spt As String
Dim i As Integer
Dim zlist As Double
zlist = 0
For i = 0 To ThisDrawing.ModelSpace.Count
   pt = ThisDrawing.Utility.GetPoint(, vbCrLf & "输入要计算周长对象的内部一点:")
   spt = pt(0) & "," & pt(1)
   With ThisDrawing
   SendCommand "-boundary "
   SendCommand spt & " "
   SendCommand " "
   SendCommand "list"
   SendCommand "last "
   SendCommand "erase "
   SendCommand "last "
   SendCommand " "
   End With
   zlist = ThisDrawing.GetVariable("list")
   ThisDrawing.Utility.Prompt vbCrLf & "选定对象的总面积为: " & zlist
Next
ErrorHandler:
Exit Sub
End Sub

请大家多多指教,不胜感激.

雪山飞狐_lzh 发表于 2006-3-27 16:42:00


Public Sub clist()
    Dim pt As Variant
    Dim spt As String
    Dim i As Integer
    pt = ThisDrawing.Utility.getpoint(, vbCrLf & "输入要计算周长对象的内部一点:")
    spt = pt(0) & "," & pt(1)
    ThisDrawing.SendCommand "-boundary" & vbCr & "a" & vbCr & "o" & vbCr & "r" & vbCr & vbCr & spt & vbCr & vbCr
    If (ThisDrawing.GetVariable("LASTPROMPT")"已创建 0 个面域。") Then
      MsgBox ThisDrawing.ModelSpace(ThisDrawing.ModelSpace.Count - 1).Perimeter
      ThisDrawing.ModelSpace(ThisDrawing.ModelSpace.Count - 1).Delete
    End If
End Sub

luckyliya 发表于 2006-3-27 22:11:00

我试过了,所有的内部面域都好用,但为什么最外的那个面域求得的结果不对呢,它的周长应该是最大的呀,可结果却是最小的

luckyliya 发表于 2006-3-27 22:13:00

页: [1]
查看完整版本: (求助)有关周长的问题,帮忙看一下代码