add ready_to_print module + doc updates
This commit is contained in:
parent
316b4acb35
commit
3716a751bb
@ -1,17 +1,23 @@
|
|||||||
/*
|
/*
|
||||||
* Open SMA design for cylindrical microphone capsules
|
* Open SMA design for cylindrical microphone capsules
|
||||||
* Copyright 2023 Pierre Lecomte - sekisushai@gmail.com
|
* Copyright 2023 Pierre Lecomte - sekisushai@gmail.com
|
||||||
|
*
|
||||||
|
* The open SMA configuration is realized by means of microphone holding parts (in yellow) connected to each other with thin metal rods (in blue).
|
||||||
|
* The SMA is fixed to a mic stand by the mean of a threaded part, attached to neighbouring microphones (in red)
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include <threads.scad>;
|
// To visualize the whole SMA
|
||||||
//$fn=128;
|
|
||||||
|
|
||||||
open_sma();
|
open_sma();
|
||||||
|
|
||||||
|
// To render only one attach or the support, ready to print
|
||||||
|
//ready_to_print(5);
|
||||||
|
|
||||||
// EDIT BELOW
|
// EDIT BELOW
|
||||||
|
//$fn=128; //for final render
|
||||||
|
|
||||||
/*[ Array parameters ]*/
|
/*[ Array parameters ]*/
|
||||||
// Last parameter is for support attach.
|
// Last parameters [r, theta, phi] are for the threaded mic stand support.
|
||||||
|
|
||||||
// sphere radius (mm):
|
// sphere radius (mm):
|
||||||
r = [100, 100, 100, 100, 34, 150];
|
r = [100, 100, 100, 100, 34, 150];
|
||||||
@ -22,7 +28,7 @@ theta = [0, 109.471, 109.471, 109.471, 70.5284, 180];
|
|||||||
// microphone azimuth coordinates (°):
|
// microphone azimuth coordinates (°):
|
||||||
phi = [0, 240, 120, 0, 180, 0];
|
phi = [0, 240, 120, 0, 180, 0];
|
||||||
|
|
||||||
// connection matrix
|
// connection matrix : For the i-th microphone, the neighbouring microphones number are listed in the i-th row (i starts at 0).
|
||||||
neighbors =
|
neighbors =
|
||||||
[
|
[
|
||||||
[1, 2, 3, 4], //0
|
[1, 2, 3, 4], //0
|
||||||
@ -34,6 +40,7 @@ neighbors =
|
|||||||
];
|
];
|
||||||
|
|
||||||
// DO NOT EDIT BELOW HERE
|
// DO NOT EDIT BELOW HERE
|
||||||
|
include <threads.scad>;
|
||||||
|
|
||||||
module attach(id_mic, rmic=3.82, rstud=1.75, color="yellow"){
|
module attach(id_mic, rmic=3.82, rstud=1.75, color="yellow"){
|
||||||
rtp = [r[id_mic], theta[id_mic], phi[id_mic]];
|
rtp = [r[id_mic], theta[id_mic], phi[id_mic]];
|
||||||
@ -76,8 +83,6 @@ module attach(id_mic, rmic=3.82, rstud=1.75, color="yellow"){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
support();
|
|
||||||
|
|
||||||
// treaded attach
|
// treaded attach
|
||||||
module support(stud=1.75){
|
module support(stud=1.75){
|
||||||
id_mic = len(r)-1;
|
id_mic = len(r)-1;
|
||||||
@ -105,6 +110,7 @@ module support(stud=1.75){
|
|||||||
rotate([0, rtp[1], rtp[2]])
|
rotate([0, rtp[1], rtp[2]])
|
||||||
translate([0, 0, -10])
|
translate([0, 0, -10])
|
||||||
cylinder(r=6,h=20, center=false);
|
cylinder(r=6,h=20, center=false);
|
||||||
|
|
||||||
}
|
}
|
||||||
for(i=[0:len(neighbors[id_mic])-1]){
|
for(i=[0:len(neighbors[id_mic])-1]){
|
||||||
neighbor =
|
neighbor =
|
||||||
@ -126,6 +132,9 @@ module support(stud=1.75){
|
|||||||
rotate([0, rtp[1], rtp[2]])
|
rotate([0, rtp[1], rtp[2]])
|
||||||
translate([0,0,-30])
|
translate([0,0,-30])
|
||||||
render()
|
render()
|
||||||
|
/*
|
||||||
|
Change here the type of threaded hole for mounting on a mic stand. See threads.scad file for help
|
||||||
|
*/
|
||||||
english_thread(3/8,16,2,internal=true);
|
english_thread(3/8,16,2,internal=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,9 +159,22 @@ function cart2sph(vec)
|
|||||||
function sph2cart(vec)
|
function sph2cart(vec)
|
||||||
= [vec[0]*sin(vec[1])*cos(vec[2]), vec[0]*sin(vec[1])*sin(vec[2]), vec[0]*cos(vec[1])];
|
= [vec[0]*sin(vec[1])*cos(vec[2]), vec[0]*sin(vec[1])*sin(vec[2]), vec[0]*cos(vec[1])];
|
||||||
|
|
||||||
|
// draw the whole array with attach and studs and support
|
||||||
module open_sma(){
|
module open_sma(){
|
||||||
for (i = [0:len(theta)-2]){
|
for (i = [0:len(theta)-2]){
|
||||||
attach(i);
|
attach(i);
|
||||||
studs(i);
|
studs(i);
|
||||||
};
|
};
|
||||||
|
support();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module ready_to_print(i){
|
||||||
|
mirror([0, 0, -1])
|
||||||
|
translate([0, 0, -r[i]])
|
||||||
|
rotate([0, -theta[i], 0])
|
||||||
|
rotate([0, 0, -phi[i]])
|
||||||
|
if (i != len(r)-1)
|
||||||
|
attach(i);
|
||||||
|
else
|
||||||
|
support();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user