fairly happy

This commit is contained in:
2026-02-23 17:52:12 +13:00
parent 07d67fb0ae
commit 446890d958

View File

@@ -47,11 +47,11 @@ info_block_offset_y=30;
info_block_scale=0.3; info_block_scale=0.3;
title_text_size = 4; title_text_size = 4;
prop_text_size = 2.5; prop_text_size = 2.5;
id_text_size = 2; id_text_size = 1;
number_of_idts_per_quadrent=4; number_of_idts_per_quadrent=4;
idt_x_spacing = 10; idt_x_spacing = 10;
idt_y_spacing = 7; idt_y_spacing = 12.5;
wafer_size_inch = 4; wafer_size_inch = 4;
@@ -186,15 +186,21 @@ module delay_line_idt(
gap = 0, gap = 0,
thickness = 0, thickness = 0,
impedance = 50, impedance = 50,
// bond pad prams
has_bond_pads = false, has_bond_pads = false,
bond_pad_leg_length = 0.00005, bond_pad_leg_length = 0.00005,
bond_pad_leg_width = 0.00001875, bond_pad_leg_width = 0.00001875,
bond_pad_size = 0.000075, bond_pad_size = 0.000075,
bond_pad_angle = 45, bond_pad_angle = 45,
bond_pad_bond_pad_shape = "square", bond_pad_bond_pad_shape = "square",
post_scale = false,
// id number prams
id_number = 0, id_number = 0,
has_id = true has_id = true,
id_flip_dir = [1, 1, 1],
// extra
post_scale = false
) { ) {
local_scale = 0; local_scale = 0;
@@ -207,7 +213,7 @@ module delay_line_idt(
// n_fingers*lambda+lambda/2; // n_fingers*lambda+lambda/2;
echo(str("lambda = ", lambda)); // echo(str("lambda = ", lambda));
// echo(str("lambda/4 = ", lambda/4)); // echo(str("lambda/4 = ", lambda/4));
// echo(str("lambda_scale = ", post_scale)); // echo(str("lambda_scale = ", post_scale));
delay_line(lambda, n_fingers, finger_length, gap, thickness); delay_line(lambda, n_fingers, finger_length, gap, thickness);
@@ -217,6 +223,7 @@ module delay_line_idt(
if (has_id) { if (has_id) {
color([255/255, 0/255, 255/255]) color([255/255, 0/255, 255/255])
translate([finger_length*lambda/2, has_bond_pads ? -(bond_pad_leg_length * post_scale * cos(bond_pad_angle)) : -lambda*finger_length/2, 0]) translate([finger_length*lambda/2, has_bond_pads ? -(bond_pad_leg_length * post_scale * cos(bond_pad_angle)) : -lambda*finger_length/2, 0])
scale(id_flip_dir)
text(str(id_number), size=id_text_size, halign="center"); text(str(id_number), size=id_text_size, halign="center");
} }
@@ -328,9 +335,9 @@ module wafer(d) {
module prameter_text() { module prameter_text() {
text(str("IDT ", substrate, "#", test_number), size=4, font=FONT); text(str("IDT ", substrate, "#", test_number), size=4, font=FONT);
translate([0, -title_text_size, 0]) translate([0, -title_text_size, 0])
text(str("c : ", c), size=prop_text_size, font=FONT); text(str("c (ms): ", c), size=prop_text_size, font=FONT);
translate([0, -title_text_size*2, 0]) translate([0, -title_text_size*2, 0])
text(str("freq : ", freq), size=prop_text_size, font=FONT); text(str("freq (Hz): ", freq), size=prop_text_size, font=FONT);
translate([0, -title_text_size*3, 0]) translate([0, -title_text_size*3, 0])
text(str("distance : ", distance), size=prop_text_size, font=FONT); text(str("distance : ", distance), size=prop_text_size, font=FONT);
translate([0, -title_text_size*4, 0]) translate([0, -title_text_size*4, 0])
@@ -387,11 +394,11 @@ scale([info_block_scale, info_block_scale, info_block_scale]) {
// bond_pad_size = size // bond_pad_size = size
// ); // );
if ($preview)
// wafer(wafer_size_inch*25.4); wafer(wafer_size_inch*25.4*post_scale);
for (i=[0:number_of_idts_per_quadrent-1]) { for (i=[0:number_of_idts_per_quadrent-1]) {
translate([idt_x_spacing/4, 0, 0]) { translate([idt_x_spacing/4, 0, 0]) {
translate([i * idt_x_spacing, idt_y_spacing, 0]) { translate([i * idt_x_spacing, idt_y_spacing/2, 0]) {
delay_line_idt( delay_line_idt(
c, c,
freq, freq,
@@ -405,10 +412,11 @@ for (i=[0:number_of_idts_per_quadrent-1]) {
bond_pad_angle = leg_angle, bond_pad_angle = leg_angle,
bond_pad_leg_width = leg_width, bond_pad_leg_width = leg_width,
bond_pad_leg_length = leg_length, bond_pad_leg_length = leg_length,
bond_pad_size = size bond_pad_size = size,
id_number = i
); );
} }
translate([i * idt_x_spacing, -idt_y_spacing, 0]) { translate([i * idt_x_spacing, -idt_y_spacing/2, 0]) {
scale([1, -1, 1]) { scale([1, -1, 1]) {
delay_line_idt( delay_line_idt(
c, c,
@@ -423,16 +431,18 @@ for (i=[0:number_of_idts_per_quadrent-1]) {
bond_pad_angle = leg_angle, bond_pad_angle = leg_angle,
bond_pad_leg_width = leg_width, bond_pad_leg_width = leg_width,
bond_pad_leg_length = leg_length, bond_pad_leg_length = leg_length,
bond_pad_size = size bond_pad_size = size,
id_number = i + number_of_idts_per_quadrent,
id_flip_dir = [1, -1, -1]
); );
} }
} }
} }
scale([-1, 1, 1]) scale([-1, 1, 1])
translate([idt_x_spacing/4, 0, 0]) { translate([idt_x_spacing/4, 0, 0]) {
translate([i * idt_x_spacing, idt_y_spacing, 0]) { translate([i * idt_x_spacing, idt_y_spacing/2, 0]) {
delay_line_idt( delay_line_idt(
c, c,
freq, freq,
@@ -446,10 +456,12 @@ for (i=[0:number_of_idts_per_quadrent-1]) {
bond_pad_angle = leg_angle, bond_pad_angle = leg_angle,
bond_pad_leg_width = leg_width, bond_pad_leg_width = leg_width,
bond_pad_leg_length = leg_length, bond_pad_leg_length = leg_length,
bond_pad_size = size bond_pad_size = size,
id_number = i + number_of_idts_per_quadrent*2,
id_flip_dir = [-1, 1, 1]
); );
} }
translate([i * idt_x_spacing, -idt_y_spacing, 0]) { translate([i * idt_x_spacing, -idt_y_spacing/2, 0]) {
scale([1, -1, 1]) { scale([1, -1, 1]) {
delay_line_idt( delay_line_idt(
c, c,
@@ -464,7 +476,9 @@ for (i=[0:number_of_idts_per_quadrent-1]) {
bond_pad_angle = leg_angle, bond_pad_angle = leg_angle,
bond_pad_leg_width = leg_width, bond_pad_leg_width = leg_width,
bond_pad_leg_length = leg_length, bond_pad_leg_length = leg_length,
bond_pad_size = size bond_pad_size = size,
id_number = i + number_of_idts_per_quadrent*3,
id_flip_dir = [-1, -1, 1]
); );
} }
} }