diff --git a/delay_line.scad b/delay_line.scad index c67bf74..87d21f5 100644 --- a/delay_line.scad +++ b/delay_line.scad @@ -47,11 +47,11 @@ info_block_offset_y=30; info_block_scale=0.3; title_text_size = 4; prop_text_size = 2.5; -id_text_size = 2; +id_text_size = 1; number_of_idts_per_quadrent=4; idt_x_spacing = 10; -idt_y_spacing = 7; +idt_y_spacing = 12.5; wafer_size_inch = 4; @@ -185,16 +185,22 @@ module delay_line_idt( finger_length = 50, gap = 0, thickness = 0, - impedance = 50, + impedance = 50, + + // bond pad prams has_bond_pads = false, bond_pad_leg_length = 0.00005, bond_pad_leg_width = 0.00001875, bond_pad_size = 0.000075, bond_pad_angle = 45, bond_pad_bond_pad_shape = "square", - post_scale = false, + + // id number prams id_number = 0, - has_id = true + has_id = true, + id_flip_dir = [1, 1, 1], + // extra + post_scale = false ) { local_scale = 0; @@ -207,7 +213,7 @@ module delay_line_idt( // n_fingers*lambda+lambda/2; - echo(str("lambda = ", lambda)); + // echo(str("lambda = ", lambda)); // echo(str("lambda/4 = ", lambda/4)); // echo(str("lambda_scale = ", post_scale)); delay_line(lambda, n_fingers, finger_length, gap, thickness); @@ -215,8 +221,9 @@ module delay_line_idt( 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]) + scale(id_flip_dir) text(str(id_number), size=id_text_size, halign="center"); } @@ -328,9 +335,9 @@ module wafer(d) { module prameter_text() { text(str("IDT ", substrate, "#", test_number), size=4, font=FONT); 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]) -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]) text(str("distance : ", distance), size=prop_text_size, font=FONT); 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 // ); - -// wafer(wafer_size_inch*25.4); +if ($preview) +wafer(wafer_size_inch*25.4*post_scale); for (i=[0:number_of_idts_per_quadrent-1]) { 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( c, freq, @@ -405,10 +412,11 @@ for (i=[0:number_of_idts_per_quadrent-1]) { bond_pad_angle = leg_angle, bond_pad_leg_width = leg_width, 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]) { delay_line_idt( c, @@ -423,16 +431,18 @@ for (i=[0:number_of_idts_per_quadrent-1]) { bond_pad_angle = leg_angle, bond_pad_leg_width = leg_width, 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]) 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( c, freq, @@ -446,10 +456,12 @@ for (i=[0:number_of_idts_per_quadrent-1]) { bond_pad_angle = leg_angle, bond_pad_leg_width = leg_width, 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]) { delay_line_idt( c, @@ -464,7 +476,9 @@ for (i=[0:number_of_idts_per_quadrent-1]) { bond_pad_angle = leg_angle, bond_pad_leg_width = leg_width, 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] ); } }