欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

VB.netcad插件,vb插件開(kāi)發(fā)

用VB編寫CAD繪圖插件

操作步驟:

成都創(chuàng)新互聯(lián)主營(yíng)東寶網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開(kāi)發(fā),東寶h5小程序開(kāi)發(fā)搭建,東寶網(wǎng)站營(yíng)銷推廣歡迎東寶等地區(qū)企業(yè)咨詢

一、創(chuàng)建一個(gè)ACTIVEX DLL cadPro工程

二、添加一個(gè)模塊命名為ModCad.代碼如下

Public acadApp As Object

Public acadDoc As Object

(這里建立一個(gè)新塊主要是為了以后在多個(gè)窗體、類或者多個(gè)工程中可以調(diào)用)

二、添加一個(gè)類ClsTest代碼如下:

Public Function MenuMain(MenuIndex As Integer)

'下面的判斷在VB中測(cè)試的時(shí)候可以用到,在生成DLL后VBA調(diào)用時(shí)可注釋

If ModCad.acadApp Is Nothing Or ModCad.acadDoc Is Nothing Then

ConnectToAcad

setApp ModCad.acadApp

setDoc ModCad.acadDoc

End If

Select Case MenuIndex

Case 1

AutoCADTest

Case 2

End Select

End Function

Public Function ConnectToAcad()

On Error Resume Next

Set ModCad.acadApp = GetObject(, "AutoCAD.Application.16.2") '16.2是CAD的版本

If Err Then

Err.Clear

Set ModCad.acadApp = CreateObject("AutoCAD.Application.16.2")

End If

If Err Then

Err.Clear

Set ModCad.acadApp = GetObject(, "AutoCAD.Application")

If Err Then

Err.Clear

Set ModCad.acadApp = CreateObject("AutoCAD.Application")

End If

If Err Then

Unload Me

End If

End If

ModCad.acadApp.Visible = True

Set ModCad.acadDoc = ModCad.acadApp.ActiveDocument

End Function

Public Function setApps(acadObj As AcadApplication)

Set ModCad.acadApp = acadObj

Set ModCad.acadDoc = acadApp.ActiveDocument

End Function

'VB中要在CAD中實(shí)現(xiàn)的功能

Private Function AutoCADTest()

Dim cadLine As AcadLine

Dim cadPoint As Variant

cadPoint = ModCad.acadDoc.Utility.GetPoint(, "請(qǐng)選取一個(gè)插入點(diǎn):")

ModCad.acadDoc.ModelSpace.AddCircle cadPoint, 5

End Function

三、如果要在VB中調(diào)試,在添加一個(gè)EXE工程,引用ACTIVEX工程,添加一個(gè)窗體,在窗體上添加一個(gè)按鈕,

Private Sub Command1_Click()

Dim Rec As New cadPro.MenuMain

Rec.MenuMain 1

End Sub

四、生成DLL文件在VBA中調(diào)用。

在工具----設(shè)定引用項(xiàng)目中加入生成的DLL。代碼如下:

Option Explicit

Private clsGre As New cadPro.ClsTest

Public Sub cadtest()

On Error Resume Next

clsGre.setApp ThisDrawing.Application

clsGre.MenuMain 1

End Sub

按照以上四個(gè)步驟就可實(shí)現(xiàn)VB與AutoCAD的連接。

以上程序在本機(jī)測(cè)試通過(guò)。

OS:winxp sp2 cht

AuotCAD Version:AutoCAD 2006

VS2010中用VB.NET編程添加CAD引用出錯(cuò)!坐等啊!

應(yīng)用程序啟動(dòng)了沒(méi)

dim acadApp As AcadApplication

acadApp = CType(CreateObject("AutoCAD.Application.18"), AcadApplication)

acadApp.Visible = True

啟動(dòng)了CAD才能添加文件,其中18對(duì)應(yīng)的是cad2010,版本不同不一樣。

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

Dim?ppr?As?PromptPointResult?=?ed.GetPoint("請(qǐng)選擇插入點(diǎn):")

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()

'多文檔要先這樣,否則報(bào)至命錯(cuò)誤?

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調(diào)用cad進(jìn)行繪圖

你去查查書(shū)吧,書(shū)上挺詳細(xì)的,在這說(shuō)不好說(shuō),你先在項(xiàng)目里引用。然后 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("不能運(yùn)行AutoCAD,請(qǐng)檢查是否安裝了AutoCAD") Exit Sub End If End If AcadApp.Visible = True '界面可視

本文標(biāo)題:VB.netcad插件,vb插件開(kāi)發(fā)
當(dāng)前路徑:http://chinadenli.net/article29/dseihch.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器用戶體驗(yàn)服務(wù)器托管網(wǎng)站營(yíng)銷網(wǎng)站排名網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站