Author Topic: Generating batch of THT footprints for large library  (Read 1696 times)

0 Members and 1 Guest are viewing this topic.

Offline IcchanTopic starter

  • Regular Contributor
  • *
  • Posts: 88
  • Country: fi
Generating batch of THT footprints for large library
« on: June 03, 2017, 05:13:16 pm »
Hi.

I need to generate a full library for through hole headers (female, male, singe and double rows etc.) and there doesn't seem to be any real way to automate this process.
I haven't even found a script to point me in right direction.

Basically I need to generate N-components for a library that have particular pad style that comes from IPC-standard in all the configurations they come in from the manufacturer.

The sheer amount of parts is daunting: 1x1, 1x2, 1x3... 1xN both male and female and then add to that dual row headers 2x2, 2x3... etc. that's hundreds of parts and footprints.

I've searched the net for few days but found no solution.

Could this be scripted in some way? Or is there free or very affordable third party tool for doing this?

Altiums IPC-footprint wizard only knows hot to create surface mount parts.

Thank you for any help you can give me :)

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Generating batch of THT footprints for large library
« Reply #1 on: June 07, 2017, 02:19:28 pm »
script it.

var
  pincount : integer;

Procedure plonk_down_header(pincount:integer, pitch:integer);
   Begin
       PCBServer.PreProcess;
            CurrentPCB := PCBServer.GetCurrentPCBBoard;
            If CurrentPCB = Nil Then Begin
               ShowMessage('This is not a PCB document');
              Exit;
            End;
       for x := 1 to pincount do
         begin
       newpad:= PCBServer.PCBObjectFactory(ePadObject, eNoDimension, eCreate_Default);   
       newpad.name :=x;
       newpad.x :=milstocoord(0);
       newpad.x :=milstocoord(x*pitch);
     
       currentpcb.AddPCBObject(TextObj);
        PCBServer.SendMessageToRobots(ePadObject.I_ObjectAddress,c_Broadcast,PCBM_BoardRegisteration ,ePadObject.I_ObjectAddress); 
      end;
   end;


procedure doit(dummy:integer);
begin
   plonk_down_header(20,100);  // 20 pin header, 100 mil pitch
   
end;


something along those lines. you'll have to tweak the code. haven't tried it.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf