TransformBy旋转、移动对象

   Dim L1 As New DatabaseServices.Line(P1, P3)
   
   Dim angle As Double = New DatabaseServices.Line(ppr1.Value, ppr2.Value).Angle - Math.PI / 4

   Dim vector As New Geometry.Vector3d(0, 0, 1)

   Dim Matrix3d As Geometry.Matrix3d = Geometry.Matrix3d.Rotation(angle, vector, ppr1.Value)

   L1.TransformBy(Matrix3d)

 2、移动对象

   dim p1 as point3d
   dim p2 as point3d

Dim M3D As Matrix3d = Matrix3d.Displacement(p1.GetVectorTo(p2))

                Using ent As Entity = DirectCast(tr.GetObject(entId, OpenMode.ForWrite), Entity)
                    ent.TransformBy(M3D)
                End Using

 

posted @ 2020-11-07 05:01  rf8862  阅读(278)  评论(0编辑  收藏  举报