亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C#的AutoCAD二次開發(fā)在重卡線束圖的簡單應(yīng)用研究

        2022-07-28 02:01:54張俊申瑋宋英華張嵐
        汽車電器 2022年7期

        張俊,申瑋,宋英華,張嵐

        (中國重汽集團汽車研究總院,山東 濟南 250002)

        1 前言

        線束系統(tǒng)作為車輛的“神經(jīng)”,對汽車電氣功能的實現(xiàn)起著至關(guān)重要且不可替代的作用,隨著汽車電器配置越來越高,線束系統(tǒng)隨之變得越來越復雜。目前,車輛系統(tǒng)的線束設(shè)計主要采用AutoCAD等軟件進行二維設(shè)計。隨著制圖要求的不斷提高,在AutoCAD設(shè)計龐大的線束時,線束圖中的文字顏色與直線的顏色會依據(jù)公司傳統(tǒng)或個人習慣加以區(qū)分,這樣可以使得線束圖直觀、清晰明了,易于區(qū)分。而在線束圖紙設(shè)計或者更改時,往往拿到的Auto-CAD線束圖紙中文字與直線等內(nèi)容顏色沒有統(tǒng)一,使得圖紙顯著很亂,不易區(qū)分,這樣就得花費大量時間去統(tǒng)一線束圖紙中文字、直線的顏色,作者曾在設(shè)計線束圖紙的過程中,花費大量時間去統(tǒng)一顏色,使得設(shè)計效率很低。借助AutoCAD的二次開發(fā),開發(fā)一個程序集,可以快速地將文字與直線顏色進行統(tǒng)一就十分的必要。本文以初學者的視角,利用C#二次開發(fā)AutoCAD在重卡線束圖做了簡單的應(yīng)用研究,詳細論述了開發(fā)程序集的過程以及簡單的應(yīng)用過程。通過本文的簡單應(yīng)用研究,理清了C#二次開發(fā)Auto-CAD的原理,為后續(xù)線束設(shè)計輔助軟件、線束工藝軟件等的開發(fā)奠定了基礎(chǔ)。

        2 AutoCAD二次開發(fā)基礎(chǔ)

        2.1 AutoCAD二次開發(fā)語言介紹

        AutoCAD是一款通用的計算機輔助設(shè)計軟件,具有完善的繪圖功能,提供了多種接口,易于不同行業(yè)的人員采用高級編程語言對其進行擴充和修改,豐富其附加功能,能最大限度地滿足用戶的特殊需求。AutoCAD第一版于1982年11月推出,其二次開發(fā)語言及工具也在不斷地涌現(xiàn)。開發(fā)環(huán)境對應(yīng)的編程語言有:AutoLISP、ADS、ObjectARX、VisualLISP、VBA、AutoCAD.NET等。本 文 利 用AutoCAD.NET框架,使用C#語言對AutoCAD進行二次開發(fā)。

        2.2 C#二次開發(fā)AutoCAD基礎(chǔ)簡介

        AutoCAD有強大的數(shù)據(jù)庫而沒有數(shù)據(jù)分析能力,借助二次開發(fā)提取其數(shù)據(jù)庫中的數(shù)據(jù),同時利用Windows自帶的函數(shù)庫,可以對大量數(shù)據(jù)進行分析,提高AutoCAD的使用效率。

        眾所周知,C#是一種面向?qū)ο蟮木幊陶Z言,把一切當成對象來處理。在C#二次開發(fā)AutoCAD過程中,AutoCAD圖紙中的直線、圓弧、文字和標注等圖形是對象,圖層、組合、塊等都是對象。和其他二次開發(fā)語言相比,C#語言簡單易學,成為二次開發(fā)AutoCAD的首選語言。

        AutoCAD.NET API由不同的DLL文件組成,這些DLL文件包含有大量的類、結(jié)構(gòu)、方法及事件,用于訪問圖形文件對象或AutoCAD程序?qū)ο?。常用的AutoCAD.NET API的3個主要DLL文件如下。

        1)acdbmgd.dll:當處理圖形文件中存儲的對象時引用。

        2)acmgd.dll:當處理AutoCAD應(yīng)用程序和用戶接口時引用。

        3)accui.dll:當處理自定義文件時引用。

        本文所引用的接口為acdbmgd.dll與acmgd.dll。

        3 AutoCAD二次開發(fā)過程

        3.1 建立程序集及添加引用

        在Visual Studio軟件中新建一個類庫項目,如圖1所示。不同版本的AutoCAD對應(yīng)不同的.net框架,由于本文是在AutoCAD2007版本中進行的,故框架選擇.net3.5。

        圖1 新建類庫項目

        在Visual Studio軟件中添加AutoCAD的程序接口acdbmgd.dll、acmgd.dll,將復 制 本地改為False,如圖2所示。

        圖2 添加引用

        在編寫程序集之前,需使用如圖3所示的命名空間。命名空間里包含大量的類、結(jié)構(gòu)、方法及事件,用于訪問圖形文件對象或AutoCAD程序?qū)ο蟆?/p>

        圖3 使用命名空間

        注冊命令“TH7”如圖4所示。此命令相當于程序集的指令,當發(fā)送此指令后,程序才開始運行。后續(xù)在AutoCAD命令欄輸入“TH7”后,編寫的程序集才開始執(zhí)行。

        圖4 注冊命令“TH7”

        3.2 二次開發(fā)在重卡線束圖紙的應(yīng)用原理

        重卡的線束圖紙中主要包括導線信息(線號、線色、線徑、端子等)、波紋管長度、文字說明、插接器圖例等,如圖5所示。

        圖5 重卡線束圖紙

        在二次開發(fā)過程中,可以籠統(tǒng)地把線束圖紙分為單行文本與直線等數(shù)據(jù)組成,這些數(shù)據(jù)記錄在AutoCAD數(shù)據(jù)庫中,通過調(diào)用其數(shù)據(jù)庫,然后通過選擇集的操作,可以分別得到單行文本與直線信息,分別對其屬性進行更改,將得到我們想要的效果。

        3.3 遍歷AutoCAD數(shù)據(jù)庫得到單行文本與直線數(shù)據(jù)

        在遍歷AutoCAD數(shù)據(jù)庫之前,需要理解AutoCAD對象層次,如圖6所示。

        圖6 AutoCAD對象層次示意圖

        Application對 象 是AutoCAD.NET API的 根 對 象,從Application對象,可以訪問AutoCAD主窗口,以及任何打開的圖形,并進而訪問圖形里的各個對象。Application對象有一個DocumentManager屬性,用來返回DocumentCollection對象,該對象提供了訪問當前打開的AutoCAD圖形的功能,并允許創(chuàng)建、保存、打開圖形文件。

        Document對 象,實 際 上 就 是 一 個AutoCAD圖 形,是DocumentCollection對象的一部分,提供了訪問與Document對象相關(guān)聯(lián)的Database對象的功能。

        Database對象包含AutoCAD所有的圖形對象和絕大部分非圖形對象,其中包括實體(圖元)、符號表、命名字典等。實體(圖元)表示圖形里的圖形對象,直線、圓、弧線、文字、填充和多義線等都是實體。

        由此可以編程遍歷AutoCAD數(shù)據(jù)庫Database,并通過選擇集的操作可分別得到單行文本與直線的數(shù)據(jù),獲取程序如圖7所示。

        圖7 獲取單行文本與直線程序

        通過以上代碼,程序?qū)⒈闅v線束圖紙的數(shù)據(jù)庫,通過選擇集的設(shè)置,分別得到單行文本對象與直線對象。

        3.4 更改單行文本對象與直線對象顏色

        通過遍歷AutoCAD數(shù)據(jù)庫得到的單行文本對象與直線對象,對其顏色的屬性值ColorIndex進行賦值,即可改變其顏色。ColorIndex值可在AutoCAD圖紙中,通過命令欄鍵入LI,即可得到。本文因公司傳統(tǒng)習慣,將文字顏色更改為青色,直線更改為綠色,這樣可以使圖紙較為整齊,清晰明了。青色與綠色的ColorIndex賦值通過鍵入LI得到,如圖8~圖9所示。

        圖8 綠色的ColorIndex值

        圖9 青色的ColorIndex值

        由圖8~圖9可以看出,綠色的ColorIndex值為3,青色的ColorIndex值為4,通過編寫函數(shù)分別對其ColorIndex進行相應(yīng)的賦值,編寫更改顏色的函數(shù)代碼如圖10所示。

        圖10 編寫更改顏色的函數(shù)

        將改變顏色的函數(shù)寫入主函數(shù),便可以實現(xiàn)線束圖紙顏色的改變。主程序如圖11所示。

        圖11 主程序

        4 程序集的使用

        在程序集的屬性里將名稱更改為“更改線色和文字顏色”,如圖12所示,然后生成解決方案,在默認文件夾下,就會生成“更改線色和文字顏色.dll”的程序集。

        圖12 更改程序集名稱

        打開已完成或者正在設(shè)計的AutoCAD線束圖紙,在AutoCAD命令欄鍵入“netload”命令,加載“更改線色和文字顏色.dll”程序集,如圖13所示。最后鍵入之前的注冊命令“TH7”,就會發(fā)現(xiàn)線束圖紙中的文字顏色與直線顏色迅速改變成設(shè)定的顏色。

        圖13 加載編輯好的程序集

        5 結(jié)論

        本文以初學者的視角,利用C#二次開發(fā)AutoCAD在重卡線束圖的應(yīng)用做了簡單的研究,詳細論述了開發(fā)程序集的過程以及簡單的應(yīng)用過程。通過對AutoCAD二次開發(fā)在重卡線束圖的簡單應(yīng)用研究,收獲與優(yōu)勢有以下幾點。

        1)利用C#二次開發(fā)AutoCAD,可以節(jié)省設(shè)計員的時間,極大地提高設(shè)計員設(shè)計效率,相對比人工更改圖紙而言,速度快且準確度高。

        2)AutoCAD具有強大的數(shù)據(jù)庫而沒有數(shù)據(jù)分析能力,借助二次開發(fā)可以對其數(shù)據(jù)庫中的大量數(shù)據(jù)進行操作,得到想要的結(jié)果。

        3)摸清了C#二次開發(fā)AutoCAD的原理,為后續(xù)開發(fā)線束圖紙設(shè)計輔助軟件的開發(fā)、線束圖紙工藝軟件的開發(fā)奠定了扎實的基礎(chǔ)。

        本文介紹了C#二次開發(fā)AutoCAD在重卡線束圖紙的開發(fā)過程,對線束圖紙中更改文字顏色與直線顏色的簡單應(yīng)用做了研究。在此次開發(fā)過程中,作者查閱了大量資料,學到二次開發(fā)很多知識與方法,為后續(xù)開發(fā)輔助軟件開發(fā)打下扎實的基礎(chǔ)。本文所闡述的程序集,已經(jīng)集成于后續(xù)線束輔助軟件里,得到普遍的應(yīng)用。

        日韩av天堂一区二区三区在线| 亚洲国产成人va在线观看天堂| 四虎成人免费| 99久久国产一区二区三区| 女同三级伦理在线观看| 国内女人喷潮完整视频| 九九久久精品国产| 国产人成视频免费在线观看| 与最丰满美女老师爱爱视频 | 日本一区二区三区激视频| 天天做天天爱夜夜夜爽毛片| 军人粗大的内捧猛烈进出视频| 国产成人77亚洲精品www| 综合图区亚洲偷自拍熟女| 国产精品亚洲第一区二区三区| 免费无码一区二区三区蜜桃大 | 果冻蜜桃传媒在线观看| 亚洲精品在线免费视频| 午夜精品久久久久久毛片| 国产精品欧美日韩在线一区| 在线亚洲免费精品视频| 丰满人妻一区二区三区蜜桃| 国产成年女人特黄特色毛片免| 国产高清国内精品福利99久久| 麻豆国产精品久久天堂| 人妻精品久久久久中文字幕69| 欧美极品美女| 国产精品天干天干在线观蜜臀| 久久伊人精品中文字幕有尤物| 国内精品卡一卡二卡三 | 中日韩字幕中文字幕一区| 中文字幕在线看精品乱码| 伊人激情av一区二区三区| 亚洲中文字幕久久精品蜜桃| 好看的中文字幕中文在线| 国产太嫩了在线观看| 亚洲欧美日韩一区在线观看| 少妇一区二区三区乱码| 日韩一区二区三区天堂| 一区二区三无码| 精品女同一区二区三区免费战|