Author Topic: Seeking PADs .pcb file format specification to write decoder for OpenBoardView  (Read 15025 times)

0 Members and 1 Guest are viewing this topic.

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
Hi everyone,

  Wondering if anyone had access to the file format specification for the PADs .pcb file format ( looks like a database type format from initial inspection ) ?

  I'm asking because I want to write a decoder for it so I can add it as another format that OpenBoardView can decode ( http://openboardview.org ).

Regards,
Paul.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline vzoole

  • Regular Contributor
  • *
  • Posts: 125
  • Country: hu
Hi!

What kind of format it can handle already?
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
What kind of format it can handle already?

BRD (A couple of different variants)
BDV
BV (but needs to be converted first separately to BVR due to licence issues with the MS Access DB library)
FZ (encrypted, plain, zipped)
CAST

PADs .pcb would be nice because there's a couple of repositories of iPhone boardviews in that format and a lot of people are wanting to be able to view those.


Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline vzoole

  • Regular Contributor
  • *
  • Posts: 125
  • Country: hu
What is BRD format?
Like orcad and eagle *.brd files?
 

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4225
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
PADS will export an ASCII file format which is much more developer friendly.

It's still a 'native' format, so there are no issues with exporting a design to .asc and re-importing it. Think of it as a human-readable version of the .PCB format.

If you really need to parse .PCB directly, then it may be helpful to get the same design in both .PCB and .ASC formats, and use one to help understand the meaning of the other.

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
What is BRD format?
Like orcad and eagle *.brd files?

