创建直线(Line),PolyLine,及三维多线段(PolyLine3d)

来源:互联网 发布:古墓丽影9 mac 种子 编辑:程序博客网 时间:2024/04/29 23:17
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Geometry


Public Class Class1

 

    <CommandMethod("AddLines")> _

    Public Sub AddLines()


        Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZcDB As Database = ZcDoc.Database
        Using ZcTran As Transaction = ZcDB.TransactionManager.StartTransaction
            Dim ZcBLT As BlockTable = ZcTran.GetObject(ZcDB.BlockTableId, OpenMode.ForRead)
            Dim ZcBLTR As BlockTableRecord = ZcTran.GetObject(ZcBLT(BlockTableRecord.ModelSpace), OpenMode.ForWrite)


            Dim line As Line = New Line(New Point3d(0, 0, 0), New Point3d(10, 10, 0))
            ZcBLTR.AppendEntity(line)
            ZcTran.AddNewlyCreatedDBObject(line, True)


            Dim LWline As Polyline = New Polyline()
            LWline.AddVertexAt(0, New Point2d(20, 20), 0, 0, 0)
            LWline.AddVertexAt(1, New Point2d(15, 210), 0, 0, 0)
            LWline.AddVertexAt(2, New Point2d(120, 320), 0, 0, 0)
            ZcBLTR.AppendEntity(LWline)
            ZcTran.AddNewlyCreatedDBObject(LWline, True)


            Dim pts As Point3dCollection = New Point3dCollection
            pts.Add(New Point3d(15, 15, 0))
            pts.Add(New Point3d(125, 135, 0))
            pts.Add(New Point3d(115, 515, 0))


            Dim ThrDline As Polyline3d = New Polyline3d(Poly3dType.SimplePoly, pts, True)
            ZcBLTR.AppendEntity(ThrDline)
            ZcTran.AddNewlyCreatedDBObject(ThrDline, True)


            ZcTran.Commit()
        End Using




        ZcDoc.SendStringToExecute("_.ZOOM _E ", True, False, False)




    End Sub


End Class