如何从 EAGLE 中获得具有 2.4 精度和尾随零抑制的 Excellon Drill 文件?

电器工程 pcb制造 格柏
2022-01-27 09:24:28

我正在尝试从 EAGLE 6.2.0 输出 CAM 数据,以获取在 Advanced Circuits 制造的一些 PCB。他们首选的 NC 钻孔格式(尤其是他们的在线 FreeDFM 工具使用的格式)是

Excellon 格式,ASCII 奇数/无,2.4 尾随零抑制,英制单位,无步长和重复。

他们的在线工具和 GC-Prevue 都自动将我的 NC 钻孔文件识别为具有前导零抑制的2.3格式。因此,虽然孔的大小正确,但它们散布的面积比 PCB 大 10 倍,导致 DFM 工具发疯,我准备好跟进了。

GC-Prevue 显示出了什么问题

我可以让 EAGLE 给我 2.4 个尾随抑制的文件(或者至少没有抑制)吗?或者,是否有一种工具可以将 EAGLE 吐出的损坏文件转换为合理的文件?

我尝试使用此处描述的“hack”来尝试强制不进行零抑制,但随后我的文件被检测为 3.3 精度。

我的 CAM 工作定义为:

[Sec_8]
Name[en]="Drill File"
Prompt[en]=""
Device="EXCELLON"
Wheel=""
Rack=""
Scale=1
Output=".NC"
Flags="0 0 0 1 0 1 1"
Emulate="0"
Offset="0.0mil 0.0mil"
Sheet=1
Tolerance="0 0 0 0 0 0"
Pen="0.0mil 0"
Page="12000.0mil 8000.0mil"
Layers=" 44 45"
Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0"
4个回答

将设备更改为“EXCELLON_24”。

以下是使用 Device="EXCELLON_24" 的 .XLN 中的一些行:

...
T01C0.0130
...
T01
X13969Y11517

以下是使用 .XLN 表示 Device="EXCELLON" 格式错误的相同行:

...
T01C0.01300    
...    
T01    
X139686Y115173

这种错误的格式会导致上面显示的 10x NC Drill 错误;我没有用 GC_Prevue 进行检查,但是在上传到 OSHPARK 时我看到了这个 10x 问题。

您可以发布您正在使用的 CAM 文件的 NC Drill 部分吗?我已经从 Advanced Circuits 获得了几个成功的订单,并且总是检查 FreeDFM。我现在使用的是 Eagle 6.3.0,但我使用同一个 CAM 文件已经有一段时间了。

这是我的 CAM 文件中用于 AC 标准四层的 NC 钻孔部分(除非你盲 &| 埋孔,这应该适用于任意数量的层):

[Sec_9]
Name[en]="NC Drill"
Prompt=""
Device="EXCELLON"
Wheel=".whl"
Rack=""
Scale=1
Output="%P/CAMs/%N/NC_Drill.drp"
Flags="0 0 0 1 0 1 1"
Emulate="0"
Offset="0.0mil 0.0mil"
Sheet=1
Tolerance="0 0 0 0 0 0"
Pen="0.0mil 0"
Page="12000.0mil 8000.0mil"
Layers=" 44 45"
Colors=" 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 6 6 4 8 8 8 8 8 8 8 8 8 8 8 8 8 4 4 1 1 1 1 3 3 1 2 6 8 8 5 8 8 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 2 4 3 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0"

您可能想要更改输出,因为它会将其放在子文件夹中。否则,试一试。

可能我刚面对它时就找到了导致该问题的原因。钻孔文件(通常为 *.TXT)中的坐标比最可能的值大 10 倍,因为 CAM 处理器中使用的设备的分辨率(EXCELLON很可能)比GERBER_RS274X. 要检查它,请尝试以下操作:

eagle.def在您的文件中打开文件$EAGLEDIR$\bin并找到与您用于生成钻孔文件的设备相关的部分,我将展示我的EXCELLON

[EXCELLON]

Type     = DrillStation
Long     = "Excellon drill station, coordinate format 2.5 inch"
Init     = "%%\nM48\nM72\n"
Reset    = "M30\n"
ResX     = 10000
ResY     = 10000
;Rack     = ""
DrillSize  = "%sC%0.5f\n"        ; (Tool code, tool size)
AutoDrill  = "T%02d"             ; (Tool number)
FirstDrill = 1
BeginData  = "%%\n"
Units    = Inch
Select   = "%s\n"                ; (Drill code)
Drill    = "X%1.0fY%1.0f\n"      ; (x, y)
Info     = "Drill File Info:\n"\
           "\n"\
           " Data Mode         : Absolute\n"\
           " Units             : 1/100000 Inch\n"\
           "\n"

现在,注意ResXResY参数。当我得到比预期大 10 倍的文件时,这些行包含100000常量。我将它们减少到 10000,瞧,我得到了我的预期。

另请注意,EXCELLON您可能希望提高GERBER_RS274X分辨率,而不是降低分辨率,具体取决于您的需求/电路板/电路板制造商。

在 GC-Prevue 中,从菜单中选择 Tools/Customize;选择设置选项卡;勾选使用默认 NC 钻头导入参数;按右侧的按钮设置默认值并将整数设置为 2 和精度设置为 4

戴夫