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

AutoCAD .NET API在機(jī)械零件標(biāo)準(zhǔn)化設(shè)計中的應(yīng)用

2017-03-15 12:04:38胡小林
造船技術(shù) 2017年1期
關(guān)鍵詞:毛坯二次開發(fā)校核

胡小林

(中國船舶與海洋工程設(shè)計研究院, 上海 200011)

AutoCAD .NET API在機(jī)械零件標(biāo)準(zhǔn)化設(shè)計中的應(yīng)用

胡小林

(中國船舶與海洋工程設(shè)計研究院, 上海 200011)

簡要介紹AutoCAD二次開發(fā)的主流工具和特點(diǎn)以及最新的AutoCAD二次開發(fā)工具.NET API的優(yōu)勢。針對機(jī)械零件設(shè)計過程中的計算、文件編制等方面,通過使用.NET API開發(fā)的相應(yīng)功能,顯著減少重復(fù)操作次數(shù),提高設(shè)計效率,消除文件編制過程中的差錯。

AutoCAD;.NET API;二次開發(fā);機(jī)械零件;標(biāo)準(zhǔn)化設(shè)計

0 引言

目前,機(jī)械領(lǐng)域許多零件設(shè)計采用的設(shè)計工具以AutoCAD軟件為主。在實(shí)際設(shè)計過程中,有許多零件都是成型的設(shè)計,每次設(shè)計任務(wù)根據(jù)具體的項(xiàng)目調(diào)整結(jié)構(gòu)尺寸、計算、繪制送審圖紙、繪制坯件訂貨圖、下發(fā)施工圖、編制工藝卡、打印檢驗(yàn)單、匯編完工圖等。在設(shè)計過程中,設(shè)計人員往往是在已有項(xiàng)目文件的基礎(chǔ)上進(jìn)行修改,然后形成新的項(xiàng)目文件。在文件的形成過程中,一方面,設(shè)計人員需要花時間繪圖并確認(rèn)圖紙中的所有數(shù)據(jù)都已經(jīng)更改到位,另一方面,校對及審核人員也需要逐個確認(rèn)數(shù)據(jù),以確保每一個數(shù)據(jù)的準(zhǔn)確性。盡管如此,偶爾仍有疏漏或筆誤在生產(chǎn)時被發(fā)現(xiàn),甚至因?yàn)槲窗l(fā)現(xiàn)錯誤而產(chǎn)生廢品。為此,在AutoCAD軟件的基礎(chǔ)上開發(fā)出一套既能節(jié)省設(shè)繪時間,又能確保數(shù)據(jù)準(zhǔn)確且無筆誤的設(shè)計工具就顯得尤為必要了。

Autodesk公司提供了多種編程接口用于AutoCAD的二次開發(fā),設(shè)計人員可以根據(jù)設(shè)計項(xiàng)目的需求和自身的編程能力,選擇最合適的編程語言,進(jìn)行 AutoCAD二次開發(fā)。這樣開發(fā)出的軟件功能界面完善,既可完成設(shè)計過程中大量的重復(fù)或類似操作,同時也顯著減少了發(fā)生差錯的概率。

本文主要以船舶軸系聯(lián)軸節(jié)法蘭液壓螺栓組中的螺母為例,簡要介紹一下通過使用.NET API工具對AutoCAD進(jìn)行二次開發(fā)的情況,一方面節(jié)省了設(shè)計時間,另一方面也保證了質(zhì)量。

1 AutoCAD .NET API簡介

目前,AutoCAD提供的二次開發(fā)工具有VisualLISP,VBA,ObjectARX以及.NET API等。VisualLISP語言是具備面向?qū)ο蠊δ艿木幊陶Z言,學(xué)習(xí)成本低,但不直觀;VBA(Visual Basic for Applications)應(yīng)用范圍廣,是大眾化的編程語言,在開發(fā)功能方面略有不足; ObjectARX以C++編程語言為基礎(chǔ),其代碼與AutoCAD在同一內(nèi)存地址上運(yùn)行,占用系統(tǒng)資源少,運(yùn)行速度快,功能雖然強(qiáng)大但學(xué)習(xí)成本太高[1]。

