陳光霞
(江漢大學(xué)機(jī)電與建筑工程學(xué)院,湖北 武漢 430056)
程序開發(fā)的總體思路如圖1所示,程序讀取CAD圖形數(shù)據(jù)庫中的相關(guān)尺寸,根據(jù)定位基準(zhǔn)與工序基準(zhǔn)的關(guān)系計算最后的定位誤差。
程序讀取CAD圖形數(shù)據(jù)庫中的相關(guān)尺寸;
判斷工序基準(zhǔn)與定位基準(zhǔn)的關(guān)系;
計算基準(zhǔn)位移誤差與基準(zhǔn)不重合誤差;
根據(jù)定位基準(zhǔn)與工序基準(zhǔn)的關(guān)系計算最后的定位誤差。
讀取尺寸數(shù)據(jù)的步驟如下:
獲取當(dāng)前圖形文檔;
獲取當(dāng)前工作圖形數(shù)據(jù)庫;
圖1 程序的總體思路
建立當(dāng)前圖形數(shù)據(jù)庫事務(wù);
以只讀方式打開當(dāng)前圖形數(shù)據(jù)塊表記錄;
遍歷塊表記錄,當(dāng)實(shí)體為尺寸時,讀取其數(shù)據(jù)存入尺寸數(shù)據(jù)數(shù)組中。
為了存儲尺寸數(shù)據(jù)建立如下所示的尺寸數(shù)據(jù)結(jié)構(gòu):
public struct Dimdata
{public string DimType;//尺寸類型
public Point3d StartPt;//第一尺寸界線起點(diǎn)坐標(biāo)
public Point3d EndPt;//第二尺寸界線起點(diǎn)坐標(biāo)
public double DimVal { get;set;}//基本尺寸
public double DimTpval { get;set;}//尺寸上偏差
public double DimTmval { get;set;}//尺寸下偏差
public Point3d CenterPt;//徑向尺寸圓心坐標(biāo)
public ObjectId DimObjid;//尺寸實(shí)體的ID };
圖2 V形塊定位誤差計算
在V形塊定位誤差的計算中,當(dāng)工序基準(zhǔn)與定位基準(zhǔn)不重合時,存在基準(zhǔn)不重合誤差,計算定位誤差時是由基準(zhǔn)不重合誤差與基準(zhǔn)位移誤差合成得到;當(dāng)工序基準(zhǔn)與定位基準(zhǔn)重合時,則只存在基準(zhǔn)位移誤差。因此,在進(jìn)行定位誤差計算時,首先應(yīng)判斷工序基準(zhǔn)與定位基準(zhǔn)的關(guān)系。如圖2所示,定位基面為Φ80的圓柱面,定位基準(zhǔn)為其軸線,工序基準(zhǔn)為Φ80的下素線,工序尺寸為76,要計算此工序的定位誤差,首先判斷定位基準(zhǔn)與工序基準(zhǔn)不重合。
判斷定位基準(zhǔn)與工序基準(zhǔn)是否重合的流程圖如圖3所示。在前述讀取工序尺寸的兩個尺寸界線起點(diǎn)后,判斷工序尺寸的方向(水平、垂直或傾斜),如果工序尺寸是垂直方向(如圖2所示),比較兩個尺寸界線起點(diǎn)的Y坐標(biāo)與定位基準(zhǔn)點(diǎn)(定位基準(zhǔn)軸線所在的點(diǎn))Y坐標(biāo)的關(guān)系,如果兩個尺寸界線起點(diǎn)中有一個點(diǎn)的Y坐標(biāo)與定位基準(zhǔn)點(diǎn)的Y坐標(biāo)相同,即可判定工序基準(zhǔn)與定位基準(zhǔn)重合,否則兩者不重合。
圖3 判斷工序基準(zhǔn)與定位基準(zhǔn)是否重合的流程圖
在進(jìn)行V形塊定位誤差計算時,如果基準(zhǔn)不重合誤差與基準(zhǔn)位移誤差同時存在,則總的定位誤差根據(jù)公式Δdw=Δjw±Δjb合成,其中正負(fù)號的確定方法有多種,本文根據(jù)定位接觸點(diǎn)、定位基準(zhǔn)點(diǎn)、工序基準(zhǔn)點(diǎn)三者的關(guān)系來判斷,如圖3所示,當(dāng)定位接觸點(diǎn)與工序基準(zhǔn)點(diǎn)在定位基準(zhǔn)點(diǎn)的同側(cè)取“-”,異側(cè)取“+”。
定位接觸點(diǎn)的讀取方法:程序首先遍歷當(dāng)前圖形數(shù)據(jù)庫的所有直線(V形塊輪廓),求每條直線與Φ80圓的交點(diǎn),當(dāng)一條輪廓線與圓的交點(diǎn)數(shù)為1時,則為定位接觸點(diǎn),記錄其坐標(biāo)值。
工序基準(zhǔn)點(diǎn)的讀取方法:由于在標(biāo)注工序尺寸時,工序基準(zhǔn)的選取往往為圓柱的素線或軸線,所以工序基準(zhǔn)點(diǎn)往往在圓的象限點(diǎn)與圓心點(diǎn)位置。將工序尺寸的兩個尺寸界線起點(diǎn)與圓的象限點(diǎn)或圓心點(diǎn)進(jìn)行比較,可以判斷工序尺寸的兩個尺寸界線起點(diǎn)中哪個點(diǎn)是工序基準(zhǔn)點(diǎn),如圖3所示,工序尺寸的下尺寸界線起點(diǎn)為工序基準(zhǔn)點(diǎn)。
程序運(yùn)行后,提示選擇工序尺寸后,可自動判斷定位基準(zhǔn)與工序基準(zhǔn)是否重合、自動判斷基準(zhǔn)位移誤差與基準(zhǔn)不重合誤差的合成關(guān)系、自動計算最終的定位誤差。結(jié)果如圖4所示,該程序已用于實(shí)踐,可以提高設(shè)計效率,減少計算錯誤,具有一定的實(shí)用價值。
圖4 定位誤差計算結(jié)果