999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談?dòng)肰B.NET實(shí)現(xiàn)AutoCAD和DB2數(shù)據(jù)庫(kù)的連接

2014-12-23 14:53:03成金鳳談景堯
中國(guó)科技縱橫 2014年24期
關(guān)鍵詞:程序數(shù)據(jù)庫(kù)設(shè)計(jì)

成金鳳 談景堯

(天津開(kāi)發(fā)區(qū)海寧船舶工程技術(shù)有限公司,天津 300457)

淺談?dòng)肰B.NET實(shí)現(xiàn)AutoCAD和DB2數(shù)據(jù)庫(kù)的連接

成金鳳 談景堯

(天津開(kāi)發(fā)區(qū)海寧船舶工程技術(shù)有限公司,天津 300457)

長(zhǎng)期應(yīng)用Autocad進(jìn)行設(shè)計(jì)工作的人員經(jīng)常需要對(duì)設(shè)計(jì)圖紙中桿件進(jìn)行匯總分析,而將這些桿件用Autocad繪制成圖塊,再將圖塊的屬性值輸入到數(shù)據(jù)庫(kù)后進(jìn)行匯總、分析,將會(huì)大大節(jié)省設(shè)計(jì)人員的設(shè)計(jì)時(shí)間,提高工作效率和工作質(zhì)量。本文主要討論的是如何用VB.NET開(kāi)發(fā)AutoCAD和DB2數(shù)據(jù)庫(kù),實(shí)現(xiàn)AutoCAD和DB2數(shù)據(jù)庫(kù)的連接。

Autocad VB.NET DB2數(shù)據(jù)庫(kù)

眾所周知,對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)用到的主要工具有ObjectARX、VBA和LISP,但它們的優(yōu)缺點(diǎn)也是顯而易見(jiàn)的:ObjectARX功能強(qiáng)大,編程效率高,但對(duì)于編程者必須掌握VC++,而這門語(yǔ)言非常難學(xué);VBA和LISP語(yǔ)言雖然簡(jiǎn)單易于上手,但他們對(duì)開(kāi)發(fā)大型的程序好像無(wú)能為力,而.NET則結(jié)合了VC++功能強(qiáng)大與VBA易學(xué)易用的特點(diǎn),可以快速的開(kāi)發(fā)出功能強(qiáng)大的AutoCAD程序。

1 開(kāi)發(fā)環(huán)境的搭建

AutoCAD從2005版本開(kāi)始,加入了對(duì).net的支持,這說(shuō)明AutoCAD本身的一些功能也是使用.NET來(lái)開(kāi)發(fā)的,本文使用的是AutoCAD 2010版本。

安裝完AutoCAD以后,還必須安裝.NET開(kāi)發(fā)工具,.NET開(kāi)發(fā)工具很多,但功能最強(qiáng)大的莫過(guò)于微軟的Visual Studio,本文使用VS2010版本。.NET開(kāi)發(fā)語(yǔ)言有C#、VB.NET、托管C++等,本文采用的開(kāi)發(fā)語(yǔ)言是VB.NET。

最后安裝DB2數(shù)據(jù)庫(kù)。DB2數(shù)據(jù)庫(kù)主要應(yīng)用于大型應(yīng)用系統(tǒng),具有較好的可伸縮性,可支持從大型機(jī)到單用戶環(huán)境。本文采用的數(shù)據(jù)庫(kù)是DB2 Express C,它提供了DB2的大多數(shù)功能。

2 程序描述

本文以在AutoCAD命令行內(nèi)顯示數(shù)據(jù)庫(kù)的連接狀態(tài)來(lái)討論.NET開(kāi)發(fā)AutoCAD,實(shí)現(xiàn)AutoCAD與DB2數(shù)據(jù)庫(kù)的連接。在本文中,使用VS2010來(lái)創(chuàng)建一個(gè)新的類庫(kù)項(xiàng)目,通過(guò)這個(gè)項(xiàng)目可以生成一個(gè)能被Autocad加載的dll文件,此文件會(huì)向Autocad中加入一個(gè)名為acd的新命令,當(dāng)執(zhí)行這個(gè)命令后,如果AutoCAD已經(jīng)連接上DB2數(shù)據(jù)庫(kù)則會(huì)在命令行中顯示“Open”,否則顯示“數(shù)據(jù)庫(kù)連接錯(cuò)誤”。