I do have an Eagle decoder planned (not a major issue as it's a nice XML format which is entirely readble)

There's two types of BRD files supported;
   Most common is the encoded / plain with a 4-byte leading signature of 0x23, 0xe2, 0x63, 0x28.  In the decoded form they have sections like "var_data:" and "Format:",  this is what most Macbook BRD files are available as (as used by Louis Rossmann).
  Second type is TOPTEST BoardViewR4 file format

We now have a 3rd BRD format that we've got to decode ( Cadence BRD https://github.com/OpenBoardView/OpenBoardView/issues/62), and of course the Eagle one as mentioned before.

Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 
The following users thanked this post: vzoole

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
PADS will export an ASCII file format which is much more developer friendly.

It's still a 'native' format, so there are no issues with exporting a design to .asc and re-importing it. Think of it as a human-readable version of the .PCB format.

If you really need to parse .PCB directly, then it may be helpful to get the same design in both .PCB and .ASC formats, and use one to help understand the meaning of the other.

That would be astoundingly useful, yes.  At this point we've not had a pair of files like that submitted, but we do already decode the .ASC format ( https://github.com/OpenBoardView/OpenBoardView/issues/45 )
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline GreggD

  • Regular Contributor
  • *
  • Posts: 136
  • Country: us
ftp://ftp.freecalypso.org/pub/CAD/PADS/pdfdocs/Ppcb_ASCII.pdf

Ascii format can be inches, mills, mm or native units.
 

Offline vzoole

  • Regular Contributor
  • *
  • Posts: 125
  • Country: hu
I do have an Eagle decoder planned (not a major issue as it's a nice XML format which is entirely readble)

There's two types of BRD files supported;
   Most common is the encoded / plain with a 4-byte leading signature of 0x23, 0xe2, 0x63, 0x28.  In the decoded form they have sections like "var_data:" and "Format:",  this is what most Macbook BRD files are available as (as used by Louis Rossmann).
  Second type is TOPTEST BoardViewR4 file format

We now have a 3rd BRD format that we've got to decode ( Cadence BRD https://github.com/OpenBoardView/OpenBoardView/issues/62), and of course the Eagle one as mentioned before.

Thanks for info!
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
ftp://ftp.freecalypso.org/pub/CAD/PADS/pdfdocs/Ppcb_ASCII.pdf

Ascii format can be inches, mills, mm or native units.

Thanks for that.  A shame they have to also have the binary .pcb file to make things more complex, but at least this is a good hard reference to have on hand.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
ftp://ftp.freecalypso.org/pub/CAD/PADS/pdfdocs/Ppcb_ASCII.pdf

Ascii format can be inches, mills, mm or native units.

If you, or anyone, can provide the same board in both formats, that would be an excellent resource to work from.

Potentially the simpler the board the easier (within reason, ie, maybe a dozen parts)
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1535
  • Country: au
Thanks for that.  A shame they have to also have the binary .pcb file to make things more complex, but at least this is a good hard reference to have on hand.

I think the Binary exists merely because it can load faster.

I'd be wary of chasing 3rd party Binary read, as that changes with every release, and is a lot of work, whilst ASCII export is in all seats, and with a wide range of export format.
ie PADS ASCII is stable, and highly version portable, and you can give meaningful error messages when reading it.
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
I think the Binary exists merely because it can load faster.

I'd be wary of chasing 3rd party Binary read, as that changes with every release, and is a lot of work, whilst ASCII export is in all seats, and with a wide range of export format.
ie PADS ASCII is stable, and highly version portable, and you can give meaningful error messages when reading it.

I agree, I prefer the ASCII formats as well;  that said, there is a compelling reason for me to support the binary version of the .pcb file, is that there are iPhone boardviews available in that format, that single group of .pcb files alone makes having the ability to read the binary version quite a key feature for many people in the industry.

Only way around would be to find a .pcb -> ASC converter (since we already read the text version perfectly fine).
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1535
  • Country: au
Only way around would be to find a .pcb -> ASC converter (since we already read the text version perfectly fine).

Any license PADS seat can do this, so I'm not quite seeing the problem here ?
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
Only way around would be to find a .pcb -> ASC converter (since we already read the text version perfectly fine).

Any license PADS seat can do this, so I'm not quite seeing the problem here ?

I don't have a licence (or use) for PADs. That said, thanks for that information, I'll look for someone with a licence to perform the temporary task that'll at least give myself and others time to then work on the binary read version.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
Bumping this. Been nearly 4 months now, no success yet.   

Being able to get my hands on the PADs binary .pcb file format would be of great assistance. 
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1535
  • Country: au
Bumping this. Been nearly 4 months now, no success yet.   

Being able to get my hands on the PADs binary .pcb file format would be of great assistance.

As I mentioned above, chasing BINARY files is both a lottery and a moving target.
You can be almost certain each majour version release, will fiddle with the binary, and Mentor have just released PADS Maker - that is now BINARY only and no ASCII, and they have changed the Binary deliberately so you cannot load into PADS Standard (or vice versa).

Because they are somewhat paranoid about closing customer's pathways down, the Binary format of Maker will likely have added protections.

All of this, and it is still called .PCB file
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1535
  • Country: au
..
* Ignoring the PADS issue you MIGHT be interested in looking at what can be done with "standard" formats like Gerber, ODB++, Pick & Place, BOM, netlist, etc... 

That's a good point : ODB++ would be a better pathway, as at least that is intended for data interchange.

Even the extremely closed PADS Maker can export ODB++

There are ODB++ viewers, so you can check the content.
eg this one, https://www.mentor.com/pcb/downloads/odb-plus-plus-viewer  is not small, but seems to work..

Contains netlist, refdes, and footprint information.
 

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
* If you had PADS (I know you don't) you might be able to script something that auto generates a bunch (hundreds, thousands?) of different very simple boards and generates the output from those in whatever formats exist.  Then maybe you could use some kinds of semi-automated pattern analysis tools or whatever to help identify patterns / structures / differences etc.

This is the approach we're trying to go for currently in the absence of any real chance of obtaining any form of a written specification.   Even a single example board with perhaps 2 layers, 3~5 parts, 2 or 3 packages, nets and a rectangular outline would most likely provide enough working information but still be small enough to dissect by hand.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline wedgetail

  • Contributor
  • Posts: 36
  • Country: au
Would following files be of any help, PADS and ASC equivalent as I understand it.
The layout fits in there some where   :)
 
The following users thanked this post: Inflex

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
Thanks for that Wedgetail.     It's still a big file (1MB) but perhaps marginally more accessible than the existing ones I've been trying to decode.

Definitely hope someone can produce a very minimal board in binary-pcb format for us soon.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
I wonder if tapatalk hosting works?

Here is a file with two decals. I don't really know how to use pads, so it's pretty basic.

I exported the file into many of the available ASC formats. In the middle it added CAM info to the file when I tried to do an export to odb++. I used pads version vX.0.http://cloud.tapatalk.com/s/59d6f2b17f292/pads_simple.zip
 
The following users thanked this post: wedgetail, Inflex

Offline InflexTopic starter

  • Regular Contributor
  • *
  • Posts: 166
  • Country: au
    • Charters Towers Phone & Computer Repairs
@pigrew If I could "like" your post 1000 times I would!

That's finally a genuinely usable file with a chance of decoding things.

Many thanks again.
Magicsmoke abuser | What I repair daily on YouTube | FlexBV
- BoardView
| Paul Daniels
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf