TIN サーフェスに等高線を追加する

等高線は、図形に沿ったサーフェスの高度を表す開いた図形または閉じた図形です。等高線の高度は一定でなければなりません。後続のポイントに何が指定されているかに関係なく、図形の最初のポイントの z 値が図形全体の高度として使用されます。また、等高線には、サーフェスに追加されるポイントの数を調整する設定も存在します。等高線を作成するときには、間引き距離、間引き角度、および距離パラメータを指定します。ポイントの前後の距離が間引き距離より短い場合、および線分の前後の角度が間引き角度より小さい場合、等高線のポイントが削除されます。各線分セグメントは、補助距離パラメータ以下の長さで等しいセクションに分割されます。図形内の曲線も、ブレークラインと同じよう中央縦距に基づいてモザイク分割されます。補助距離値は、間引き値より優先するので、最終的な等高線にはパラメータより小さい線分セグメントが存在します

間引きおよび等高線の詳細は、「等高線の頂点間引きと頂点補足」( AutoCAD Civil 3D ユーザ ガイド』)を参照してください

TIN サーフェスは、等高線のコレクションを格納した AeccTinSurface.Contours プロパティを備えています。 次の例は、サーフェスに等高線を追加する方法を示しています。

Dim dPoints(0 To 8) As Double ' 3 points
Dim o3DPoly As AcadPolyline
 
dPoints(0) = 2500: dPoints(1) = 1500: dPoints(2) = 100
dPoints(3) = 2600: dPoints(4) = 1600: dPoints(5) = 100
' It does not matter that we specify a Z value of 50. It 
' is still located at an altitude of 100, just like 
' the first point.
dPoints(6) = 2400: dPoints(7) = 1600: dPoints(8) = 50
Set o3DPoly = oAeccDocument.Database.ModelSpace _
  .AddPolyline(dPoints)
o3DPoly.Closed = False
Dim oEntities(0) As AcadEntity
Set oEntities(0) = o3DPoly
 
Dim dWeedDist as Double
Dim dWeedAngle as Double
Dim dDist as Double
Dim dMidOrdDist as Double
dWeedDist = 55.5
dWeedAngle = 0.0698 ' 0.0698 radians = 4 degrees
dDist = 85.5
dMidOrdDist = 1#
Dim oNewContour As AeccSurfaceContour
Set oNewContour = oTinSurf.Contours.Add(oEntities, _
  "Sample Contour", dWeedDist, dWeedAngle, dDist, dMidOrdDist)