3 開(kāi)發(fā)程序步驟

(1)新建項(xiàng)目。啟動(dòng)VS2010,選擇“文件”中“新建項(xiàng)目”菜單,在項(xiàng)目類型中選擇VB語(yǔ)言,然后在模板列表中選擇“類庫(kù)”項(xiàng)目,輸入項(xiàng)目名稱“CADConnectDB2”,單擊“確定’創(chuàng)建項(xiàng)目。

(2)添加對(duì)Autocad程序集的引用。在解決方案資源管理器中鼠標(biāo)右鍵單擊項(xiàng)目名,選擇“添加引用”菜單,在彈出的對(duì)話框中加入acdbmgd.dll和acmgd.dll,然后在項(xiàng)目“屬性”面板中選擇“引用”選項(xiàng)卡,將acdbmgd.dll和acmgd.dll的“復(fù)制本地”屬性值設(shè)置為“FALSE”即可。

(3)編寫AutoCAD程序。首先導(dǎo)入CAD.NET托管封裝類。在Class1類的聲明語(yǔ)句之前導(dǎo)入ApplicationServices,EditorInput和Runtime這三個(gè)命名空間,代碼如下:

Imports Autodesk. AutoCAD. ApplicationServices

Imports Autodesk. AutoCAD. EditorInput

Imports Autodesk. AutoCAD. Runtime

然后加入AutoCAD調(diào)用的命令,必須使用CommandMethod屬性,這個(gè)屬性由Runtime命名空間提供。

<CommandMethod(“ACD”)>_

Public sub CADConnectDB2()

End Sub

最后編寫連接DB2數(shù)據(jù)庫(kù)的程序。首先引入命名空間:Imports System.Data.Oledb,然后創(chuàng)建OledbConnection對(duì)象。程序如下:

‘獲得AutoCAD當(dāng)前活動(dòng)文檔的Editor對(duì)象

Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor

‘聲明connection對(duì)象

Dim conn As OleDbConnection

Try

conn = New OleDbConnection()

conn.ConnectionString =quot;Provider=IBMDADB2.1;User ID=quot;quot;;Password=quot;quot;;_

Data Source=samplequot;

conn.Open()

Ed.WriteMessage (conn.State.ToString)

conn.Close()

Catch

ed.WriteMessage(quot;數(shù)據(jù)庫(kù)連接錯(cuò)誤quot;)

End Try

(4)啟動(dòng)AutoCAD2010進(jìn)程。在解決方案管理器中右鍵單擊項(xiàng)目名,然后選擇“屬性”菜單項(xiàng)。在項(xiàng)目的屬性頁(yè)對(duì)話框中選擇“調(diào)試”選項(xiàng)卡,在“啟動(dòng)操作”項(xiàng)目中單擊“啟動(dòng)外部程序”項(xiàng)右邊的省略號(hào)按鈕,然后選擇AutoCAD2010安裝目錄下的acad.exe.

(5)編譯程序。按F5鍵或選擇工具欄中的“調(diào)試”來(lái)啟動(dòng)一個(gè)AutoCAD進(jìn)程,生成一個(gè)CADConnectDB2.dll文件。

(6)運(yùn)行程序。在AutoCAD命令行中執(zhí)行NETLOAD命令,加載編譯好的托管程序,然后在命令行中輸入命令acd,并按下Enter鍵,如果AutoCAD已經(jīng)連接上DB2數(shù)據(jù)庫(kù)則會(huì)在命令行中顯示“Open”,否則在命令行中顯示“數(shù)據(jù)庫(kù)連接錯(cuò)誤”。

4 結(jié)語(yǔ)

