陈光霞
(江汉大学机电与建筑工程学院,湖北 武汉 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 定位误差计算结果