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

AutoCAD.NET開發在軸承自動化設計中的應用

2012-07-21 09:26:50鄒波周海軍劉小輝
軸承 2012年11期
關鍵詞:二次開發系統設計

鄒波,周海軍,劉小輝

(1.成都重型軸承研究所,成都 610031;2.成都科華重型軸承有限公司,成都 610300)

利用AutoCAD開發設計軸承經常需要大量的數據修改和計算,傳統的CAD二次開發技術有AutoLISP和 ObjectARX,其中,AutoLISP為CAD內嵌系統,缺乏足夠的靈活性和用戶接口;ObjectARX較為靈活,但對編程技術要求較高。.NET框架是為32位及64位操作系統而設計,與傳統編程語言(如C++)相比,具有更低的學習要求來訪問高級接口,同時有更多的編程環境可以訪問CAD圖形。采用AutoCAD提供的二次開發接口,. NET API可以進行圖形的繪制、標注更改以及復雜的計算應用。而且為實現公差自動分級和相關參數的計算,系統增加了讀取現有Access數據庫的功能,可以根據軸承的尺寸和精度,自動選擇相關公差和參數,計算出外圈滾道尺寸等數據并進行標注,從而形成完整的設計圖。

1 系統基本原理

.NET API 為AutoCAD最新的開發接口,采用面向對象編程技術。用戶可通過編程的方法利用程序集或開放庫操作AutoCAD 和圖形文件。通過開放的對象,可被許多不同的編程語言和環境訪問。訪問對象為 AutoCAD .NET API 的主要構造塊,其中每一個對象都精確地代表了 AutoCAD圖形中的一部分,它們之間又組成了不同的程序集和命名空間。AutoCAD .NET API 有許多不同類型的對象,如:

(1)直線、圓弧、文字和標注等圖形對象;

(2)線型與標注樣式等樣式設置;

(3)圖層、編組和塊等組織結構;

(4)視圖與視口等圖形顯示;

(5)圖形、AutoCAD 應用程序本身。

本系統的主要實現方式,就是通過.NET API對AutoCAD的各種對象進行操作,實現計算、分類選擇、自動繪制圖形等功能。

程序設計流程如圖1所示。首先,打開現有模版文件,讀取并捕捉對象的ObjectID以實現操作;通過Form獲取用戶要求,如內、外徑,高度,精度等參數;查詢數據庫并獲得相應等級的公差值和各種系數;計算出各種尺寸,并修改和調整相應的對象內容實現自動標注和相關的圖形繪制;最后通過用戶確認,保存設計完成的圖紙。

圖1 程序流程圖

2 程序設計過程及自動化設計效果

以調心滾子自動化設計為例,本系統(其他類型軸承與本系統相同)采用.NET C#方式編程,可以分為幾個功能模塊,分別為文件操作、對象捕捉和編輯、數據庫ODBC操作和用戶界面模塊。

2.1 文件操作模塊

通過實例化Application.DocumentManager來獲取模版文件的句柄。再通過相關函數讀取和存儲。其間通過一個自建的Form來獲取模版文件路徑。部分代碼如下:

DocumentCollection acDocMgr = Application.DocumentManager;//創建實例

ChoseMoBan1 f = new ChoseMoBan1();//一個新窗體

Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(f);

//以AutoCAD的方式打開,而非winForm形式

strFileName = PathTempOpen;//獲取文件路徑

if (File.Exists(strFileName))

{

DFiles1 =acDocMgr.Open(strFileName, false);//打開相關文件

}

else

{

acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " + strFileName+" does not exist.");//若不存在,返回錯誤

}

2.2 對象捕捉和編輯

在打開后的文件中,如何獲取需要修改對象的句柄是關鍵,目前常用的2種方法為:每個對象自帶的圖元句柄和ObjectID。文中采用ObjectID,但ObjectID會隨著文件關閉而釋放,并在打開時重建。為了能夠準確獲得文件打開時的對象,針對文中的標注,采用了對象包含的Text進行判別。

Document DF = Application.DocumentManager.MdiActiveDocument;//獲取當前活動文檔

ObjectId[] Id1 = new ObjectId[1];

// 創建一個TypedValue 數組,用于定義過濾條件

TypedValue[] acTypValAr = new TypedValue[2];

acTypValAr.SetValue(new TypedValue((int)DxfCode.Text, Dimetext1), 0);

acTypValAr.SetValue(new TypedValue((int)DxfCode.LayerName, "7標注層"), 1);

// 賦值過濾條件給SelectionFilter 對象

SelectionFilter acSelFtr = new SelectionFilter(acTypValAr);

Id1 = acSSet.GetObjectIds();//獲得對象后返回

獲得對象后,可對其進行編輯。編輯過程首先要打開當前模型空間記錄,并通過事務對其中相應的對象進行設置。圖形編輯和標注編輯類似。

//修改對象內容

Document acDoc = Application.DocumentManager.MdiActiveDocument;//獲得活動文檔

