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