Skip to content

Unsupported commands in Zuken CR-8000 Excellon files #93

@neinseg

Description

@neinseg

Hi there,

for compatibility testing of gerbonara I have been collecting a number of sample gerber files from different ECAD packages. I noticed that gerbv produces several warnings on Excellon files generated by a recent Zuken CR-8000:

** (process:855931): CRITICAL **: 01:11:04.912: Undefined code 'A' (0x41) found in header at line 7 in file "/home/jaseg/proj/gerbolyze/gerbonara/gerbonara/tests/resources/zuken-emulated/Drill/8seg_Driver__routed_Drill_thru_nplt.fdr"
** (process:855931): WARNING **: 01:11:04.915: Unrecognised string "ATC,ON" in header at line 7 in file "/home/jaseg/proj/gerbolyze/gerbonara/gerbonara/tests/resources/zuken-emulated/Drill/8seg_Driver__routed_Drill_thru_nplt.fdr"
** (process:855931): CRITICAL **: 01:11:04.915: Unsupported M06 (stop optional) code found at line 9 in file "/home/jaseg/proj/gerbolyze/gerbonara/gerbonara/tests/resources/zuken-emulated/Drill/8seg_Driver__routed_Drill_thru_nplt.fdr"
** (process:855931): CRITICAL **: 01:11:04.915: Unsupported M06 (stop optional) code found at line 18 in file "/home/jaseg/proj/gerbolyze/gerbonara/gerbonara/tests/resources/zuken-emulated/Drill/8seg_Driver__routed_Drill_thru_nplt.fdr"
** (process:855931): CRITICAL **: 01:11:04.915: Unsupported M06 (stop optional) code found at line 23 in file "/home/jaseg/proj/gerbolyze/gerbonara/gerbonara/tests/resources/zuken-emulated/Drill/8seg_Driver__routed_Drill_thru_nplt.fdr"

I can't share the original files for copyright reasons, but I have re-created an excellon file with the same features here:

drill.zip

The two things gerbv stumbles over are:

  • CR-8000 uses a vestigial ATC,ON statement in the header. This is the cause for the first two warnings. This statement can be safely ignored.
  • CR-8000 (at least in the configuration tested) emits a "M06" before every tool change. These, too, can be safely ignored.

I would suggest adding code that just ignores the ATC statement without any warnings, and downgrading the CRITICAL warning on the M06 to a regular warning, or disabling them altogether in CR-8000 files. CR-8000 files can be uniquely identified (out of the 15 or so CAD tools from which I have sample files) by that they are the only ones using ATC or DETECT in their header.

Metadata

Metadata

Assignees

Labels

drillParsing error when reading drill files

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions