public BlankLayoutMode(){
int m_nModeType; //排样方式
intm_nAngleStart,m_nAngleEnd,m_nAngleInc;//优化排样开始角度、终止角度、角度增量
doublem_dIncY;// 多排时Y方向的错移量
int m_nElaborate;// 细化角度范围值
intm_nAngleConstraint;//弯曲约束值
doubledTopWeb,dBottomWeb,dProgWeb;// 上搭边值、下搭边值、工件间搭边值}
① α在角度下,采用最小包络法得到毛坯图形loop1的矩形包络线bound1,并得到bound1的中心点cen1。
② 复制图形loop1得到loop2和loop3,以cen1为旋转中心将loop2旋转180°,得到loop2和loop3的矩形包络线bound2和bound3,将loop2向Y负方向移动大于bound2高度再加一个工件间搭边值的距离,然后再向X正方向移动大于bound2宽度加一个工件搭边值的距离;将loop3向X正方向移动大于2倍于bound3宽度加一个工件间搭边值的距离,从而保证排样开始阶段各图形不产生干涉。
③ 将loop2向Y正方向平移△u的距离,将loop1和loop2分解为图元,包括各段的直线和圆弧,遍历每段图元间的距离,得到这些距离中的最短距离,如果最短距离与工件间搭边值之差的绝对值大于给定的误差值dT,则在水平方向移动loop2,移动距离为最短距离减去工件搭边值。再求最短距离并移动,直到满足误差要求,然后记录下loop2当前的位置。
④ 遍历loop3与loop2、loop1各段图元的距离,方法与上一步相同,当满足误差dT时,停止移动,记录下loop3当前的位置。
⑤ 计算loop3与loop1同一段图元开始点的坐标值,两个X坐标值之差的绝对值就是所需的步距值,并计算当前Y向错移量下的材料的利用率。
public class CBlankLayoutResult {
public String nModeName;//排样名称
public int nAng; //当前角度
public double dRatio; //材料利用率
public double dProg; //步距
public double dTopWeb,dBottomWeb,dProgWeb //上搭边值、下搭边值、工件间搭边值
public double dStripWidth;//条料宽度
public CVector2d vecMove; //Y向错译量
public double netArea;//单个毛坯净面积
}
参考文献
1.A.Y.C.Nee. A heuristic algorithm for optimum layout of metal stamping blanks. Ann.CIRP,1984,33:317~320
2. A.Y.C.Nee, K.Y.Foong. Some considerations in the design and automatic staging of progressive dies. International journal of materials processing technology,1992,29:147~158
3.林好转.平行线分割一步平移法排样算法的研究。锻压技术,1994,(5):33~35
4.孙友松,罗月参。冲裁件优化排样的顶点算法。锻压技术,1995,(4):23~25
5. 华刚,肖祥芷,肖景容。冲裁件排样的优化设计。华中工学院学报,1987,15(1):5~10
6. H.S.Ismail,K.K.B.Hon. New approaches for the nesting of two-dimensional shapes for press tool design. International journal of production research,1992,30(4):825~837
7.周雄辉,彭颖红. 现代模具设计制造理论与技术. 上海:上海交通大学出版社,2000
8.赵震. 实用型冲压毛坯优化排样系统的研究与开发,机械科学与技术,2002,21(2):312~314
9.金晓淮. 冲压毛坯优化排样CAD系统的研制 上海交通大学硕士论文,1998