?

工藝尺寸鏈求解的AutoCAD C#二次開發

2021-10-20 12:18陳光霞
湖北農機化 2021年18期
關鍵詞:界線公差二次開發

陳光霞

(江漢大學智能制造學院,湖北 武漢 430056)

0 前言

在設計、制造、裝配機械零部件的過程中,工藝尺寸鏈的計算是不可或缺的,在新產品的研發過程中,其作用更為重要[1]。零件圖中所標注的尺寸公差是零件加工最終所需要達到的要求,即設計要求,而工藝過程中的許多中間工序的尺寸公差,是在機械加工工藝規程設計中通過計算工藝尺寸鏈才能確定的[2]。傳統工藝尺寸鏈的計算是由設計人員確定工藝尺寸鏈以及尺寸鏈中的各組成環的類別,再利用相差計算公式計算各組成環的基本尺寸及公差,此方法效率比較低且容易產生差錯,導致設計錯誤。

AutoCAD軟件是二維設計圖繪制的常用軟件,其功能強大,使用方便,是目前機械設計中常用的計算機輔助軟件,它提供了強大的二次開發功能,如AutoLisp、ObjectARX、VBA以及C#都可對AutoCAD進行二次開發,其中C#是利用.NET環境進行二次開發的方式之一,其開發周期短、開發便捷[3],是目前較為常用的開發方式之一。

本文利用C#語言及.NET Framework組件開發了一個可以在AutoCAD環境下繪制被加工零件簡圖,并在其上標注工藝尺寸,形成工藝尺寸鏈,用戶只需要選擇其中的一個尺寸作為封閉環,即可自動對圖中尺寸進行遍歷,自動搜索尺寸,查找工藝尺寸鏈,最后計算出未知尺寸的基本尺寸及其公差。

1 程序實現的方法

程序實現功能的基本思路如下:

利用AutoCAD軟件繪制加工零件簡圖,并標注相應的工藝尺寸,待求尺寸鏈中的環為A,如圖1所示。其實現思路流程如圖2所示。

圖1 零件簡圖

圖2 功能實現流程圖

2 程序功能實現的關鍵技術

2.1 尺寸數據的獲取

在AutoCAD中尺寸數據是存儲在其圖形數據庫(Database)中,要完成尺寸鏈的計算必須首先獲取圖中所標注尺寸的數據。讀取尺寸數據的步驟如下:

(1)獲取當前圖形文檔。

Document doc=Application.DocumentManager.MdiActiveDocument

(2)獲取當前工作圖形數據庫。

Database acCurDb=HostApplicationServices.WorkingDatabase

(3)建立當前圖形數據庫事務。

Transaction acTrans=acCurDb.TransactionManager.StartTransaction()

以只讀方式打開當前圖形數據塊表記錄

遍歷塊表記錄,當實體為尺寸實體時,讀取其數據存入尺寸數據數組中。

為了存儲尺寸數據建立如下所示的尺寸數據結構:

public struct Dimdata

{

public string DimType;//尺寸類型

public string LoopType { get;set;}//環類型

public Point3d StartPt;//第一尺寸界線起點坐標

public Point3d EndPt;//第二尺寸界線起點坐標

public double DimVal { get;set;}//基本尺寸

public double DimTpval { get;set;}//尺寸上偏差

public double DimTmval { get;set;}//尺寸下偏差

public Point3d CenterPt;//徑向尺寸圓心坐標

public ObjectId DimObjid;//尺寸實體的ID

public bool Flag;//使用標志

}。

并建立結構數組來保存尺寸相關數據。

2.2 尺寸鏈形成及增減環的自動判斷

本文以水平尺寸鏈為例,如圖3所示:首先判斷封閉環2個尺寸界線起點的X坐標的大小,將X坐標小的作為第二尺寸界線起點(如A0為封閉環,左邊為第二尺寸界線起點);然后搜索尺寸鏈的其它尺寸,若某個尺寸的尺寸界線起點的X坐標等于封閉環第二尺寸界線起點的X坐標(如圖3所示A2的左邊起點),則此尺寸為尺寸鏈的下一環,并將此尺寸界線起點作為A2的第一尺寸界線起點,另一個尺寸界線的起點作為第二尺寸界線的起點;第三步再判斷A2的2個尺寸界線起點的X坐標大小,當第二尺寸界線起點的X坐標大于第一尺寸界線起點的X坐標,則此尺寸為增環,反之為減環(A2為增環);再以A2的第二尺寸界線起點的X坐標去搜索,當下一個尺寸的2個尺寸界線起點中有一個點的X坐標與A2的第二尺寸界線起點相等,則為尺寸鏈的下一環,如圖3的A1,同樣的方法,再判斷A1兩個尺寸界線起點X坐標的大小關系,從而判斷其增減性。

圖3 尺寸鏈增減環判斷

如果尺寸鏈為垂直尺寸鏈,則以尺寸的尺寸界線起點坐標的Y坐標作為判斷依據。如果是平面尺寸鏈,則以尺寸界線起點的X、Y坐標作為判斷依據。

2.3 直徑尺寸的處理

在工藝尺寸鏈的計算過程中,對直徑尺寸的處理方法是基本尺寸取一半,公差也取一半作為尺寸鏈中的一個環。如圖4中的19.8及20兩個尺寸。本文以水平尺寸鏈為例說明其處理方法。

圖4 直徑尺寸的處理

當尺寸實體的類型為“AcDbDiametricDimension”或為“AcDbRotatedDimension”但其替代文本中含有“%%C”字符串時,都是直徑尺寸,如果是“AcDbDiametricDimension”類型,則將尺寸線變換為水平后,求出2個尺寸界線的起點坐標,存入數組中。當一個直徑的2個尺寸界線起點中有一個與現有尺寸中的尺寸界線起點坐標相同,如尺寸Φ40的左尺寸界線起點與43.6的左尺寸界線起點相同,則它的另一個尺寸界線起點用圓心坐標替代,基本尺寸及上下偏差均取半。

3 結論

圖1所示的工藝尺寸鏈計算結果如圖5所示。

圖5 工藝尺寸鏈計算結果圖

利用C#進行工藝尺寸鏈的自動計算,開發方法簡單,可以有效地減輕計算工作量和避免計算錯誤,有利用于提高工藝規程設計的工作效率。

猜你喜歡
界線公差二次開發
AutoCAD 與PDMS 二次開發在三維復雜形體設計建模上的應用
滑移門開門位置公差分析優化
毛絨情結
The Beasts Within
例談對高中數學教材中習題的二次開發
數列核心考點測試卷A 參考答案
淺談CAD軟件二次開發的方法及工具
例談課本習題的“二次開發”
婚姻的智慧,是分寸和界線
從簡單特殊入手解決數列問題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合