Author Topic: Looking for an Altium/Protel99 example of pick-place assembly file.  (Read 4250 times)

0 Members and 1 Guest are viewing this topic.

Offline BitHead77Topic starter

  • Newbie
  • Posts: 6
  • Country: us
Hi all,
  I'd like to whip up a conversion program that takes in old Protel 'pik' and 'bom' files and spits out an equivilent Altium and/or Protel 99se format CSV assembly file.  Maybe even do Imperial->Metric conversion too.
BUT - I don't know exactly what that format is - column/row/cell contents-wise.
The Altium docs give general column descriptions but I'd like to see the real McCoy. ( McCoy?!? )
Yes - I could do a 'free trial', but I don't know for a fact that you can go so far as to generate an assembly file - trial product description is very 'lacking details'.
 Easier to ask you guys than hassle with install issues. :-)

  Just the top few rows of your PCB's CSV assembly file would be helpful. 
Although, if I get to make a sample PCB assembly file request, it would be for a...
  1)  'dozen part' PCB about 1" x 2" with origin at lower left corner of board outline.
  2) 0603,0805,SOT23,SO-8 parts plopped on -> auto-placed on a .2" grid with a few rotated by 45.
  3) Select 'CSV' and 'Metric'
 and while I'm playing king... a screen capture of the board so I can relate position info to parts.

For reading all this and helping out - I have no problem with sharing when I get it working well.
( It will probably be a little VB6 program. )
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22435
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Earlier versions I don't know about, but AD15 does:

Code: [Select]
"Designator","Footprint","Mid X","Mid Y","Ref X","Ref Y","Pad X","Pad Y","Layer","Rotation","Comment"
""
"R1","R0805","500mil","400mil","500mil","400mil","510.472mil","431.575mil","T","90.00","CRCW08051K00FKEA"
...
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline BitHead77Topic starter

  • Newbie
  • Posts: 6
  • Country: us
My old Protel 2.8's pik format...
Code: [Select]
"Designator","Pattern","Mid X","Mid Y","Ref X","Ref Y","Pad X","Pad Y","Layer","Rotation"
""
"VR2","POT3MM","143.661mil","1312.008mil","185mil","1375mil","185mil","1375mil","T","180.000"
"R12","0805","735mil","545mil","735mil","545mil","735mil","515mil","T","90.000"

Thanks! 
But now I say, "What? That's all the difference? I just change 'Pattern' to 'Footprint' and add the Comment column?"
Well, at least I get a small challenge in parsing out part numbers by designator from the bom. :-)
I'm guessing pick-place machine programs that require this format like to use the part number in the comment column to assign a reel stack number.
Thanks again - good for now.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22435
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Comment may be just that -- a comment (the PCB Comment field), and not at all useful.  I just normally set it to the part number if there's nothing better to put there (e.g., connectors are usually usefully named).

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline BitHead77Topic starter

  • Newbie
  • Posts: 6
  • Country: us
Another clue... the BOM report calls part numbers 'Comment' too.
Code: [Select]
"Comment","Pattern","Quantity","Components"
"0.1uF","1007","2","C1 C2"
"100uF","CAP_B","1","C3"
"240","0805","1","R1"

That didn't take long...  Legacy BOM + PIK => Altium format CSV.
My program goes through the PIK file rows (after changing 'Pattern' to 'Footprint' and appending 'Comment' in header row), gets the designator, scans the BOM file for a matching designator, plucks out that 'Comment'  from the BOM and appends it to the PIK file row. 

Done!?  No - now I want to get fancy - add 'Top/Bottom' option buttons and a 'Do not include designators that begin with...' feature that lets you strip out things that don't get placed by the machine.
Then... I'll be looking for the proper way to offer up little programs here.  :-)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf