停了N长时间的VB.Net开发AutoCAD,我又开始重新学习了,希望这次能够坚持下去。
这一次,对照教材开始创建实体对象。
以下是代码和效果:
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.Runtime
Public Class Class1
'创建直线的命令
<CommandMethod("FirstLine")> Public Sub TestLine()
'得到当前文档的数据库对象
Dim Db As Database = HostApplicationServices.WorkingDatabase
'定义直线对象的起点
Dim Pt1 As New Point3d(300, 100, 0)
'定义直线兑现的重点
Dim Pt2 As New Point3d(900, 500, 0)
'在内存中创建一个直线对象
Dim LineEnt As New Line(Pt1, Pt2)
Using Trans As Transaction = Db.TransactionManager.StartTransaction()
'以只读方式打开块表
Dim Bt As BlockTable = Trans.GetObject(Db.BlockTableId, OpenMode.ForRead)
'以写方式打开模型空间块表记录
Dim Btr As BlockTableRecord = Trans.GetObject(Bt.Item(BlockTableRecord.ModelSpace), OpenMode.ForWrite)
'将图形对象的信息添加到块表记录中,并返回ObjectId对象
Btr.AppendEntity(LineEnt)
'把直线添加到事务处理中
Trans.AddNewlyCreatedDBObject(LineEnt, True)
'提交事务处理
Trans.Commit()
End Using
End Sub
End Class
呵呵,最简单最简单的,可是谁写程序不是从“Hello world”开始的呢!加油!