Autodesk公司自AutoCAD 2006版開始,在原有開發(fā)工具的基礎(chǔ)上又增加了一種新的開發(fā)方式——.NET API。.NET API為開發(fā)人員提供了大量的托管封裝類,開發(fā)人員可以使用任何.NET支持的程序設(shè)計語言(如VC++,C#,VB等)編程訪問程序集或者開放類庫,用以操作AutoCAD和圖形文件。

開發(fā)人員使用.NET API工具開發(fā)AutoCAD有如下優(yōu)點(diǎn):

(1) 提供了全新的編程環(huán)境用以訪問AutoCAD圖形。

(2) 與其他Windows?應(yīng)用程序(例如 Microsoft Word,Microsoft Excel等)的結(jié)合比以往更加容易。

(3) .NET框架同時為32位和64位操作系統(tǒng)設(shè)計,而VBA只用于基于32位操作系統(tǒng)的設(shè)計。

(4) 與傳統(tǒng)編程語言(如 C++)相比,.NET API可以讓開發(fā)人員以較低的學(xué)習(xí)成本實(shí)現(xiàn)高級接口訪問。

目前,AutoCAD較新的幾種版本已經(jīng)不再內(nèi)置VBA,需要額外安裝,而且,操作系統(tǒng)也逐漸向64位過渡成為主流操作系統(tǒng)。鑒于此,本次采用.NET API進(jìn)行二次開發(fā)。

2 程序主要功能

程序的主界面如圖1所示,包括數(shù)據(jù)輸入界面和若干操作按鈕,按鈕具體功能在下文詳細(xì)敘述。

2.1 調(diào)整結(jié)構(gòu)尺寸

主界面中有零件的標(biāo)準(zhǔn)樣圖,在按項(xiàng)目需要調(diào)整的參數(shù)旁邊都有數(shù)據(jù)輸入框。除了結(jié)構(gòu)尺寸外,形位公差、粗糙度都可以調(diào)整。每個輸入框都設(shè)置為紅色背景,有調(diào)整就會自動變成綠色,表示這個參數(shù)被調(diào)整過。

圖1 程序主界面

2.2 計算

本次作為示例的螺母需要的計算僅僅是螺紋強(qiáng)度校核,在主界面按下“強(qiáng)度校核”按鈕,在載荷輸入框中輸入載荷后就可以獲得螺紋強(qiáng)度校核計算的結(jié)果,在結(jié)果界面,點(diǎn)擊“確定”按鈕直接生成《螺紋強(qiáng)度校核計算報告》并返回主界面;點(diǎn)擊“取消”按鈕直接返回主界面。螺紋強(qiáng)度校核計算的結(jié)果如圖2所示。

圖2 螺紋強(qiáng)度校核計算結(jié)果

對于沒有螺紋的零件,有時候需要進(jìn)行應(yīng)力分析,將“強(qiáng)度校核”按鈕改為“導(dǎo)出交換數(shù)據(jù)”,可以將零件相應(yīng)的數(shù)據(jù)導(dǎo)出給其他軟件進(jìn)行應(yīng)力分析。

以與AutoCAD同一家族的Inventor為例,在Inventor中創(chuàng)建二維草圖,定義好相應(yīng)的約束,并在“fx參數(shù)”中定義必須的尺寸關(guān)系,生成正確的實(shí)體后在“fx參數(shù)”中導(dǎo)出XML文件。程序中“導(dǎo)出交換數(shù)據(jù)”功能將參數(shù)寫入該XML文件,在Inventor中以前面生成的零件圖為模板,在“fx參數(shù)”中導(dǎo)入該XML文件,Inventor會自動按尺寸更新實(shí)體,然后就可以使用其“應(yīng)力分析”功能了(同一個裝配圖的多個零件可同樣處理)。此處僅以船舶軸系聯(lián)軸節(jié)法蘭液壓螺栓組中錐套為例列出其應(yīng)力分析圖,如圖3所示。

圖3 錐套Mises等效應(yīng)力

2.3 繪圖

主要參數(shù)確定后,點(diǎn)擊“繪圖”按鈕,程序會自動在當(dāng)前AutoCAD模型空間中按1∶1的比例自動按所輸入的參數(shù)繪圖(其他比例的剖面圖同理)。部分代碼如下(其他處的代碼略):

Private Sub btnDraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDraw.Click

InitLayers() '初始化圖層

NewTextStyle() '新建文字樣式

NewDimStyle() '新建標(biāo)注樣式

Dim dblStartPt(2), dblEndPt(2) As Double

Dim acDocDL As Document = Application.DocumentManager.MdiActiveDocument

Dim pPtRes As PromptPointResult

Dim pPtOpts As PromptPointOptions = New PromptPointOptions("")

pPtOpts.Message = vbLf & "請指定插入點(diǎn):"

pPtRes = acDocDL.Editor.GetPoint(pPtOpts)

Dim ptInsertPt As Point3d = pPtRes.Value

If pPtRes.Status = PromptStatus.Cancel Then Exit Sub

'++++++繪圖開始++++++

'' ''螺母中心線

Dim acLineCen As Line

dblStartPt(0) = ptInsertPt(0) + 5 : dblStartPt(1) = ptInsertPt(1) : dblStartPt(2) = ptInsertPt(2)

dblEndPt(0) = ptInsertPt(0) - tbWidth.Text - 10 : dblEndPt(1) = ptInsertPt(1) : dblEndPt(2) = ptInsertPt(2)

acLineCen = acDrawLine(New Point3d(dblStartPt(0), dblStartPt(1), dblStartPt(2)), _

New Point3d(dblEndPt(0), dblEndPt(1), dblEndPt(2)), "CENTER", , 20)

……

MsgBox("繪圖結(jié)束!", MsgBoxStyle.OkOnly, "螺母繪圖")

End Sub

……

''畫直線

Public Function acDrawLine(ByVal ptStartPt As Point3d, ByVal ptEndPt As Point3d, _

ByVal strLayer As String, Optional ByVal strLineType As String = _

"ByLayer", Optional ByVal dblLineTypeSc As Double = 1) As Line

Dim acDocDL As Document = Application.DocumentManager.MdiActiveDocument

Dim acCurDbDL As Database = acDocDL.Database

Using acTransDL As Transaction = acCurDbDL.TransactionManager.StartTransaction()

Dim acBlkTblDL As BlockTable

acBlkTblDL = acTransDL.GetObject(acCurDbDL.BlockTableId, OpenMode.ForRead)

Dim acBlkTblRec As BlockTableRecord

acBlkTblRec = acTransDL.GetObject(acBlkTblDL(BlockTableRecord.ModelSpace), _

OpenMode.ForWrite)

Dim acLineDL As Line = New Line(ptStartPt, ptEndPt)

acLineDL.SetDatabaseDefaults()

acLineDL.Layer = strLayer

If strLineType <> "" Then acLineDL.Linetype = strLineType

If dblLineTypeSc <> 0 Then acLineDL.LinetypeScale = dblLineTypeSc

acBlkTblRec.AppendEntity(acLineDL)

acTransDL.AddNewlyCreatedDBObject(acLineDL, True)

acTransDL.Commit()

acDrawLine = acLineDL

End Using

End Function

……

程序不僅直接繪制二維平面圖,還另外提供了與用戶指定文件名帶“-3D”標(biāo)識的三維實(shí)體圖,并自動獲得零件計算重量。

2.4 讀寫數(shù)據(jù)庫

參數(shù)定型后,所有的參數(shù)可以存入數(shù)據(jù)庫。數(shù)據(jù)庫的類型很多,開發(fā)人員可以根據(jù)自己公司的實(shí)際情況選用合適的數(shù)據(jù)庫類型。本程序選擇了最簡單的Access數(shù)據(jù)庫進(jìn)行開發(fā)。數(shù)據(jù)庫中不僅保存了零件參數(shù),還保存了項(xiàng)目信息,用戶隨時可以點(diǎn)擊“讀數(shù)據(jù)庫”按鈕,選擇指定項(xiàng)目的螺母,程序會自動將數(shù)據(jù)輸入主界面文本框。

2.5 繪制毛坯圖

圖紙經(jīng)業(yè)主和/或第三方審查通過后就可以下毛坯采購單了,點(diǎn)擊“繪制毛坯圖”,用戶在彈出界面輸入相應(yīng)的加工余量——若缺省值滿足要求可不做任何更改,程序會自動繪制采購所需的毛坯圖,而且還提供了毛坯的計算重量。

2.6 生成工藝卡

毛坯到貨以后,設(shè)計人員需要根據(jù)毛坯圖和施工圖編制零件的加工工藝卡。通常,一個單位同類零件的加工工藝一般是不會變的,因此,設(shè)計人員都是直接在已有項(xiàng)目加工工藝卡的基礎(chǔ)上更改相關(guān)參數(shù)即可。程序會按照預(yù)先設(shè)定的工序及每道工序的加工量自動生成加工工藝卡,如圖4所示。單位如果發(fā)生技改,只需在程序內(nèi)部調(diào)整一下即可。

圖4 加工工藝卡

2.7 生成檢驗(yàn)單

零件加工為成品后,單位質(zhì)檢部門的質(zhì)檢人員需要按零件檢驗(yàn)單中的項(xiàng)目逐個檢查零件的主要參數(shù)。點(diǎn)擊程序主界面上的“生成檢驗(yàn)單”按鈕,程序會自動生成當(dāng)前零件的檢驗(yàn)單供質(zhì)檢人員使用。

3 結(jié)束語

通過.NET API工具針對機(jī)械零件設(shè)計標(biāo)準(zhǔn)化進(jìn)行的AutoCAD二次開發(fā),顯著減少了設(shè)計人員類似或重復(fù)的操作,使設(shè)計人員的設(shè)計效率顯著提高,同時也消除了設(shè)計人員在各種文件編制過程中的差錯。希望本文提到的機(jī)械零件設(shè)計標(biāo)準(zhǔn)化的方法能起到一定拋磚引玉的作用。

[1] 李志超,余杉鈺,章波,等.基于.NET API的CAD二次開發(fā)技術(shù)在工程中的應(yīng)用[J].制造業(yè)自動化, 2013(15):122-124.

[2] 胡小林,於黃萍. AutoCAD.NET API在管系原理圖設(shè)繪中的應(yīng)用[J].船舶與海洋工程, 2016(1):45-50.

[3] 李冠億.深入淺出AutoCAD.NET二次開發(fā)[M].北京:中國建筑工業(yè)出版社, 2012.

[4] 曾洪飛,盧擇臨,張帆. AutoCAD VBA & VB.NET開發(fā)基礎(chǔ)與實(shí)例教程[M].2版.北京:中國電力出版社, 2013.

Application for AutoCAD .NET API in Standardized Design of Mechanical Part

HU Xiaolin

(Marine Design & Research Institute of China, Shanghai 200011, China)

The tools for application development of AuotCAD and their characters are introduced simply. The superiority of the latest developing tool.NET API is also introduced. During machinery part design, designer should carry out many operations, such as calculating, relative file compiling and so on. It pays more attention to describe the functions developed by .NET API aimed at these operations. These functions reduce repetitive operations widely, enhance the design effectiveness and eliminate the errors occurred during file compiling.

AutoCAD; .NET API; application development; machinery part; standardized design

胡小林(1977-),男,高級工程師,主要研究方向?yàn)榇拜啓C(jī)設(shè)計研究。

