亚洲区小说区激情区图片区_幸福宝app污版下载_午夜香蕉av_欧美熟女内射观看

首頁(yè) 新聞中心 技術(shù)博客

C#語(yǔ)言對(duì)AutoCAD二次開(kāi)發(fā)

發(fā)布時(shí)間:2021-11-05 23:09:00   瀏覽量:2976   作者:GIS前沿

下面來(lái)開(kāi)始講解一下CAD文檔和存儲(chǔ)圖形的一些原理,最后如何用代碼繪制一條線段。

在啟動(dòng)AutoCAD應(yīng)用程序進(jìn)行畫(huà)圖時(shí),CAD軟件會(huì)新建一個(gè)“Drawing1.dwg”文件;在這個(gè)dwg文件中可以繪制線段、多段線、圓、圓弧、樣條曲線等增加實(shí)體(Entity)圖形,也可以修改圖形位置,打斷、鏡像、復(fù)制、刪除等對(duì)實(shí)體圖形進(jìn)行編輯。在學(xué)習(xí)AutoCAD軟件使用時(shí),都是從最基本的創(chuàng)建圖形開(kāi)始進(jìn)行學(xué)習(xí);同樣,在學(xué)習(xí) .Net二次開(kāi)發(fā)時(shí),從創(chuàng)建基本的圖形對(duì)象開(kāi)始學(xué)習(xí)仍然是最有效的選擇,使用程序繪制一些圖形,當(dāng)程序運(yùn)行后,圖形窗口出現(xiàn)寫(xiě)出的圖形,這樣在學(xué)習(xí)的過(guò)程中就會(huì)產(chǎn)生濃厚的興趣。

CAD進(jìn)行處理圖形的過(guò)程中,實(shí)際上就是操作打開(kāi)的當(dāng)前文檔(Document),也是數(shù)據(jù)庫(kù)(Database)顯示給用戶(hù)看的視圖。dwg圖形其實(shí)也是一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù)文件。一個(gè)Document與一個(gè)Database一一對(duì)應(yīng)。按照應(yīng)用程序(Application)的規(guī)定把Database中的對(duì)象顯示給用戶(hù),同時(shí)用戶(hù)對(duì)Document的操作也會(huì)通過(guò)Application回寫(xiě)到數(shù)據(jù)庫(kù),在這個(gè)過(guò)程中也會(huì)對(duì)文檔進(jìn)行鎖定和解鎖,以防止后臺(tái)修改數(shù)據(jù)庫(kù)時(shí)前臺(tái)文檔也在同時(shí)修改。

Application、Document和Database之間的關(guān)系如下圖所示:

在這里插入圖片描述

Application、Document和Database關(guān)系圖

Database屬于ApplicationServices命名空間,在寫(xiě)程序之前先導(dǎo)入ApplicationServices命名空間。
在這里插入圖片描述

獲取當(dāng)前打開(kāi)的活動(dòng)文檔方法在這里插入圖片描述

獲取數(shù)據(jù)庫(kù)的兩種方法
直接通過(guò)HostApplicationServices的WorkingDatabase屬性進(jìn)行獲??;
在這里插入圖片描述

先獲取當(dāng)前文檔,然后在通過(guò)當(dāng)前文檔獲取對(duì)應(yīng)的數(shù)據(jù)庫(kù)。

在這里插入圖片描述

關(guān)于AutoCAD數(shù)據(jù)庫(kù)的基本知識(shí)
表:數(shù)據(jù)庫(kù)的組成單位。在CAD圖形中包含9個(gè)符號(hào)表。
記錄:是表的組成單位,一個(gè)表中可能包含多條記錄,也可能不包含任何記錄。
在這里插入圖片描述

CAD圖形的組成

向CAD添加圖元的基本步驟如圖:
在這里插入圖片描述

添加實(shí)體流程圖

下面我們向CAD中添加一個(gè)實(shí)體、以一條線段為例。首先在Visual Studio2013中新建一個(gè)名稱(chēng)為AddLine解決方案。完整代碼如下:
在這里插入圖片描述

添加線段代碼

【調(diào)試】——【啟動(dòng)調(diào)試】或者按“F5”(有關(guān)調(diào)試配置可以參考第一篇文章:C#程序?qū)utoCAD二次開(kāi)發(fā)(一)),啟動(dòng)AutoCAD應(yīng)用程序,在命令行輸入Netload,加載“AddLine.dll”文件。

在這里插入圖片描述

加載應(yīng)用程序

輸入ADDLINE命令,程序在模型空間就繪制出一條起點(diǎn)(100, 100, 0),終點(diǎn)(600, 600, 0)的直線。如下圖:
在這里插入圖片描述

程序繪制的線段

總結(jié):這篇文章主要講了CAD文檔(Document)的組部分、Document與圖形數(shù)據(jù)庫(kù)(Database)之間的關(guān)系,以及向CAD文檔中添加圖形過(guò)程中要經(jīng)過(guò)的幾個(gè)步驟;并且用代碼向模型空間中添加了一個(gè)線段(實(shí)體[Entity])、添加圖形到數(shù)據(jù)中必須根據(jù)需要以“讀”或者“寫(xiě)”的方式進(jìn)行“打開(kāi)”塊表(BlockTable)和塊表記錄(BlockTableRecord),不然程序就會(huì)產(chǎn)生致命錯(cuò)誤等情況。在以后的學(xué)習(xí)中我們也會(huì)詳細(xì)講解添加其他類(lèi)型的實(shí)體到文檔中,比如多段線,圓、圓弧等,以及事務(wù)處理和ObjectId的使用等課程的學(xué)習(xí)。


來(lái)源:https://blog.csdn.net/qq_43173805/article/details/112304927
嘉鱼县| 牟定县| 沁水县| 瑞金市| 新营市| 孝昌县| 湟中县| 扬中市| 周口市| 纳雍县| 黄冈市| 祁东县| 恩平市| 新乡县| 阆中市| 龙州县| 梧州市| 无棣县| 上虞市| 东乌| 延安市| 宁津县| 商洛市| 嵊州市| 高陵县| 彩票| 万载县| 昌吉市| 永新县| 财经| 漾濞| 肇州县| 灵川县| 石河子市| 扬州市| 信阳市| 丰都县| 汕头市| 确山县| 宜阳县| 常山县|