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

基于C#的AutoCAD二次開發在重卡線束圖的簡單應用研究

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

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

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

1 前言

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

2 AutoCAD二次開發基礎

2.1 AutoCAD二次開發語言介紹

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

2.2 C#二次開發AutoCAD基礎簡介

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

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

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

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

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

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

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

3 AutoCAD二次開發過程

3.1 建立程序集及添加引用

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

圖1 新建類庫項目

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

圖2 添加引用

在編寫程序集之前,需使用如圖3所示的命名空間。命名空間里包含大量的類、結構、方法及事件,用于訪問圖形文件對象或AutoCAD程序對象。

圖3 使用命名空間

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

圖4 注冊命令“TH7”

3.2 二次開發在重卡線束圖紙的應用原理

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

圖5 重卡線束圖紙

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

3.3 遍歷AutoCAD數據庫得到單行文本與直線數據

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

圖6 AutoCAD對象層次示意圖

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

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

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

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

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

通過以上代碼,程序將遍歷線束圖紙的數據庫,通過選擇集的設置,分別得到單行文本對象與直線對象。

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

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

圖8 綠色的ColorIndex值

圖9 青色的ColorIndex值

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

圖10 編寫更改顏色的函數

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

圖11 主程序

4 程序集的使用

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

圖12 更改程序集名稱

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

圖13 加載編輯好的程序集

5 結論

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

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

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

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

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

主站蜘蛛池模板: 亚洲中文字幕日产无码2021| 欧美精品v欧洲精品| 国产精品专区第1页| 国产97区一区二区三区无码| www.youjizz.com久久| 久久免费精品琪琪| 欧美黄网在线| 国产大片喷水在线在线视频| 欧美三级日韩三级| 天天综合亚洲| 色综合天天综合中文网| 国产成人免费视频精品一区二区| 国产亚洲精| 国产成人狂喷潮在线观看2345| 色吊丝av中文字幕| 成人午夜网址| 免费观看亚洲人成网站| 日韩高清无码免费| 一级毛片不卡片免费观看| 亚洲国产天堂在线观看| 秋霞一区二区三区| 成年A级毛片| 2048国产精品原创综合在线| 国产国模一区二区三区四区| 114级毛片免费观看| 2021最新国产精品网站| 国产麻豆福利av在线播放| 毛片基地美国正在播放亚洲 | 国产v精品成人免费视频71pao| 欧美伦理一区| 91青青草视频| 国产91精选在线观看| 亚洲一区免费看| 狠狠v日韩v欧美v| 精品夜恋影院亚洲欧洲| 日韩第八页| 国产福利影院在线观看| 一级成人a毛片免费播放| 国产成人精品视频一区视频二区| 在线播放91| 小蝌蚪亚洲精品国产| 亚洲美女一区| 国产日韩欧美视频| 无码专区在线观看| 青青国产视频| 色偷偷综合网| 欧美日韩一区二区在线播放 | 538国产在线| 全色黄大色大片免费久久老太| 精品伊人久久久大香线蕉欧美| 操美女免费网站| 无码电影在线观看| 四虎永久在线| 久996视频精品免费观看| 久久午夜夜伦鲁鲁片不卡| 欧美日韩中文字幕二区三区| 在线日韩日本国产亚洲| 99热免费在线| 四虎影视8848永久精品| 无遮挡国产高潮视频免费观看| 日韩乱码免费一区二区三区| 午夜福利亚洲精品| 欧美成人亚洲综合精品欧美激情| 国产成人无码久久久久毛片| 真实国产乱子伦视频| 午夜福利在线观看成人| 亚洲一区第一页| 亚洲无线观看| 美女国内精品自产拍在线播放| 欧美色视频网站| 国产激情在线视频| 国产亚洲视频免费播放| 国产激情在线视频| 中文字幕久久波多野结衣| 日韩天堂视频| 亚洲视频影院| 国产精品成人久久| 人妻夜夜爽天天爽| 亚洲AⅤ永久无码精品毛片| 国产主播在线一区| 亚洲AⅤ永久无码精品毛片| 国产成年女人特黄特色大片免费|