VB.Net开发AutoCAD的
xia149
xia149 Lv.2
2006年11月08日 19:45:41
只看楼主

Imports Autodesk.AutoCAD.RuntimeImports Autodesk.AutoCAD.ApplicationServicesImports Autodesk.AutoCAD.DatabaseServicesImports Autodesk.AutoCAD.GeometryImports Autodesk.AutoCAD.EditorInputPublic Class hackeruler

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.EditorInput

Public Class hackeruler
<CommandMethod("test1")> _
Public Sub CreateEmployee1() ’首先声明我们要使用的对象
MsgBox("湖南省公路设计有限公司", , "hackeruler")
Dim li As Line ’这个是我们要加入到模型空间
Dim btr As BlockTableRecord ’我们必须打开模型空间
Dim bt As BlockTable ’要打开模型空间,我们必须通过块表(BlockTable)来访问它
’我们使用一个名为‘Transaction’的对象,把函数中有关数据库的操作封装起来
Dim trans As Transaction
’使用TransactionManager的StartTransaction()成员来开始事务处理
trans = HostApplicationServices.WorkingDatabase().TransactionManager.StartTransaction()
li = New Line(New Point3d(0, 0, 0), New Point3d(2, 2, 0))
’我们需要获得块表和模型空间对象
’注意我们是用事务处理的成员GetObject来获取它们的
bt = trans.GetObject(HostApplicationServices.WorkingDatabase.BlockTableId, OpenMode.ForRead)
’现在,我们声明了一个ObjectId对象用来表示模型空间块表记录…
Dim btrId As ObjectId = bt.Item(BlockTableRecord.ModelSpace)
’使用这个ObjectId对象来获取块表记录对象–注意我们是打开它用来写入
btr = trans.GetObject(btrId, OpenMode.ForWrite)
’现在使用btr对象来加入直线
btr.AppendEntity(li)
trans.AddNewlyCreatedDBObject(li, True) ’ 并确定事务处理知道要加入直线!
trans.Commit() ’ 一旦完成以上操作,我们就提交事务处理,这样以上所做的改变就被保存了……
trans.Dispose() ’ …然后销毁事务处理,因为我们已经完成了相关的操作(事务处理不是数据库驻留对象,可以销毁)
End Sub
免费打赏
libyan
2006年11月14日 09:19:29
2楼
我是看不懂这东西
回复
fly_902
2007年03月09日 13:56:29
3楼
楼上的, 不要发这些无聊的东西, 这些在官方教程里都有,再拷贝过来有什么意思啊!
回复

相关推荐

APP内打开