PCB钻孔时,当钻刀>6.3mm时,超出钻孔范围,钻孔工序是没有这么大的钻刀,当这种情况,工程CAM会都采用G84命令用小孔扩孔的方式制作, 在这里介绍一种如果不用G84命令,用程序实现将大孔生成小孔钻孔达到扩孔的目的。
一.我们先了解一下G84命令扩孔
孔尺寸大小
孔密度
连一篇文章有关于孔数计算方式: https://www.cnblogs.com/pcbren/p/9379178.html
二.求解思路
1.通过孔密度,求出孔与孔中心距离
2.求出单次增量方位角
3.以大孔中心为,长度为(大孔半径-小孔半径), 任选择一个方位角作为起始方位角,并增加一个起始孔,并围绕这个起始方位角不断递增方位角,直到360度递增完成后即结束。
三.C#简易代码实现:
1.扩孔钻孔代码
string drilllayer = "drl"; gLayer layer = g.getFEATURES($"{drilllayer}", g.STEP, g.JOB, "mm", true); List<gPP> pList = new List<gPP>(); double HoleSize = 3175; //扩孔所用钻刀大小 foreach (var pad in layer.Plist) { if (pad.width > 6300) //钻孔>6300需扩孔 { gA arc = calc2.p_2A(new gP(pad.p, pad.width - HoleSize)); arc.width = HoleSize; var HoleCenterDi = calc2.p_Convex(arc.width * 0.0005)*3; pList.AddRange(calc2.a_2Plist(arc, HoleCenterDi, 2, true)); } } addCOM.pad(pList);