テレインの断面から 3D ジオメトリを作成

 2016/9/1 (木)    

Sub GetInterpolateShapeFromTerrain()
    Dim pMxDocument As IMxDocument
    Set pMxDocument = ThisDocument
     
    Dim pTerrainLayer As ITerrainLayer2
    Set pTerrainLayer = pMxDocument.FocusMap.Layer(0)
     
    Dim pTerrain As ITerrain2
    Set pTerrain = pTerrainLayer.Terrain
     
    Dim pDynamicSurface As IDynamicSurface3
    Set pDynamicSurface = pTerrain.CreateDynamicSurface
     
     
     
    Dim pEnumGeometry As IEnumGeometry
    Set pEnumGeometry = GetGraphicElements(pMxDocument.FocusMap)
     
    Dim pInputGeometry As IGeometry
    Set pInputGeometry = pEnumGeometry.Next
     
    Dim pInputCurve As ICurve
    Set pInputCurve = pInputGeometry
     
    Dim pInputCurve3D As ICurve3D
    Set pInputCurve3D = pInputGeometry
     
    Debug.Print "Input:", pInputCurve.Length
     
    Dim pOutGeometry As IGeometry
     
     
    Call pDynamicSurface.InterpolateShape(pInputGeometry, 10, esriLinearInterpolation, Nothing, pOutGeometry)
     
     
    Dim pOutCurve3D As ICurve3D
    Set pOutCurve3D = pOutGeometry
     
    Debug.Print "Output:", pOutCurve3D.Length3D
 
End Sub

Copyright© WINGFIELD since1981 , 2018 All Rights Reserved.