网站建设资讯

NEWS

网站建设资讯

vb.net中dxf的简单介绍

在vs2012下,vb.net中点击一个按钮,就会打开一个指定位置的cad图形,然后可以在里面画图,

你是要操作cad文件?网上有操作dxf或dwg格式的代码,你看看dxf的格式吧,是明码的。

专业领域包括网站制作、成都网站制作、商城网站定制开发、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联公司的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。

简单的点线这些好实现,但要尺寸标注或其它的就要麻烦些

vb.net如何在编程中获取CAD对象的DXF组码

感觉 vb.net对象中根本不存在组码这个东西,一切皆对象。直接遍历访问,要对应组码有何用?如果你想获取组码一句简单lsp语句就行了。

vb.net能否生成dxf文件?

从你贴的链接教程来看,所谓的dxf文件本质上就是文本文件,因此扩展名可以是任意的,完全没问题。

VB.net 导入DXF文件

Imports System.IO

Imports System.Drawing

Public Class PreViewDWG

Private Structure BITMAPFILEHEADER

Dim bfType As Short

Dim bfSize As Integer

Dim bfReserved1 As Short

Dim bfReserved2 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)

DwgF.Seek(13, SeekOrigin.Begin) '从第十三字节开始读取

PosSentinel = br.ReadInt32 '第13到17字节指示缩略图描述块的位置

DwgF.Seek(PosSentinel + 30, SeekOrigin.Begin) '将指针移到缩略图描述块的第31字节

TypePreview = br.ReadByte '第31字节为缩略图格式信息,2 为BMP格式,3为WMF格式

Select Case TypePreview

Case 1

Case 2, 3

PosBMP = br.ReadInt32 'DWG文件保存的位图所在位置

LenBMP = br.ReadInt32 '位图的大小

DwgF.Seek(PosBMP + 14, SeekOrigin.Begin) '移动指针到位图块

biBitCount = br.ReadInt16 '读取比特深度

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

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

br.Close()

DwgF.Close()

With biH  '建立位图文件头

.bfType = H4D42

If biBitCount  9 Then .bfSize = 54 + 4 * (2 ^ biBitCount) + LenBMP Else .bfSize = 54 + LenBMP

.bfReserved1 = 0 '保留字节

.bfReserved2 = 0 '保留字节

.bfOffBits = 14 + H28 + 1024 '图像数据偏移

End With

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

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

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

bmpr.Write(biH.bfReserved1) '0

bmpr.Write(biH.bfReserved2) '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

End Class

vb.net如何在编程中获取CAD对象的DXF组码求解答

感觉 vb.net对象中根本不存在组码这个东西,一切皆对象。直接遍历访问,要对应组码有何用?如果你想获取组码一句简单lsp语句就行了。


分享标题:vb.net中dxf的简单介绍
本文来源:http://njwzjz.com/article/dodoodd.html