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

        ?

        基于C#二次開發(fā)AutoCAD 在汽車制造裝備行業(yè)中的應(yīng)用

        2022-01-17 04:22:40付臘梅李永剛于海洋邢向宇張懷禮
        鍛壓裝備與制造技術(shù) 2021年6期
        關(guān)鍵詞:窗體數(shù)組二次開發(fā)

        付臘梅,曹 偉,李永剛,于海洋,張 濤,邢向宇,張懷禮

        (國機(jī)鑄鍛機(jī)械有限公司,山東 濟(jì)南 250306)

        隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,計(jì)算機(jī)輔助設(shè)計(jì)已經(jīng)廣泛應(yīng)用于各行各業(yè)中,在工程設(shè)計(jì)越來越自動化的今天,通過AutoCAD 二次開發(fā)技術(shù),可以實(shí)現(xiàn)圖形內(nèi)的數(shù)據(jù)處理和算法優(yōu)化,在數(shù)控操作中,將CAD 圖形轉(zhuǎn)化為數(shù)控系統(tǒng)可識別的NC 程序,大大減少了操作員的工作量。

        AutoCAD 二次開發(fā)工具主要有:

        (1)AutoLISP:簡單易學(xué),但程序運(yùn)行速度慢,缺乏保護(hù)機(jī)制;

        (2)ADS:代碼冗余,一般不選擇該方式;

        (3)Visual LISP;

        (4)objectARX:功能強(qiáng)大,編程效率高,但必須使用C++來開發(fā),相對較難;

        (5)ActiveX:VB 語言和C#;由于VB 語言相對落后,語法啰嗦,與當(dāng)下流行的語言差別比較大。

        所以選擇C#來進(jìn)行二次開發(fā)AutoCAD。

        1 AutoCAD ActiveX

        ActiveXAutomation 是微軟公司推出的一個技術(shù)標(biāo)準(zhǔn),該技術(shù)是OLE 技術(shù)的進(jìn)一步擴(kuò)展,其作用是在Windows 系統(tǒng)的統(tǒng)一管理下協(xié)調(diào)不同的應(yīng)用程序,允許應(yīng)用程序之間相互控制、相互調(diào)用[2]。

        AutoCADActiveX 可以使編程者通過編程手段從AutoCAD 的內(nèi)部或外部來操縱AutoCAD。ActiveX 是由一系列的對象,按一定的層次組成的一種對象結(jié)構(gòu),每一個對象代表了AutoCAD 中一個明確的功能,如繪制圖形對象、定義塊和屬性等[2]。ActiveX 具有大部分AutoCAD 的功能,以方法或?qū)傩缘拇嬖诜庋b在庫中,使用時(shí)只需調(diào)用對應(yīng)的方法或?qū)ο髮傩约纯蓪?shí)現(xiàn)對AutoCAD 的操作,從而達(dá)到二次開發(fā)的目的。

        2 設(shè)計(jì)實(shí)例

        2.1 流程圖

        程序設(shè)計(jì)流程圖如圖1 所示。

        圖1 設(shè)計(jì)流程圖

        2.2 應(yīng)用程序

        在設(shè)計(jì)程序前,需要安裝Visual studio 2012 和AutoCAD2014。在Visual studio.net 中新建一個標(biāo)準(zhǔn)應(yīng)用程序,首先需要在應(yīng)用程序中新增引用,引用Auto-CAD 的類,acdbmgd.dll,acmgd.dll,accoremgd.dll 等。這些類將提供如下操作的控件,在頭文件中添加命名空間:①Autodesk.AutoCAD.EditorInput——與用戶交互有關(guān)的類;②Autodesk.AutoCAD.ApplicationServices——用來定義和注冊新的AutoCAD 命令;③Autodesk.AutoCAD.Runtime——提供了系統(tǒng)級別的功能;④Autodesk.AutoCAD.DatabaseServices——database類;⑤Autodesk.AutoCAD.Geometry——point3d 的命名空間。

        2.2.1 設(shè)置窗體

        引用和控件都加載完成后,需要創(chuàng)建窗體、類,窗體主要有“主窗體”,“板材”,“模具”,“配刀”,主窗體如圖2 所示,板材窗體如圖3 所示。

        圖2 主窗體

        圖3 板材窗體

        2.2.2 畫板材

        在AutoCAD 中畫板材和形成框,用兩種不同顏色的線來區(qū)分。AutoCAD 圖形數(shù)據(jù)庫包含有表和記錄,一個數(shù)據(jù)庫包含9 個符號表(塊表、層表、文字樣式表、線型表、視圖表、UCS 表、視口表、注冊應(yīng)用程序表、標(biāo)注樣式表)。記錄是表的單元。要創(chuàng)建一個圖形對象,①需要得到創(chuàng)建對象的圖形數(shù)據(jù)庫;②需要在內(nèi)存中創(chuàng)建實(shí)體類的一個對象;③打開圖形數(shù)據(jù)庫的塊表;④打開存儲實(shí)體的塊表記錄;⑤將該對象添加到塊表記錄中。

        部分代碼如下:

        2.2.3 模具

        首先把模具信息逐行從txt 文件中讀出來,放入數(shù)組;C# 中通過streamReader 類讀取文本wenda 讀取模具文件的信息,刀具類型、刀具號、刀具尺寸等信息,如下示例:

        塊和屬性在AutoCAD 繪圖操作中是提高繪圖效率的重要手段,為了在后面配刀和優(yōu)化提高效率,在讀取模具的時(shí)候就同時(shí)創(chuàng)建對應(yīng)刀具的塊,到時(shí)候直接調(diào)用就可以。創(chuàng)建塊首先創(chuàng)建一個Block-TableRecord 對象并設(shè)置塊的名稱;其次利用Transaction 類的GetObject()函數(shù)獲得當(dāng)前圖形的塊表對象;第三、創(chuàng)建組成塊的實(shí)體對象;第四、調(diào)用Block-TableRecord 類的成員函數(shù)AppendEntity 將組成塊的實(shí)體寫入塊表記錄中;]第五、調(diào)用BlockTable 類的Add 函數(shù)將創(chuàng)建的塊表記錄寫當(dāng)前圖形的塊表中[3]。如下示例:

        2.2.4 配刀

        配刀首先需要獲取孔的選擇集并放入數(shù)組中,根據(jù)直徑大小將合適的刀具號依次放入對應(yīng)的數(shù)組中,同時(shí)在AutoCAD 圖形中找到對應(yīng)孔的圓心做標(biāo)志,方便手動修改刀具號,同時(shí)知道哪些配刀成功,哪些沒有成功。這里需要用到的知識點(diǎn)就是獲取選擇集,將之前畫好的刀具塊放到對應(yīng)的圖形。選擇集調(diào)用通過調(diào)用Editor 類的GetSelection 及SelectImplied 類來實(shí)現(xiàn)。如圖4 所示,紅色的為配刀成功的孔。

        圖4 配刀示意圖

        2.2.5 優(yōu)化

        這是非常關(guān)鍵的環(huán)節(jié),一般一個加工圖形中會有上百甚至幾百個孔,怎么排序顯得特別重要,所以這里就需要根據(jù)機(jī)械設(shè)備,加工方法以及產(chǎn)品尺寸來確定優(yōu)化算法,這里用距離比較法,及把前邊獲取的孔數(shù)據(jù)放入對應(yīng)數(shù)組,然后循環(huán)遍歷數(shù)組,逐一比較它們之間的距離,按從小到大排序,這樣就把要加工的孔按由近及遠(yuǎn)放入一個新的數(shù)組,同時(shí)達(dá)到了我們優(yōu)化路徑的目的,部分代碼如下:

        2.2.6 導(dǎo)出NC 程序

        根據(jù)優(yōu)化排序拼接NC 加工程序并導(dǎo)出到文本中,如圖6 所示。

        圖6 NC 加工程序示例

        3 結(jié)論

        通過AutoCAD 二次開發(fā)技術(shù),可以實(shí)現(xiàn)復(fù)雜圖形的設(shè)計(jì),以及圖形內(nèi)的數(shù)據(jù)處理和算法優(yōu)化,在數(shù)控操作中,將CAD 圖形轉(zhuǎn)化為數(shù)控系統(tǒng)可識別的NC 程序,減少了操作員的工作量。通過不斷的優(yōu)化算法、優(yōu)化路徑,大大提高了車間的加工效率,節(jié)省人力成本,起到了明顯的節(jié)能降耗作用。

        猜你喜歡
        窗體數(shù)組二次開發(fā)
        JAVA稀疏矩陣算法
        JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
        檔案天地(2019年5期)2019-06-12 05:12:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        尋找勾股數(shù)組的歷程
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
        巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
        91亚洲最新国语中文字幕| 国产乱子伦一区二区三区| 欧美性福利| 日本最新在线一区二区| 91日韩东京热中文字幕| 人妻少妇偷人精品无码| 国产黄色片在线观看| 亚洲av五月天天堂网| 狼人伊人影院在线观看国产| 国产精品v片在线观看不卡| 国产亚洲日韩欧美一区二区三区 | 一区二区三区国产黄色| 天堂新版在线资源| 91免费永久国产在线观看| 少妇被爽到自拍高潮在线观看| 在线观看国产成人自拍视频| 国产人妻精品无码av在线| 亚洲无码一二专区| 国产成人久久综合第一区| 亚洲综合一区中文字幕| 日韩欧群交p片内射中文| 国产精品玖玖玖在线资源| 国产精品自拍视频免费看| 色与欲影视天天看综合网| 麻豆高清免费国产一区| 国产丝袜精品丝袜一区二区 | 曰韩内射六十七十老熟女影视| 人妻系列无码专区久久五月天| 99久久亚洲国产高清观看| 中文资源在线一区二区三区av| 野外亲子乱子伦视频丶 | 亚洲AV无码一区二区水蜜桃| 狂插美女流出白浆视频在线观看| 婷婷五月婷婷五月| 一级片久久| 亚洲人妻精品一区二区三区| 精品国产偷窥一区二区| 熟女俱乐部五十路二区av| 好爽要高潮了在线观看| 国产亚洲精品美女久久久久| 中文字幕无码av激情不卡|