'给efan2000 2004-1-3 17:01:54)的程序稍微修改一下,效果更佳
Sub mj() '计算闭合实体面积的小程序 ' 当前图纸的实体数目 Dim n As Long Dim txtobj As AcadText Dim ss As String n = ThisDrawing.ModelSpace.Count ' 调用BOUNDARY命令获取某一点处的边界 Dim Pt As Variant Pt = ThisDrawing.Utility.GetPoint(, "指定内部点: ") ThisDrawing.SendCommand "_-Boundary" & vbCr & Pt(0) & "," & Pt(1) & vbCr & vbCr ' 如果存在边界,则会生成新的实体 Dim lwpLineObj As AcadLWPolyline If ThisDrawing.ModelSpace.Count > n Then Set lwpLineObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1) ss = "面积=" & lwpLineObj.Area & "(平方米)" MsgBox ss Set txtobj = ThisDrawing.ModelSpace.AddText(ss, Pt, 1.5) lwpLineObj.Delete Else MsgBox "未发现有效的边界。" End If
End Sub
|