土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ VB.Net开发AutoCAD的

VB.Net开发AutoCAD的

发布于:2006-11-08 19:45:08 来自:建筑设计/CAD下载及教程 [复制转发]
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

全部回复(2 )

只看楼主 我来说两句抢地板
  • fly_902
    fly_902 沙发
    楼上的, 不要发这些无聊的东西, 这些在官方教程里都有,再拷贝过来有什么意思啊!
    2007-03-09 13:56:09

    回复 举报
    赞同0
  • libyan
    libyan 板凳
    我是看不懂这东西
    2006-11-14 09:19:14

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 662 人订阅

猜你喜欢

阅读下一篇

CAD图如何转到word里

很多时候我都想把CAD画的图调到word里面,如果直接复制、粘贴的话好象图片不清晰,而且只要双击图片总会打开CAD窗口,编辑起来很麻烦。各位会碰到这样的情况吗?你们是如何处理的。翻了半天都没见到这方面的东西。

回帖成功

经验值 +10