Looking for an Altium/Protel99 example of pick-place assembly file.  - Page 1
Forum section: electronics / general

author: BitHead77
author_rank: Newbie
timestamp: July 15, 2015, 11:58:25 pm
content: 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. )

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 16, 2015, 03:05:33 am
content: Earlier versions I don't know about, but AD15 does:Code:"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"...

author: BitHead77
author_rank: Newbie
timestamp: July 16, 2015, 01:42:18 pm
content: My old Protel 2.8's pik format...Code:"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.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: July 17, 2015, 01:43:26 am
content: 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

author: BitHead77
author_rank: Newbie
timestamp: July 17, 2015, 01:28:57 pm
content: Another clue... the BOM report calls part numbers 'Comment' too.Code:"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. :-)