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

基于數據庫模式的圖形開發與應用

2011-06-30 10:46:48李榮川
江蘇船舶 2011年3期
關鍵詞:數據庫模型

陳 寧,李榮川,2

(1.江蘇科技大學船舶與海洋工程學院,江蘇 鎮江 212003;2.92538部隊,遼寧 大連 116041)

0 引言

在以AutoCAD為平臺的工程制圖過程中,圖形的引用與圖形信息統計是一項繁瑣的工作。盡管其為此提供了塊的解決圖形引用的問題,但其操作不夠簡單快捷,而且不能實現將圖形塊保存到統一的圖形數據庫中,以方便其他工程人員的引用。而對于圖形信息的統計,作為AutoCAD本身更是無法做到。可見,如何做到方便快速的生成圖形、插入圖形、統計圖形信息成為提高繪圖效率的關鍵所在。二次開發能夠提高工作效率和減輕工作量,其開放式結構能滿足不同專業的需要,來實現設計中的應用,達到改進和加強 AutoCAD功能的目的[1]。因此,在建立統一的圖形數據庫的基礎上對AutoCAD進行二次開發成為了提高繪圖效率的有效途徑。通過VBA(Visual Basic For Application)可以用ActiveX技術對AutoCAD進行二次開發,且其與其他二次開發工具相比,VBA具有突出的優點:①應用程序運行速度快;②其編程語言和開發環境簡單;③與Windows交互性好[2]。利用VBA與數據庫相結合的模式對AutoCAD進行二次開發,不但可以方便地將具有屬性的圖形保存到統一的圖形數據庫下,而且可以實現方便快速地插入數據庫中的圖形,并且還能夠將圖形的操作記錄及屬性保存到記錄數據庫中。通過讀取處理記錄數據庫中的信息,不僅可以達到實現對圖形統計的目的,還能夠結合一定的程序自動生成明細表。

1 系統結構設計

系統針對的是在AutoCAD平臺下如何實現圖形數據庫的創建、圖形的插入與記錄及圖框和明細表的自動生成3個功能。采用VBA與通用性較好的Microsoft Access工具進行聯合開發,并在實物關系模型基礎上建立數據庫,并以相關關系運算為指導,采用ADO技術實現VBA與Microsoft Access數據庫之間的通信,最終分別以3個VBA工程來實現要達到的3個功能,從而實現程序設計的要求。系統結構設計圖如圖1所示。

2 數據庫關系模型建立與相關關系運算

基于集合理論,數據庫系統的關系模型要以嚴格的數學概念為基礎,具有嚴格的數學定義和完整的數學結構,還要能夠進行查尋、插入、修改等工作。在實際的數據庫操作過程中,常要用到關系代數運算,任何一種運算都是將一定的運算符作用到一定的運算對象上,得到預期的運算結果[3]。因此,要求AutoCAD圖形數據庫和繪圖記錄數據庫關模型均在嚴格的數學概念的基礎之上進行建立和在關系代數的指導下進行操作。

2.1 關系模型的建立

實物的關系結構是建立關系模型的依據基礎。由于圖形文件占用存儲空間比較大,如果直接以二進制格式存放在數據庫字段中,那么在頻繁查詢數據庫表時,則必然會大大增加服務器內存的負擔[4]。因此將圖形文件的路徑存入數據庫可以有效降低數據庫的占用空間,并提升數據庫查尋數據的效率,所以圖形數據庫的實際關系結構為:

(名稱,重量,材料,路徑,備注)?圖形塊?圖形文件?圖形庫 (1)

為了在程序中屬性的提取和操作方便,將屬性與圖形分別存放,以屬性中的路徑來指定圖形文件的位置。則屬性數據庫與圖形庫關系分為:

圖1 系統結構設計圖

由于路徑與圖形文件具有映射關系,則:

從屬性數據庫關系結構可以推導屬性數據庫的關系模式:屬性數據庫(名稱,重量,材料,路徑,備注),其中屬性數據庫為關系名,括號中的項目為屬性,見表1。

表1 圖形數據庫的關系模型

同理,圖形記錄數據庫的關系模型為:圖形記錄數據庫(編號,名稱,插入點X,插入點Y,插入點Z,旋轉角,放大X,放大Y,放大Z,圖層,材料,重量,備注),見表 2。

表2 圖形記錄數據庫關系模型

2.2 數據庫關系模型的關系運算

