vb.net打開cad圖 打開vb說要安裝CAD

VB2010版中怎么用用OLE控件連接CAD軟件,顯示CAD圖形?會的給段代碼

vb2010(vb.net)貌似已經沒有OLE控件

創新互聯公司是一家專注于做網站、成都做網站與策劃設計,中原網站建設哪家好?創新互聯公司做網站,專注于網站建設十年,網設計領域的專業建站公司;建站業務涵蓋:中原等地區。中原做網站價格咨詢:028-86922220

下面的代碼是用PictureBox控件顯示CAD的DWG文件

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

怎么用vb在cad里畫圖??? 求高手幫助,再給推薦點資料。謝謝!

' 首先在工程里引用 AutoCAD 類型庫,例如 CAD2004的 “AutoCAD 2004 Type Library”

' 下面的代碼在CAD里畫一個圓,圓心在(100,100,0)處,半徑為 50

Dim Acadapp As AcadApplication

On Error Resume Next

Set Acadapp = GetObject(, "AutoCAD.Application") ' 連接 CAD

If Err Then

Err.Clear

Set Acadapp = CreateObject("AutoCAD.Application") ' 如果CAD沒有打開,則打開一個新的CAD

If Err Then

MsgBox Err.Description ' 如果打開CAD失敗顯示錯誤信息

Exit Sub

End If

End If

Dim circleObj As AcadCircle

Dim point1(0 To 2) As Double, dR As Double

point1(0) = 100#: point1(1) = 100#: point1(2) = 0# ' 定義圓心坐標

dR = 50# ' 定義圓半徑

Set circleObj = Acadapp.ActiveDocument.ModelSpace.AddCircle(point1, dR) '按定義圓心和半徑畫出一個圓

想要更詳細的學習,建議看CAD幫助里的 VBA 部分。

急求!用vb.net提取autocad的結點坐標!

CAD里的結點是什么信息了,要輸出世界坐標還是用戶坐標,最好把CAD文件發上來,不清楚怎么有人能幫你??

如何用vb.net編程在cad圖形中插入dwg圖塊?

Dim?ppr?As?PromptPointResult?=?ed.GetPoint("請選擇插入點:")

Dim?pt?As?Point3d?=?ppr.Value

utility.WriteToEditor(pt.ToString())

Dim?pidBlock?As?New?PIDBlock()

'自己定義的圖塊類,保存圖塊的路徑和名稱?

pidBlock.Name?=?"sample"

pidBlock.Path?=?blockPath??"b_sample.dwg"

Using?blkDb?As?New?Database(False,?True)

'read?drawing?

blkDb.ReadDwgFile(pidBlock.Path,?System.IO.FileShare.Read,?True,?Nothing)

blkDb.CloseInput(True)

Using?docLock?As?DocumentLock?=?doc.LockDocument()

'多文檔要先這樣,否則報至命錯誤?

Using?t?As?Transaction?=?doc.TransactionManager.StartTransaction()

'insert?it?as?a?new?block?

Dim?idBTR?As?ObjectId?=?doc.Database.Insert(pidBlock.Name,?blkDb,?False)

'create?a?ref?to?the?block?

Dim?bt?As?BlockTable?=?DirectCast(t.GetObject(doc.Database.BlockTableId,?OpenMode.ForRead),?BlockTable)

Dim?btr?As?BlockTableRecord?=?DirectCast(t.GetObject(bt(BlockTableRecord.ModelSpace),?OpenMode.ForWrite),?BlockTableRecord)

Using?bref?As?New?BlockReference(pt,?idBTR)

btr.AppendEntity(bref)

t.AddNewlyCreatedDBObject(bref,?True)

End?Using

t.Commit()

End?Using

End?Using

End?Using

網站名稱:vb.net打開cad圖 打開vb說要安裝CAD
網站地址:http://m.kartarina.com/article38/hgjppp.html

成都網站建設公司_創新互聯,為您提供云服務器動態網站外貿建站商城網站自適應網站全網營銷推廣

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
主站蜘蛛池模板: 国产精品无码一区二区三区在| 精品人妻大屁股白浆无码| 国产精品无码亚洲一区二区三区| 人妻无码αv中文字幕久久琪琪布| 亚洲va中文字幕无码久久不卡| 办公室丝袜激情无码播放| 人妻丰满熟妞av无码区| 一本之道高清无码视频| 免费无码VA一区二区三区| 永久无码精品三区在线4| 亚洲天然素人无码专区| 日韩av无码中文无码电影| 免费无码黄十八禁网站在线观看 | 久久久久无码精品国产| 无码射肉在线播放视频| 精品亚洲成在人线AV无码| 最新国产AV无码专区亚洲| 国产成人无码区免费A∨视频网站 国产成人无码午夜视频在线观看 国产成人无码精品一区不卡 | 13小箩利洗澡无码视频网站免费| 亚洲av永久无码| 午夜福利无码不卡在线观看| 国产精品亚洲а∨无码播放麻豆| 亚洲AV无码成人精品区在线观看| 激情无码亚洲一区二区三区 | 国产AV无码专区亚洲A∨毛片| 亚洲中文字幕无码av| 久久久久久亚洲av成人无码国产| 无码国产精品一区二区免费式直播 | 久久亚洲AV成人无码国产最大| 人妻精品久久无码区| 中文字幕无码精品亚洲资源网久久| 免费无码av片在线观看| 亚洲AⅤ永久无码精品AA| 欧日韩国产无码专区| 天堂无码在线观看| 免费无遮挡无码永久在线观看视频| 精品无码国产自产在线观看水浒传 | 高清无码午夜福利在线观看| 亚洲AV无码专区国产乱码电影| 中文字幕人成无码人妻| 亚洲日韩精品无码专区加勒比☆ |