This commit is contained in:
sirlilpanda
2026-07-13 17:38:03 +12:00
parent 9f4ce14d35
commit 726bbd469e
45 changed files with 16366785 additions and 89 deletions

View File

@@ -1,6 +1,7 @@
include <../modules/bidirectional_idt.scad>
include <../modules/parameter_text.scad>
include <../modules/wafer.scad>
include <../common_paramas.scad>
// ================= README =================
// these are the normal parameters used by
@@ -15,7 +16,6 @@ include <../modules/wafer.scad>
// parameters window
// ================= README =================
// ================= openscad prams =================
// min angle
@@ -30,7 +30,8 @@ $fs = 0.01;
SCRIPT_VERSION="0.0.1";
// font for layout
FONT="Ubuntu Sans Mono:style=Regular";
// FONT="Ubuntu Sans Mono:style=Regular";
FONT="SquareFont:style=Regular";
// the test number ref number for this set of IDTs
test_number = 1;
@@ -41,19 +42,20 @@ scale_unit = 1e3;
// ================= meta =================
// ================= IDT =================
// the underlying substrate
substrate = "SI";
// linbo
// the acoustic wave speed in the substrate
c = 3992.0;
// the aoucstice wave speed in the substrate
// c = 3992.0;
// si
// c = 3159.0;
c = 3159.0;
// the target frequency of the IDT
freq = 10.0e6;
freq = 17.0e8;
// the distance between the input and output IDT
// should be between 100-200
@@ -63,7 +65,7 @@ distance = 50;
n_fingers = 50;
// the length of the figure or aperture should be 50-70
finger_length = 50;
finger_length = 60;
// the gap between both sides of the IDT (should be used for tweaking)
gap = 0;
@@ -98,8 +100,8 @@ bond_pad_shape = "square";
// ================= text =================
info_block_offset_x=25;
info_block_offset_y=10;
render_text = true;
// total scale of infoblock
info_block_scale=0.3;
@@ -120,7 +122,6 @@ wafer_size_inch = 4;
// ================= wafers =================
// ================= IDT Pos =================
// the x offset of the IDT from the center
@@ -128,31 +129,37 @@ idt_x_offset = 0;
// the y offset of the IDT from the center
idt_y_offset = 0;
info_block_offset_x=25;
info_block_offset_y=-7;
// ================= IDT Pos =================
module params() {
parameter_text(
str("IDT ", substrate, "#", test_number),
[
str("c (ms): ", c),
str("freq (Hz): ", freq),
str("distance : ", distance),
str("n_fingers : ", n_fingers),
str("finger_length : ", finger_length),
str("gap : ", gap),
str("thickness : ", thickness),
str("leg_length : ", leg_length),
str("leg_angle : ", leg_angle),
str("size : ", size),
str("feat. size (mm): ", (c/freq)*1e3 / 4),
str("version : ", SCRIPT_VERSION)
]
str("C: ", c),
str("FREQ: ", freq),
str("DISTANCE: ", distance),
str("N_FINGERS: ", n_fingers),
str("FINGER_LENGTH: ", finger_length),
str("GAP: ", gap),
str("THICKNESS: ", thickness),
str("LEG_LENGTH: ", leg_length),
str("LEG_ANGLE: ", leg_angle),
str("SIZE: ", size),
str("FEAT. SIZE: ", (c/freq)*1e3 / 4),
str("VERSION: ", SCRIPT_VERSION)
],
font=FONT
);
}
translate([info_block_offset_x, -info_block_offset_y, 0])
scale([info_block_scale, info_block_scale, info_block_scale])
params();
if (render_text) {
translate([info_block_offset_x, -info_block_offset_y, 0])
scale([info_block_scale, info_block_scale, info_block_scale])
params();
}
wafer(wafer_size_inch*25.4);
@@ -173,4 +180,124 @@ bi_directional_idt(
bond_pad_size = size,
center = true,
echo_stats = true
);
);
// // ================= README =================
// // these are the normal parameters used by
// // each one of the layout scripts
// // however they do dont directly use them
// // and instead have thier own copy
// //
// // this was done in order to have more control
// // over each of the scripts themsevels
// // allowing each to have even more parameters
// // and having them show up in the open scad
// // parameters window
// // ================= README =================
// // ================= openscad prams =================
// // min angle
// $fa = 25;
// // min size
// $fs = 0.1;
// // ================= openscad prams =================
// // ================= meta =================
// // version number of the current script
// SCRIPT_VERSION="0.0.1";
// // font for layout
// // FONT="Ubuntu Sans Mono:style=Regular";
// FONT="SquareFont:style=Regular";
// // the test number ref number for this set of IDTs
// test_number = 1;
// // this is needed due to the min size value
// // a pre scaler for the given values
// scale_unit = 1e3;
// // ================= meta =================
// // ================= IDT =================
// // the underlying substrate
// substrate = "SI";
// // linbo
// // the acoustic wave speed in the substrate
// c = 3992.0;
// // si
// // c = 3159.0;
// // the target frequency of the IDT
// freq = 10.0e6;
// // the distance between the input and output IDT
// // should be between 100-200
// distance = 50;
// // the number of fingers the IDT has
// n_fingers = 50;
// // the length of the figure or aperture should be 50-70
// finger_length = 50;
// // the gap between both sides of the IDT (should be used for tweaking)
// gap = 0;
// // the thickness of the wire the connects all the fingers
// thickness = 0;
// // adds an ID number to an IDT, useful if you have multiple on a wafer
// has_id_number = false;
// // ================= IDT =================
// // ================= bond pad =================
// // the length of the bond pad leg from the edge of the IDT to the center of the bond pad
// leg_length = 0.003;
// // the width of the leg
// leg_width = 0.00001875;
// // the angle the leg comes off from the IDT,
// // positive angle means the leg is angled away
// // negitive angle means the leg is angled inwards
// leg_angle = 10;
// // the size of the bond pad
// size = 0.002;
// // the shape of the bond pad (not implemented)
// bond_pad_shape = "square";
// // ================= bond pad =================
// // ================= text =================
// info_block_offset_x=25;
// info_block_offset_y=10;
// // total scale of infoblock
// info_block_scale=0.3;
// // the text size of the heading in the info block
// title_text_size = 4;
// // the size of all the sub items in the info block
// prop_text_size = 2.5;
// // the size of the ID numbers in on the IDTS
// id_text_size = 1;
// // ================= text =================
// // ================= wafers =================
// // the size of the wafer in inchs (why inch and not metric like everything else because its standard)
// wafer_size_inch = 4;
// // ================= wafers =================