• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

      隨著計算機(jī)技術(shù)的迅猛發(fā)展,計算機(jī)輔助設(shè)計已經(jīng)廣泛應(yīng)用于各行各業(yè)中,在工程設(shè)計越來越自動化的今天,通過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在庫中,使用時只需調(diào)用對應(yīng)的方法或?qū)ο髮傩约纯蓪?shí)現(xiàn)對AutoCAD 的操作,從而達(dá)到二次開發(fā)的目的。

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

      2.1 流程圖

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

      圖1 設(shè)計流程圖

      2.2 應(yīng)用程序

      在設(shè)計程序前,需要安裝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)化提高效率,在讀取模具的時候就同時創(chuàng)建對應(yīng)刀具的塊,到時候直接調(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ù)組中,同時在AutoCAD 圖形中找到對應(yīng)孔的圓心做標(biāo)志,方便手動修改刀具號,同時知道哪些配刀成功,哪些沒有成功。這里需要用到的知識點(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ù)組,同時達(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è)計,以及圖形內(nèi)的數(shù)據(jù)處理和算法優(yōu)化,在數(shù)控操作中,將CAD 圖形轉(zhuǎn)化為數(shù)控系統(tǒng)可識別的NC 程序,減少了操作員的工作量。通過不斷的優(yōu)化算法、優(yōu)化路徑,大大提高了車間的加工效率,節(jié)省人力成本,起到了明顯的節(jié)能降耗作用。

      猜你喜歡
      窗體數(shù)組二次開發(fā)
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      淺談基于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ī)范
      保靖县| 衡南县| 台中县| 东兴市| 湖南省| 荆州市| 嘉兴市| 兴业县| 聂荣县| 汤原县| 长沙县| 安陆市| 尼勒克县| 分宜县| 太保市| 额济纳旗| 于都县| 荣昌县| 天等县| 启东市| 平邑县| 渭南市| 绥德县| 石楼县| 新民市| 清苑县| 鄂伦春自治旗| 乐平市| 龙海市| 双鸭山市| 长春市| 衡水市| 阜康市| 城固县| 衡阳县| 庐江县| 中阳县| 西充县| 克东县| 临武县| 浦东新区|