0
\$\begingroup\$

After ordering some PCBs involving fairly complex milling patterns from a Chinese supplier, I was given the production files and asked to verify that they are correct. However, I'm not sure what software I might use for this purpose, or even what format the data is in. I was originally given a RAR archive containing several sub-archives, that when extracted, produced the below file tree.

After opening the files in the root ok folder I discovered that many of them seemed to be gcode, but the coordinates seemed to be really large and the units seemed to not be in either mm or inches. I've linked the bl gcode file at https://drive.google.com/file/d/1iyDGTMyRQusyLc0Y1U8_9xC5eDlBLGwC/view?usp=sharing.

Any thoughts on what this file format is, and how I might verify its correctness?

Folder PATH listing for volume Windows
Volume serial number is 8A07-1A4D
C:.
|   output.txt
|   
\---ok
    |   bl
    |   bo
    |   bs
    |   ck
    |   drl
    |   ko
    |   tl
    |   ts
    |   
    \---221155.tgz
        \---221155.tar
            +---ext
            +---flows
            +---fonts
            |       standard
            |       
            +---fonts_ex
            |   \---shx
            +---forms
            +---input
            +---matrix
            |       .matrix.sum
            |       matrix
            |       
            +---misc
            |       .attrlist.sum
            |       .info.sum
            |       .userattr.sum
            |       attrlist
            |       info
            |       job_name
            |       last_save
            |       userattr
            |       
            +---output
            +---stackups
            +---steps
            |   +---edit
            |   |   |   .attrlist.sum
            |   |   |   .profile.sum
            |   |   |   .stephdr.sum
            |   |   |   attrlist
            |   |   |   profile
            |   |   |   stephdr
            |   |   |   
            |   |   \---layers
            |   |       +---bl
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       
            |   |       +---bl+1
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---bo
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---bo+1
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---bs
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       
            |   |       +---bs+1
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---ck
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---drl
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       .tools.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       tools
            |   |       |       
            |   |       +---ko
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       .tools.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       tools
            |   |       |       
            |   |       +---ko+1
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       .tools.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       tools
            |   |       |       
            |   |       +---tl
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       
            |   |       +---tl+1
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features
            |   |       |       
            |   |       +---ts
            |   |       |       .attrlist.sum
            |   |       |       .features.sum
            |   |       |       attrlist
            |   |       |       features.Z
            |   |       |       
            |   |       \---ts+1
            |   |               .attrlist.sum
            |   |               .features.sum
            |   |               attrlist
            |   |               features
            |   |               
            |   \---orig
            |       |   .attrlist.sum
            |       |   .profile.sum
            |       |   .stephdr.sum
            |       |   attrlist
            |       |   profile
            |       |   stephdr
            |       |   
            |       \---layers
            |           +---bl
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---bl+1
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---bo
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---bo+1
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---bs
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---bs+1
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---ck
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---drl
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       .tools.sum
            |           |       attrlist
            |           |       features
            |           |       tools
            |           |       
            |           +---ko
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       .tools.sum
            |           |       attrlist
            |           |       features.Z
            |           |       tools
            |           |       
            |           +---ko+1
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       .tools.sum
            |           |       attrlist
            |           |       features.Z
            |           |       tools
            |           |       
            |           +---tl
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---tl+1
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           +---ts
            |           |       .attrlist.sum
            |           |       .features.sum
            |           |       attrlist
            |           |       features
            |           |       
            |           \---ts+1
            |                   .attrlist.sum
            |                   .features.sum
            |                   attrlist
            |                   features
            |                   
            +---symbols
            +---user
            |   \---input_reports
            |           07Apr20.193936
            |           
            +---wheels
            \---whltemps
\$\endgroup\$
8
  • \$\begingroup\$ Maybe the units are mils. 1 mil is 0.001 inches. A mili-inch. bl is bottom layer. bo is bottom overlay (aka silkscreen). bs is bottom solder (solder mask). tl is top layer. ts is top solder. Not sure about ko and ck. drl is something related to drill. You need a gerber viewer to view the files. I usually use ViewMate gerber viewer which is a free download from Pentalogix. \$\endgroup\$
    – user57037
    Commented Apr 8, 2020 at 4:05
  • \$\begingroup\$ What files did you send to the board house? Usually I send them gerbers and a fab drawing. \$\endgroup\$
    – user57037
    Commented Apr 8, 2020 at 4:06
  • 1
    \$\begingroup\$ You ordered PCB...millings? What? Why? Not etching? \$\endgroup\$
    – DKNguyen
    Commented Apr 8, 2020 at 5:22
  • \$\begingroup\$ @mkeith I sent them Gerbers and a fab drawing as well, but my copper layer has 30+ polygons with cutouts and they weren't sure if it was rendering properly, despite the fact that the Gerber looked fine on my machine. I agree the units are probably mils (it's a circuit board after all), but I don't know any gcode viewer that supports mils. However, this archive doesn't look like a Gerber (the files inside are gcode), so a standard Gerber viewer wouldn't work. \$\endgroup\$ Commented Apr 8, 2020 at 6:26
  • \$\begingroup\$ @DKNguyen The PCB also has top and bottom copper layers, silkscreen, etc. It's just that the profile is really irregular and the board has 30+ oddly shaped holes. \$\endgroup\$ Commented Apr 8, 2020 at 6:26

1 Answer 1

1
\$\begingroup\$

Those look like a standard Gerber files: bl - Bottom Layer, bo - Bottom Overlay, bs - Bottom Silkscreen etc.

You can view it in any Gerber file viewer like: Gerbv, GerbView (from KiCAD) or other.

Also you can view it in 3D using ZofzPCB.

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ Huh alright, I guess I don't know what Gerber files look like. Thanks! \$\endgroup\$ Commented Apr 8, 2020 at 19:46
  • 1
    \$\begingroup\$ Just FYI I also opened the file with viewmate and it looked just like this image. I also read a little bit of the gerber specification. Units can be either inches or mm but the decimal place is omitted. There is a format specifier that tells how to interpret the decimal place (basically, how many digits are after the decimal place). Gerbers are very similar to G codes. Maybe the same. It is all about loading an aperture (like loading a tool) then moving around with it similar to a milling operation. \$\endgroup\$
    – user57037
    Commented Apr 9, 2020 at 1:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.