關系運算的方式包括傳統的集合運算和專門的關系運算。在本系統中,對數據庫中數據的操作集中于數據的讀寫與查找,因此,關系運算集中于專門的關系運算中的選擇運算。在關系R中選擇滿足給定條件的元組,可以表示為σF(R),其中F表示選擇條件,它是一個邏輯表達式,取邏輯值“真”或“假”[5]。如在表1中查名稱為法蘭的模型,則表達式為:

在系統設計過程中對表中的數據選擇時應用此原理。

3 程序功能的實現及關鍵技術

在程序中,整個所應用的關鍵技術主要可以分為兩個方面,一方面是如何實現VBA對AutoCAD的操作,另一方面如何實現VBA對Microsoft Access的操作。對于這兩個方面的關鍵技術,在下面將結合VBA工程實現來進行闡述。

3.1 圖形數據庫創建工程的實現

從整個程序的設計圖中可以看出,該工程的主要任務有兩個,一是如何將圖形塊保存到圖形庫中,二是如何將屬性值寫入到屬性數據庫中。

圖形數據庫創建是利用VBA與AutoCAD和Microsoft Access的接口來實現的,其邏輯圖如圖2所示。

(1)首先分析圖形塊的保存。由于VBA與AutoCAD集成在一起,因此通過AutoCAD界面的界面菜單即可進入到Visual Basic編輯器,通過其提供的工具箱建立如圖3所示窗口。

圖2 圖形數據創建邏輯圖

圖3 創建屬性塊窗體圖

(2)其次分析圖形屬性與路徑如何保存到數據庫中。

采用ADO(ActiveX Data Object)技術可以實現VBA與Microsoft Access的通信。ADO同DAO或RDO相比較,在效率上更高,速度更快,并且編寫應用程序更加簡單,更加方便,比其他的數據訪問接口更加全面[6]。但其使用前提條件是必須在VBA環境中引用“Microsoft ActiveX Data Objects 2.5 Library”。

以下是程序VBA與Microsoft Access數據庫連接的實現代碼。

通過運行以上代碼便可以建立起VBA與 Microsoft Access數據庫的連接。在此基礎上可以通過下面的方法在數據庫中增加行,實現數據庫的寫入操作。

3.2 圖形的插入與記錄工程的實現

從系統的設計圖可以看出,本工程的技術難點在于以下三個方面:一是如何查找數據庫中的數據;二是如何將未打開圖形中的塊插入到當前的工作空間;三是如何得到插入點的信息等屬性并將其寫入數據庫中。首先建立如圖4所示窗口。

(1)實現數據庫存數據的查找首先要進行數據庫的連接。從原理上講,要實現數據的查找就要依照關系代數中專門的關系運算的選擇公式

進行語句設計。例如,在表中1查找法蘭的對應的路徑,則程序的任務是,在數據表中查找法蘭所對應的元組,當找到后,將該組中路徑所對應的分量從數據庫中讀取出來。

在程序的部分關鍵代碼為:

圖4 圖形塊管理界面

以上代碼執行條件是建立在VBA與Microsoft Access連接的基礎之上的,它的功能是從數據庫的第一行開始查找。如果在名稱屬性下查找到法蘭具有相同名稱的分量時,則將其路徑屬性在元組中對應的分量賦給path,然后退出,否則繼續在下一個元組中進行查找。

(2)利用ObjectDBX技術可以實現在圖形中插入其他已打開的圖形中的圖塊。ObjectDBX包含了一系列動態鏈接庫 (dll),通過它們可以建立包含在AutoCAD圖形文件中的自定義對象,也可以使生成的應用程序在AutoCAD環境之外對DWG圖形進行處理[7]。使用ObjectDBX技術之前同樣要進行引用,其引用項為“AutoCAD/ObjectDBX Common16.0 Type Library”。在引用后便可以進行編程操作了。

(3)在VBA與Microsoft Access已經建立連接的基礎上將屬性值與插入點的信息寫入到記錄數據庫中要相對容易,在與數據庫已連接的基礎上,其實現代碼為:

其他屬性值的寫入同理。

3.3 圖框與明細表的生成工程的實現

根據程序設計要求,在Visual Basic編輯器中編輯如圖5所示窗口。在本工程中,本工程有兩個重要的工作,一是在插入圖框塊后進行的繪制明細表線框添加文字,另一個是數據庫中數據的計算,生成明細表。

圖5 圖框與明細表生成界面

(1)添加文字和線段相對簡單,只要利用現有的VBA函數就可以達到,見表3。

表3 直線與文字增加函數

