[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: footprint critique request



On Thu, May 1, 2008 at 2:22 PM, David Griffith <dgriffi@xxxxxxxxxxxxx> wrote:
>
> On Wed, 30 Apr 2008, John Luciani wrote:
>
>  > On Wed, Apr 30, 2008 at 7:48 PM, DJ Delorie <dj@xxxxxxxxxxx> wrote:
>  >
>  > >  Note: radial layouts like this really want to be done by a perl script
>  > >  or other program, which can position the pins more precisely.
>  >
>  > I could not agree more ;-)
>  >
>  > I have a script that creates a footprint for a Belton VT8 tube
>  > socket at ---
>  >
>  > http://www.luciani.org/geda/pcb/pcb-perl-library.html
>  >
>  > The script could be easily modified to create this rotary switch.
>
>  I'm perusing that script right now.  I'm halfway done on the outer
>  diameter.  What units of length are you using there?  Do you have any
>  hints on placing the inner four pins and the locking lug?

All the units are 'mm'. This is setup in the element_begin
call ---

  $Pcb -> element_begin(description => 'TH',
			  output_file => "tmp/" . &package_name(%f),
			  dim   => 'mm',
			  pin_one_square => 1);

I would add a second loop with a different radius.

The first loop could be ---

    my $angle = 0;
    foreach (1..8) {
	$pin_num = $_;
	&place_pin(radius => $radius1,
		   angle => $angle,
		   pad_thickness => $f{pad_thickness},
		   drill_hole => $f{drill_hole},
		   pin_number => $pin_num);
	$angle += $delta_angle1;
    }

The second loop could be

    $angle = 0;
    foreach (9..12) {
	$pin_num = $_;
	&place_pin(radius => $radius2,
		   angle => $angle,
		   pad_thickness => $f{pad_thickness},
		   drill_hole => $f{drill_hole},
		   pin_number => $pin_num);
	$angle += $delta_angle2;
    }

IIRC the lug could be done with a call to &place_pin with a different
radius and angle.

(* jcl *)


-- 
http://www.luciani.org


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user