加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net二次开发AutoCAD中画圆示例

发布时间:2020-12-16 22:22:18 所属栏目:大数据 来源:网络整理
导读:Imports Autodesk Imports Autodesk.AutoCAD.Interop Imports Autodesk.AutoCAD.Interop.Common imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.Geom

Imports Autodesk
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Geometry

Imports System

Private Sub btnCircle_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnCircle.Click
'定义圆的圆心

Dim center As Point3d = New Point3d(100,100,0)

'定义圆的半径
Dim radius As Double = 50

'定义一个Circle对象来表示你要生成的圆,传入的第二个参数为圆的法向,
'就是把圆生、//成在什么面上,因为AutoCAD程序一般都是平面问题,
'因此你一般都把这个法向量定义成//z轴方向。
Dim circle As Circle
circle = New Circle(center,New Vector3d(0,1),radius)

Dim bt As BlockTable
Dim btr As BlockTableRecord

Dim db As Database
'获得当前活动AutoCAD文档所在的数据库
db = Application.DocumentManager.MdiActiveDocument.Database

'获得事务处理管理器
Dim tm As Autodesk.AutoCAD.DatabaseServices.TransactionManager
tm = db.TransactionManager

'定义事务处理
Dim trans As Transaction

Try
'开始事务处理,也就是往CAD中加入东西
trans = tm.StartTransaction
bt = tm.GetObject(db.BlockTableId,OpenMode.ForRead,False)

'获得块表记录
btr = tm.GetObject(bt(BlockTableRecord.ModelSpace),OpenMode.ForWrite,False)

'向块表记录加入圆的相关信息
btr.AppendEntity(Circle)

'向AutoCAD加入圆
tm.AddNewlyCreatedDBObject(Circle,True)

trans.Commit()

Catch ex As Exception
Throw New ApplicationException(ex.Message)
End Try

end sub

(参照了明经通道里的二次开发相关内容)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读