(2)生成明細表首先要讀取記錄數據庫,獲得圖形所在的位置。為了操作方便可以將圖形的名稱與插入點信息復制到數組中,其實現關鍵代碼為:

在數據信息被復制到數據庫后,便可以通過數組的操作來進行排序、統計,結合屬性數據庫獲得相應屬性,再通過繪制線形與添加文字操作,便可生成明細表。其邏輯圖如圖6所示。程序運行效果如圖7所示。

4 結語

(1)介紹了實現創建、引用數據庫存方法,并成功應用于自動生成圖框與明細表。

(2)實踐發現,通過VBA與MicrosoftAccess聯合開發AutoCAD可以降低繪制圖形所需要的時間,而且在圖形統計上準確性高,能夠進一步提高工作效率。

圖6 明細表生成邏輯圖

圖7 程序運行效果圖

[1]吳業紅.應用VBA技術進行AutoCAD二次開發[J].電腦知識與技術,2009,5(28):7950 -7951.

[2]吳海鋒.Auto CAD VBA在工程制圖中的應用[J].交通科技與經濟,2009,(2):36 -38.

[3]郭曄,王浩鳴,張天宇.數據庫技術與Access應用[M].北京:人民郵電出版社,2009.

[4]顧金鳳,姚壽廣,陳寧.產品數據管理中圖檔管理系統的設計與實現[J].華東船舶工學院學報(自然科學版),2004,18(1):91-94.

[5]王志梅,黃河.關系數據庫基礎與技術[M].北京:國防工業出版社,2005.

[6]喬美娥.ADO技術在VB系統開發中的高級應用[J].中國科技信息,2008,(24):84 -85.

[7]楊應平,張明文,肖述剛.ObjectDBX技術在橋梁CAD中的簡化作用[J].中華建設,2007,(12):67 -68.

猜你喜歡
數據庫模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 欧美激情视频在线观看一区| 亚洲AV无码一区二区三区牲色| 日韩黄色精品| 亚洲日韩国产精品综合在线观看| 国产精品大白天新婚身材| 国产人在线成免费视频| 国产精品一区二区在线播放| 91精品aⅴ无码中文字字幕蜜桃 | 欧美精品v| 成人韩免费网站| 夜夜高潮夜夜爽国产伦精品| 999精品在线视频| 精品视频一区二区三区在线播| 国产成人在线小视频| 日本高清成本人视频一区| 国产乱人免费视频| 野花国产精品入口| 欧美a级在线| 精品一区二区三区自慰喷水| 亚洲日本中文综合在线| 国产精品真实对白精彩久久| 激情视频综合网| 狠狠色狠狠色综合久久第一次| 国产成人精品无码一区二| h视频在线观看网站| 六月婷婷激情综合| 国产精品自在拍首页视频8| 国产成人AV综合久久| 丁香综合在线| 国产精品9| 狠狠做深爱婷婷久久一区| 免费一级毛片在线播放傲雪网| 亚洲精品第一在线观看视频| 一区二区午夜| 亚洲午夜福利在线| 婷婷五月在线| 亚洲男人天堂2020| 波多野结衣中文字幕久久| 成人一级黄色毛片| 亚洲欧洲自拍拍偷午夜色无码| 久久久受www免费人成| 波多野结衣一区二区三区88| 视频一本大道香蕉久在线播放 | 666精品国产精品亚洲| 国产欧美精品一区aⅴ影院| 精品国产成人av免费| 日本一区中文字幕最新在线| 国产精品成人AⅤ在线一二三四| 免费一级毛片完整版在线看| 亚洲一区二区成人| 欧美在线三级| 日本午夜在线视频| 激情无码视频在线看| 日韩在线播放中文字幕| 久久一级电影| 中文字幕在线看| 91久久性奴调教国产免费| 日韩亚洲综合在线| 国产91熟女高潮一区二区| 国产微拍一区| 久久精品国产精品青草app| 无码国内精品人妻少妇蜜桃视频| 综合色在线| 国产一区二区在线视频观看| 亚洲天堂免费在线视频| 亚洲日韩高清在线亚洲专区| 欧美国产在线看| 久热中文字幕在线观看| 日本人又色又爽的视频| 狠狠色综合网| 国产女同自拍视频| 国产亚洲欧美另类一区二区| 成人午夜久久| 亚洲国产成人久久精品软件| 欧美精品v| 国产xx在线观看| 久久 午夜福利 张柏芝| 亚洲第一福利视频导航| 久久性视频| 亚洲αv毛片| 亚洲丝袜第一页| 风韵丰满熟妇啪啪区老熟熟女|