ArcGIS Engine怎样对MultiPatch进行旋转操作
1个回答
展开全部
对一个MultiPatch 进行旋转 Private Sub RotateMultipatch() Dim pMultipatch As IMultiPatch '创建一个MultiPatch 要素 Set pMultipatch = createSinglePartMultipatchViaIConstructMultipatch Dim dPi As Double dPi = Atn(1) * 4 Dim pTran3D As ITransform3D Set pTran3D = pMultipatch Dim p3DVect As IVector3D Set p3DVect = New Vector3D p3DVect.SetComponents 0, 0, 100 '将MultiPatch 旋转一定的角度 pTran3D.RotateVector3D p3DVect, dPi / 2 End Sub '创建一个MultiPatch 要素 Private Function createSinglePartMultipatchViaIConstructMultipatch() As IMultiPatch Dim pConstructMultiPatch As IConstructMultiPatch Set pConstructMultiPatch = New MultiPatch Dim pERingColl As IPointCollection Set pERingColl = New Ring Dim pPtE(12) As IPoint Dim i As Long For i = 0 To 12 Set pPtE(i) = New Point Next pPtE(0).PutCoords 0, 0 pPtE(0).Z = 0 pPtE(1).PutCoords 0, 100 pPtE(1).Z = 0 pPtE(2).PutCoords 20, 100 pPtE(2).Z = 0 pPtE(3).PutCoords 20, 80 pPtE(3).Z = 0 pPtE(4).PutCoords 10, 80 pPtE(4).Z = 0 pPtE(5).PutCoords 10, 55 pPtE(5).Z = 0 pPtE(6).PutCoords 15, 55 pPtE(6).Z = 0 pPtE(7).PutCoords 15, 45 pPtE(7).Z = 0 pPtE(8).PutCoords 10, 45 pPtE(8).Z = 0 pPtE(9).PutCoords 10, 20 pPtE(9).Z = 0 pPtE(10).PutCoords 20, 20 pPtE(10).Z = 0 pPtE(11).PutCoords 20, 0 pPtE(11).Z = 0 pPtE(12).PutCoords 0, 0 pPtE(12).Z = 0 pERingColl.AddPoints 13, pPtE(0) Dim pGonColl As IGeometryCollection Set pGonColl = New Polygon pGonColl.AddGeometry pERingColl Dim pZA As IZAware Set pZA = pGonColl pZA.ZAware = True pConstructMultiPatch.ConstructExtrude 10, pGonColl Set createSinglePartMultipatchViaIConstructMultipatch = pConstructMultiPatch End Function
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询