[PCB] What to use for ceramic capacitors?

Jun 03, 2018 3 Replies

I dimly remember there having been rectangular thru hole components(100 mil) in some earlier release. I can't seem to find them now. what are they called/what happened to them? (Or was I dreaming?)



This here says there are/were `BRE' ones...



but they aren't there..


Nevermind. found this:

2006-09-01 Dan McMahill * dan AT mcmahill dot net *

  • lib/geda.inc: - remove the BRE* footprints. The required PKG_RECTANGULAR macro doesn't exist anywhere and I can't figure out what the correct behaviour should be anyway so rather than propagate a very questionable footprint name, kill it right here. - Fix the problem where the ACY*P and RCY*P packages called non-existant macros. They now produce the same footprints as the ACY* and RCY* packages but with a polarity marking. The suitability for any particular part number should be still verified before using them on a board.

From d043531bdded029ea8f414bb77ae7bf2e0f9619a Mon Sep 17 00:00:00 2001 From: Johann Klammer Date: Sun, 3 Jun 2018 19:05:05 +0200 Subject: [PATCH] Fix the rectangular footprints

--- lib/geda.inc | 19 +++++++++++++++++++ lib/misc.inc | 30 ++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+)

diff --git a/lib/geda.inc b/lib/geda.inc index ecee911..4f93dfa 100644

--- a/lib/geda.inc

+++ b/lib/geda.inc @@ -612,6 +612,25 @@ define(`PKG_RCY1100P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2200, 1)'); define(`PKG_RCY1200P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2400, 1)'); # +## Bottom lead rectangular non-polar component (typically capacitor) +# pin spacing 100 mil and up +# BRE100 .. BRE1200 +# +define(`PKG_BRE100', `PKG_RECTANGULAR2N(`$1', `$2', `$3', 200, 50)'); +define(`PKG_BRE200', `PKG_RECTANGULAR2N(`$1', `$2', `$3', 400, 100)'); +define(`PKG_BRE300', `PKG_RECTANGULAR2N(`$1', `$2', `$3', 600, 150)'); +define(`PKG_BRE400', `PKG_RECTANGULAR2( `$1', `$2', `$3', 600, 200)'); +define(`PKG_BRE500', `PKG_RECTANGULAR2( `$1', `$2', `$3', 750, 250)'); +define(`PKG_BRE600', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1200, 300)'); +define(`PKG_BRE700', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1050, 350)'); +define(`PKG_BRE800', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1200, 400)'); +define(`PKG_BRE900', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1350, 450)'); +define(`PKG_BRE1000', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1500, 500)'); +define(`PKG_BRE1100', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1650, 550)'); +define(`PKG_BRE1200', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1800, 600)'); + + +# ## Crystals # # diff --git a/lib/misc.inc b/lib/misc.inc index 0b0518f..b25de1b 100755

--- a/lib/misc.inc

+++ b/lib/misc.inc @@ -633,6 +633,36 @@ Element(0x00 "$1" "`$2'" "$3" eval(`$4') 0 0 100 0x00) Mark (X1 Y) )') +# a rectangular package +# +# $1: canonical name +# $2: name on PCB +# $3: value +# $4: package width in MIL +# $5: half pin spacing in MIL +define(`PKG_RECTANGULAR2N', + `define(`X1', `eval(-`$5')') + define(`X2', ``$5'') + define(`X3', `eval(-`$4' /2)') + define(`X4', `eval(`$4' /2)') + define(`Y', `0') + define(`Y1', `eval(-`$4' /4)') + define(`Y2', `eval(+`$4' /4)') + define(`PINSIZE', `ifelse(eval($4 >= 600), 1, 80, 55)') + define(`DRILLSIZE', `ifelse(eval($4 >= 600), 1, 50, 30)') +Element(0x00 "$1" "`$2'" "$3" eval(`$4') 0 0 100 0x00) +( + PIN(X1, Y, 60, DRILLSIZE, 1) + PIN(X2, Y, 60, DRILLSIZE, 2) + ElementLine(X3 Y1 X4 Y1 10) + ElementLine(X4 Y1 X4 Y2 10) + ElementLine(X4 Y2 X3 Y2 10) + ElementLine(X3 Y2 X3 Y1 10) + Mark (X1 0) +)') + +define(`PKG_RECTANGULAR2',`PKG_RECTANGULAR2N(`$1', `$2', `$3', `$4', `$5')');
  • # a core surface mount package # 12/99 Larry Doolittle #

--

2.1.4

--- lib/geda.inc | 2 ++ 1 file changed, 2 insertions(+)

diff --git a/lib/geda.inc b/lib/geda.inc index 4f93dfa..12b0874 100644

--- a/lib/geda.inc

+++ b/lib/geda.inc @@ -561,6 +561,8 @@ define(`PKG_ACY1600P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1600, 1)') # ALF300 .. ALF1000 # # +define(`PKG_ALF100', `PKG_DIODE_LAY(`$1', `$2', `$3', 100)'); +define(`PKG_ALF200', `PKG_DIODE_LAY(`$1', `$2', `$3', 200)'); define(`PKG_ALF300', `PKG_DIODE_LAY(`$1', `$2', `$3', 300)'); define(`PKG_ALF400', `PKG_DIODE_LAY(`$1', `$2', `$3', 400)'); define(`PKG_ALF500', `PKG_DIODE_LAY(`$1', `$2', `$3', 500)');
2.1.4

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required