网站首页 > 文章中心 > 其它

vb.netcad连接

作者:小编 更新时间:2023-09-09 18:37:41 浏览量:240人看过

vb.net打开cad画图的问题?

你去查查书吧,书上挺详细的,在这说不好说,你先在项目里引用.然后 Dim acadapp As AcadApplication Dim acaddoc As AcadDocument On Error Resume Next AcadApp = GetObject(, "AutoCAD.Application") If Err.Number Then Err.Clear() AcadApp = CreateObject("AutoCAD.Application") If Err.Number Then MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可视

VB2010版中怎么用用OLE控件连接CAD软件,显示CAD图形?会的给段代码

下面的代码是用PictureBox控件显示CAD的DWG文件

Private?Structure?BITMAPFILEHEADER

Dim?bfType?As?Short

Dim?bfSize?As?Integer

Dim?bfReserved1?As?Short

Dim?bfOffBits?As?Integer

End?Structure

Public?Function?GetDwgImage(ByVal?FileName?As?String)?As?Image

If?Not?File.Exists(FileName)?Then?Exit?Function

Dim?DwgF?As?FileStream?'文件流

Dim?PosSentinel?As?Integer?'文件描述块的位置

Dim?br?As?BinaryReader?'读取二进制文件

Dim?TypePreview?As?Integer?'缩略图格式

Dim?PosBMP?As?Integer?'缩略图位置

Dim?LenBMP?As?Integer?'缩略图大小

Dim?biBitCount?As?Short?'缩略图比特深度

Dim?biH?As?BITMAPFILEHEADER?'BMP文件头,DWG文件中不包含位图文件头,要自行加上去

Dim?BMPInfo()?As?Byte?'包含在DWG文件中的BMP文件体

Dim?BMPF?As?New?MemoryStream?'保存位图的内存文件流

Dim?bmpr?As?New?BinaryWriter(BMPF)?'写二进制文件类

Dim?myImg?As?Image

Try

DwgF?=?New?FileStream(FileName,?FileMode.Open,?FileAccess.Read)?'文件流

br?=?New?BinaryReader(DwgF)

Select?Case?TypePreview

Case?1

DwgF.Seek(PosBMP,?SeekOrigin.Begin)?'从位图块开始处读取全部位图内容备用

BMPInfo?=?br.ReadBytes(LenBMP)?'不包含文件头的位图信息

br.Close()

DwgF.Close()

With?biH?'建立位图文件头

.bfReserved1?=?0?'保留字节

End?With

'以下开始写入位图文件头

bmpr.Write(biH.bfType)?'文件类型

bmpr.Write(biH.bfSize)?'文件大小

bmpr.Write(biH.bfReserved1)?'0

bmpr.Write(biH.bfOffBits)?'图像数据偏移

bmpr.Write(BMPInfo)?'写入位图

BMPF.Seek(0,?SeekOrigin.Begin)?'指针移到文件开始处

myImg?=?Image.FromStream(BMPF)?'创建位图文件对象

Return?myImg

bmpr.Close()

BMPF.Close()

End?Select

Catch?ex?As?Exception

Return?Nothing

End?Try

End?Function

VB.Net读取AutoCAD图纸

如果可以的话请把分给我

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

On Error Resume Next

Dim acadapp As Autodesk.AutoCAD.Interop.AcadApplication

acadapp = GetObject(vbNullString, "autoCAD.application")

Dim acaddoc As Autodesk.AutoCAD.Interop.AcadDocument

acaddoc = acadapp.ActiveDocument

Dim Ms As Autodesk.AutoCAD.Interop.Common.AcadModelSpace

Ms = acaddoc.ModelSpace

Dim acadObjectI As Autodesk.AutoCAD.Interop.Common.AcadObject

Dim Linei As Autodesk.AutoCAD.Interop.Common.AcadLine

Dim Circlei As Autodesk.AutoCAD.Interop.Common.AcadCircle

Dim Polylinei As Autodesk.AutoCAD.Interop.Common.AcadPolyline

Dim pt As Autodesk.AutoCAD.Interop.Common.AcadPoint

For Each acadObjectI In Ms

Debug.Print(acadObjectI.ObjectName)

Select Case acadObjectI.ObjectName

Case "AcDbLine"

Linei = acadObjectI

Debug.Print("X =" Linei.StartPoint(0).ToString)

Debug.Print("Y =" Linei.StartPoint(1).ToString)

Case ""

End Select

Next

End Sub

VB.NET连接AutoCAD出错

这个是vb.net教材里面的吧,我也是前两天刚下的.遇到类似的问题,下面是我的解决办法

首先要参考引用Autodesk.AutoCAD.Interop.dll还有Autodesk.AutoCAD.Interop.Common.dll

'Dim AcadApp As AutoCAD.AcadApplication

Dim AcadApp As Autodesk.AutoCAD.Interop.AcadApplication

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Call 连接AutoCAD()

Sub 连接AutoCAD()

AcadApp = GetObject(, "AutoCAD.Application")

If Err.Number Then

Err.Clear()

AcadApp = CreateObject("AutoCAD.Application")

MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD")

Exit Sub

End If

AcadApp.Visible = True '界面可视

'AcadApp.WindowState = AutoCAD.AcWindowState.acMax '界面最大化

AcadApp.WindowState = Autodesk.AutoCAD.Interop.Common.AcWindowState.acMax

AppActivate(AcadApp.Caption) '显示AutoCAD界面

以上就是土嘎嘎小编为大家整理的vb.netcad连接相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章