1000-3878(2017)01-0089-04

TH122

A

猜你喜歡
毛坯二次開發(fā)校核
發(fā)電機(jī)進(jìn)相試驗(yàn)失磁保護(hù)與低勵限制配合關(guān)系的校核
熱鍛狀態(tài)鋁合金鍛件毛坯的優(yōu)化方法
鋁加工(2020年3期)2020-12-13 18:38:03
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
通行費(fèi)校核分析方法探究
基于機(jī)器視覺的毛坯件磨削軌跡識別研究
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于最短路徑的杠桿毛坯尺寸設(shè)計
基于路徑圖的平面毛坯尺寸基準(zhǔn)的研究
西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
基于Mathematica的失磁保護(hù)與低勵限制配合的校核
主站蜘蛛池模板: 草草线在成年免费视频2| 国内嫩模私拍精品视频| 91色爱欧美精品www| 亚洲精品动漫在线观看| 亚洲天堂久久| 99尹人香蕉国产免费天天拍| 国产精品亚洲片在线va| 欧美亚洲第一页| yjizz视频最新网站在线| 99热这里只有精品国产99| 亚洲精品午夜无码电影网| 亚洲最猛黑人xxxx黑人猛交| 97视频精品全国免费观看| 久久精品国产国语对白| 福利一区三区| 久久综合色天堂av| hezyo加勒比一区二区三区| 激情無極限的亚洲一区免费| 91欧美在线| 99久久国产自偷自偷免费一区| 黄色在线网| 亚洲va视频| 99久久精品国产麻豆婷婷| 五月婷婷丁香综合| 欧美a网站| 2020精品极品国产色在线观看| 日韩福利视频导航| 国产精品一线天| 亚洲国产精品无码AV| 亚欧成人无码AV在线播放| 日韩欧美中文| 超清无码一区二区三区| 亚洲日本www| 99精品免费在线| 99re在线免费视频| 99视频在线免费| 国产最爽的乱婬视频国语对白| 精品国产中文一级毛片在线看| 国产亚洲精品va在线| 99热这里只有精品在线播放| 国产又粗又爽视频| 亚洲人成在线免费观看| 国产国拍精品视频免费看| 女人天堂av免费| 99精品国产电影| 国产精品久久自在自线观看| 亚洲欧美另类日本| 亚洲第一成年人网站| 在线国产欧美| 国产成人精品一区二区| 精品国产91爱| 亚洲伊人电影| 国内老司机精品视频在线播出| 欧美在线中文字幕| 波多野结衣AV无码久久一区| 亚洲青涩在线| 国产美女无遮挡免费视频网站| 欧美a√在线| 丁香亚洲综合五月天婷婷| 日韩在线2020专区| 精品国产一区二区三区在线观看 | 久99久热只有精品国产15| 中文字幕无码av专区久久| 久操线在视频在线观看| 国产免费精彩视频| 中文字幕久久亚洲一区| 欧美黄色网站在线看| 亚洲另类色| 天堂av高清一区二区三区| 亚洲无码视频一区二区三区| 欧美精品影院| 欧美狠狠干| 欧美午夜网| 国产亚洲精久久久久久无码AV| 国产丝袜无码精品| 正在播放久久| 亚洲中文字幕国产av| 日本一区二区三区精品AⅤ| 欧美a在线| 亚洲精品爱草草视频在线| 亚洲视频四区| 91久久精品日日躁夜夜躁欧美|