ユーザが指定した点を使用して、閉じた領域の面積を取得することができます。
ユーザが指定した 2D 点または 3D 点によって定義された任意の閉じた領域を計測することができます。点は同一平面上でなければなりません。
この例ではユーザに 5 つの点を入力するようプロンプト表示します。そうすると、入力された点からポリラインが作成されます。ポリラインは閉じられており、ポリラインの面積がメッセージ ボックスに表示されます。
Sub Ch3_CalculateDefinedArea() Dim p1 As Variant Dim p2 As Variant Dim p3 As Variant Dim p4 As Variant Dim p5 As Variant ' Get the points from the user p1 = ThisDrawing.Utility.GetPoint(, vbCrLf & "First point: ") p2 = ThisDrawing.Utility.GetPoint(p1, vbCrLf & "Second point: ") p3 = ThisDrawing.Utility.GetPoint(p2, vbCrLf & "Third point: ") p4 = ThisDrawing.Utility.GetPoint(p3, vbCrLf & "Fourth point: ") p5 = ThisDrawing.Utility.GetPoint(p4, vbCrLf & "Fifth point: ") ' Create the 2D polyline from the points Dim polyObj As AcadLWPolyline Dim vertices(0 To 9) As Double vertices(0) = p1(0): vertices(1) = p1(1) vertices(2) = p2(0): vertices(3) = p2(1) vertices(4) = p3(0): vertices(5) = p3(1) vertices(6) = p4(0): vertices(7) = p4(1) vertices(8) = p5(0): vertices(9) = p5(1) Set polyObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(vertices) polyObj.Closed = True ThisDrawing.Application.ZoomAll ' Display the area for the polyline MsgBox "The area defined by the points is " & _ polyObj.Area, , "Calculate Defined Area" End Sub