Index: dip =================================================================== --- dip (revision 36613) +++ dip (revision 36614) @@ -6,7 +6,7 @@ #@@desc Generate thru-hole DIP packages with variable number of pins and #@@desc row spacing -#@@params n, spacing +#@@params n, spacing, pitch #@@param:n number of pins @@ -15,6 +15,11 @@ #@@optional:spacing #@@default:spacing 100 mil +#@@param:pitch spacing between two pins in the same row +#@@dim:pitch +#@@optional:pitch +#@@default:pitch 100 mil + #@@include common_subc.awk awk -f `dirname $0`/common_subc.awk -f `dirname $0`/dip.awk -v "args=$*" -v gen=`basename $0` -v "genfull=$0" Index: dip.awk =================================================================== --- dip.awk (revision 36613) +++ dip.awk (revision 36614) @@ -3,8 +3,9 @@ help_auto() set_arg(P, "?spacing", 300) + set_arg(P, "?pitch", 100) - proc_args(P, "n,spacing", "n") + proc_args(P, "n,spacing,pitch", "n") P["n"] = int(P["n"]) if ((P["n"] < 2) || ((P["n"] % 2) != 0)) @@ -11,22 +12,23 @@ error("Number of pins have to be an even positive number") spacing=parse_dim(P["spacing"]) + pitch=parse_dim(P["pitch"]) - subc_begin(P["n"] "*" P["spacing"], "U1", 0, mil(-100)) + subc_begin(P["n"] "*" P["spacing"], "U1", 0, mil(-pitch)) - half = mil(50) + half = mil(pitch/2) pstk_s = subc_proto_create_pin_square() pstk_r = subc_proto_create_pin_round() for(n = 1; n <= P["n"]/2; n++) { - subc_pstk((n == 1 ? pstk_s : pstk_r), 0, (n-1) * mil(100), 0, n) - subc_pstk(pstk_r, spacing, (n-1) * mil(100), 0, P["n"] - n + 1) + subc_pstk((n == 1 ? pstk_s : pstk_r), 0, (n-1) * mil(pitch), 0, n) + subc_pstk(pstk_r, spacing, (n-1) * mil(pitch), 0, P["n"] - n + 1) } - dip_outline("top-silk", -half, -half, spacing + half , (n-2) * mil(100) + half, half) + dip_outline("top-silk", -half, -half, spacing + half , (n-2) * mil(pitch) + half, half) - dimension(0, 0, spacing, 0, mil(100), "spacing") + dimension(0, 0, spacing, 0, mil(pitch), "spacing") subc_end() }