Database acCurDb = acDoc.Database;//打開Database對象

// 啟動一個事務

using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

{

BlockTable acBlkTbl;

acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForRead) as BlockTable;

// 以寫方式打開模型空間塊表記錄

BlockTableRecord acBlkTblRec;

acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

RotatedDimension Dim_OB7_WD = (RotatedDimension)OB7_WD.GetObject(OpenMode.ForWrite);

//獲得標注句柄

Dim_OB7_WD.DimensionText = "{H1x;" + PX_WD + "}{H0.5x;S +" +(-D_D_GCD / 1000).ToString() + " ^ 0 ;}";//修改標注內容

MText Dim_OB7_Ke = (MText)OB7_Ke.GetObject(OpenMode.ForWrite);//獲得文本句柄

Dim_OB7_Ke.Contents = "W0.8;Ke " + (D_Ke/1000).ToString();//修改文本內容

}//提交事務,完成修改的內容

2.3 數據庫ODBC操作

通過系統DSN打開數據源,并對其中的記錄進行讀取和操作。

OdbcConnection odbcconn = new OdbcConnection("DSN=ODBCBearing");//定義ODBC數據源

odbcconn.Open();

OdbcCommand DbCommand = odbcconn.CreateCommand();

DbCommand.CommandText = "SELECT * FROM WQ ";

OdbcDataReader DbReader = DbCommand.ExecuteReader();//創建并允許SQL

對數據的篩選可通過SQL語句完成,這里不再贅述。

2.4 用戶界面

先增加AutoCAD的菜單,通過ExtensionApplication使其自動加載。此處相關代碼省略。

2.5 調心滾子軸承自動化設計結果

以23232CAC/W33帶油孔的調心滾子軸承自動化設計為例,原始模版和經過程序計算與調整后輸出的設計圖如圖2所示。

圖2 調心滾子軸承的自動化設計圖

3 結束語

AutoCAD .NET API極大地擴展了CAD的用途,其簡便的開發方式、強大的功能為實現自動化設計提供了一個有效的方法。文中討論的幾個操作模塊,包含了當前CAD二次開發的大部分內容和通用的接口程序,可廣泛用于AutoCAD.NET C#程序開發中。

猜你喜歡
二次開發系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
西門子Easy Screen對倒棱機床界面二次開發
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 成人免费一级片| 人人艹人人爽| 午夜人性色福利无码视频在线观看| 国产va在线| 亚洲aⅴ天堂| 成·人免费午夜无码视频在线观看 | 无码日韩人妻精品久久蜜桃| 国产精品视频猛进猛出| 亚洲国产无码有码| 美女被操91视频| 日本一本正道综合久久dvd| 亚洲区视频在线观看| 免费激情网址| 中文字幕 欧美日韩| 欧洲亚洲欧美国产日本高清| 欧美一区二区精品久久久| 在线一级毛片| 欧美午夜在线观看| 永久在线精品免费视频观看| 第九色区aⅴ天堂久久香| 精品国产香蕉伊思人在线| 一区二区三区四区日韩| 伊伊人成亚洲综合人网7777| 国产精品刺激对白在线| 亚洲天堂视频在线播放| 二级毛片免费观看全程| 国产91小视频在线观看| 久草国产在线观看| 亚洲欧美日韩中文字幕在线一区| 尤物精品国产福利网站| 一级毛片在线直接观看| 人妻21p大胆| 午夜综合网| 午夜精品久久久久久久无码软件| 久青草网站| 亚洲最大福利网站| 福利国产微拍广场一区视频在线| 国产交换配偶在线视频| 日韩天堂视频| 99热国产在线精品99| 色成人亚洲| 无码一区18禁| 青青青伊人色综合久久| 国产在线97| 午夜在线不卡| 国产国模一区二区三区四区| 五月婷婷导航| 欧美日韩国产成人高清视频| 88国产经典欧美一区二区三区| 国产精品99久久久久久董美香| 91区国产福利在线观看午夜| 在线观看视频99| 97超碰精品成人国产| 欧洲亚洲一区| 怡红院美国分院一区二区| 国产视频资源在线观看| 久久无码av三级| 国产三级精品三级在线观看| 日韩在线中文| 国产免费一级精品视频| 国产电话自拍伊人| 99精品国产自在现线观看| 欧美有码在线| 国产成人一区| 在线观看精品国产入口| 欧美高清国产| 九九免费观看全部免费视频| 国产精品福利社| 青青青视频免费一区二区| 精品久久高清| 国产综合另类小说色区色噜噜| 孕妇高潮太爽了在线观看免费| 日韩国产亚洲一区二区在线观看| 91麻豆精品视频| 亚洲男人的天堂视频| 亚洲性日韩精品一区二区| 在线观看亚洲人成网站| 极品国产一区二区三区| 久久亚洲欧美综合| 亚洲精品在线影院| 国产欧美视频在线观看| 在线无码av一区二区三区|