本文簡(jiǎn)單介紹了用VB.NET開(kāi)發(fā)AutoCAD,實(shí)現(xiàn)AutoCAD與DB2數(shù)據(jù)庫(kù)的連接。在命令行中輸入VB.NET開(kāi)發(fā)的AutoCAD命令后,AutoCAD卻沒(méi)有執(zhí)行該命令,而提示該命令為未知命令,出現(xiàn)這種情況的原因是未將添加的acdbmgd.dll和acmgd.dll這兩個(gè)程序集的“復(fù)制本地”屬性值設(shè)置為“FALSE”。

[1]石志國(guó),劉冀偉,張維存.VB.NET數(shù)據(jù)庫(kù)編程.清華大學(xué)出版社,北京交通大學(xué)出版社.

[2]曾洪飛,張帆,盧擇臨.AutoCAD VBAamp;VB.NET開(kāi)發(fā)基礎(chǔ)與實(shí)例教程.中國(guó)電力出版社.

成金鳳(1985—),女,河北藁城人,本科,主要從事船舶及海洋工程的詳細(xì)設(shè)計(jì)和生產(chǎn)設(shè)計(jì)工作;談景堯(1984—),男,天津人,大專,主要從事船舶及海洋工程的詳細(xì)設(shè)計(jì)和生產(chǎn)設(shè)計(jì)工作。

猜你喜歡
程序數(shù)據(jù)庫(kù)設(shè)計(jì)
試論我國(guó)未決羈押程序的立法完善
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
“程序猿”的生活什么樣
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 亚洲成在人线av品善网好看| 精品久久人人爽人人玩人人妻| 久青草免费视频| 自拍偷拍欧美| 欧美怡红院视频一区二区三区| 久久精品亚洲专区| 久久久久久久97| 亚洲天堂区| 亚洲天堂视频网| 亚洲视频一区| 日韩欧美国产综合| 国产成人成人一区二区| 热99精品视频| 波多野结衣中文字幕一区二区 | 91亚洲国产视频| 日日噜噜夜夜狠狠视频| 中文字幕在线永久在线视频2020| 国产95在线 | 国产日韩欧美在线视频免费观看| 国产精品成人第一区| 一级在线毛片| 精品视频一区在线观看| 欧美久久网| 99在线视频免费观看| 国产不卡在线看| 亚洲欧美日韩成人高清在线一区| 99视频免费观看| 激情综合图区| 亚洲福利一区二区三区| 亚洲AV人人澡人人双人| 综合久久五月天| 在线va视频| 亚洲综合精品香蕉久久网| 国产乱子伦一区二区=| 自拍偷拍欧美| 一区二区三区精品视频在线观看| 亚洲成a人片7777| 精品国产美女福到在线不卡f| 久草视频精品| 青青青国产免费线在| 亚洲最大情网站在线观看| 日韩精品一区二区三区视频免费看| 国产在线观看精品| 自拍中文字幕| 真实国产乱子伦高清| 色呦呦手机在线精品| 国产jizz| 国产精品一线天| 精品国产免费观看一区| 97国产精品视频自在拍| 国产真实乱人视频| 久久久91人妻无码精品蜜桃HD| 久久亚洲日本不卡一区二区| 亚洲高清在线天堂精品| 欧美黄网站免费观看| 狠狠色成人综合首页| 国产精品三级专区| 亚洲一道AV无码午夜福利| 情侣午夜国产在线一区无码| 欧美国产视频| 99热这里只有精品在线播放| 精品国产Av电影无码久久久| 午夜福利在线观看成人| 国产成+人+综合+亚洲欧美| 亚洲永久精品ww47国产| 成年人国产视频| 99re热精品视频中文字幕不卡| 亚洲午夜18| 91蜜芽尤物福利在线观看| 最新国产网站| 国产午夜小视频| 国产网站一区二区三区| 国产成人精品一区二区不卡| 国产精品久久自在自线观看| 国产无码制服丝袜| 91精品啪在线观看国产60岁| 日本91在线| 日韩欧美国产成人| 天天色天天综合| 蝴蝶伊人久久中文娱乐网| 国产午夜一级毛片| 国产精品视屏|