陳光霞
(江漢大學機電與建筑工程學院,湖北 武漢 430056)
程序開發的總體思路如圖1所示,程序讀取CAD圖形數據庫中的相關尺寸,根據定位基準與工序基準的關系計算最后的定位誤差。
程序讀取CAD圖形數據庫中的相關尺寸;
判斷工序基準與定位基準的關系;
計算基準位移誤差與基準不重合誤差;
根據定位基準與工序基準的關系計算最后的定位誤差。
讀取尺寸數據的步驟如下:
獲取當前圖形文檔;
獲取當前工作圖形數據庫;

圖1 程序的總體思路
建立當前圖形數據庫事務;
以只讀方式打開當前圖形數據塊表記錄;
遍歷塊表記錄,當實體為尺寸時,讀取其數據存入尺寸數據數組中。
為了存儲尺寸數據建立如下所示的尺寸數據結構:
public struct Dimdata
{public string DimType;//尺寸類型
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 };

圖2 V形塊定位誤差計算
在V形塊定位誤差的計算中,當工序基準與定位基準不重合時,存在基準不重合誤差,計算定位誤差時是由基準不重合誤差與基準位移誤差合成得到;當工序基準與定位基準重合時,則只存在基準位移誤差。因此,在進行定位誤差計算時,首先應判斷工序基準與定位基準的關系。如圖2所示,定位基面為Φ80的圓柱面,定位基準為其軸線,工序基準為Φ80的下素線,工序尺寸為76,要計算此工序的定位誤差,首先判斷定位基準與工序基準不重合。
判斷定位基準與工序基準是否重合的流程圖如圖3所示。在前述讀取工序尺寸的兩個尺寸界線起點后,判斷工序尺寸的方向(水平、垂直或傾斜),如果工序尺寸是垂直方向(如圖2所示),比較兩個尺寸界線起點的Y坐標與定位基準點(定位基準軸線所在的點)Y坐標的關系,如果兩個尺寸界線起點中有一個點的Y坐標與定位基準點的Y坐標相同,即可判定工序基準與定位基準重合,否則兩者不重合。

圖3 判斷工序基準與定位基準是否重合的流程圖
在進行V形塊定位誤差計算時,如果基準不重合誤差與基準位移誤差同時存在,則總的定位誤差根據公式Δdw=Δjw±Δjb合成,其中正負號的確定方法有多種,本文根據定位接觸點、定位基準點、工序基準點三者的關系來判斷,如圖3所示,當定位接觸點與工序基準點在定位基準點的同側取“-”,異側取“+”。
定位接觸點的讀取方法:程序首先遍歷當前圖形數據庫的所有直線(V形塊輪廓),求每條直線與Φ80圓的交點,當一條輪廓線與圓的交點數為1時,則為定位接觸點,記錄其坐標值。
工序基準點的讀取方法:由于在標注工序尺寸時,工序基準的選取往往為圓柱的素線或軸線,所以工序基準點往往在圓的象限點與圓心點位置。將工序尺寸的兩個尺寸界線起點與圓的象限點或圓心點進行比較,可以判斷工序尺寸的兩個尺寸界線起點中哪個點是工序基準點,如圖3所示,工序尺寸的下尺寸界線起點為工序基準點。
程序運行后,提示選擇工序尺寸后,可自動判斷定位基準與工序基準是否重合、自動判斷基準位移誤差與基準不重合誤差的合成關系、自動計算最終的定位誤差。結果如圖4所示,該程序已用于實踐,可以提高設計效率,減少計算錯誤,具有一定的實用價值。

圖4 定位誤差計算結果