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 // 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 = 0.1; // min size $fs = 0.01; // ================= 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 aoucstice wave speed in the substrate // c = 3992.0; // si c = 3159.0; // the target frequency of the IDT freq = 17.0e8; // 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 = 60; // 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 ================= render_text = true; // 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 ================= // ================= IDT Pos ================= // the x offset of the IDT from the center 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: ", 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 ); } 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); translate([0, 0, 0]) bi_directional_idt( c, freq, n_fingers, distance, finger_length, gap, thickness, post_scale=scale_unit, has_bond_pads = true, bond_pad_angle = leg_angle, bond_pad_leg_width = leg_width, bond_pad_leg_length = leg_length, 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 =================