Read time: 0.0 minutes (1 words)
assembly: fin¶
Design Notes¶
(None)
assembly Design File¶
1//#####################################
2// fin.scad
3// (c) 2021 by Roie R. Black
4//=====================================
5include <colors.scad>
6use <MMlib/position.scad>
7include <./fin_pos.scad>
8
9use <./arc/fin_arc.scad>
10use <./leading_edge/leading_edge.scad>
11use <./trailing_edge/trailing_edge.scad>
12use <./rib1/fin_rib1.scad>
13use <./rib2/fin_rib2.scad>
14use <./arc/fin_arc.scad>
15use <./covering/fin_covering.scad>
16
17
18module fin() {
19 color(WOOD_Balsa) {
20 align(le_pos) leading_edge();
21 align(te_pos) trailing_edge();
22 align(arc_pos) fin_arc();
23 align(rib1_pos) fin_rib1();
24 align(rib2_pos) fin_rib2();
25 }
26 align(covering_pos) fin_covering();
27}
28
29//--------------------------------------
30// debug display
31
32fin();
33
Component Data File(s)¶
1//#####################################
2// fin-data.scad
3// (c) 2021 by Roie R. Black
4//=====================================
5include <colors.scad>
6
7fin_span = 2;
8fin_chord = 4;
9fin_radius = 1.5;
10spar_size = 1/32;
11fin_color = WOOD_Balsa;
12
13//-------------------------------------
14// calculated values
15
16fin_le_length = fin_span - fin_radius - spar_size;
17fin_te_length = fin_span -2*spar_size;
18
Components¶
Component Position File¶
1//########################################
2// arc_pos.scad
3// (c) 2021 - Roie R. Black
4//****************************************
5include <./fin_data.scad>
6
7le_pos = [0,-fin_le_length/2-spar_size,0,0,0,0];
8te_pos = [fin_chord - spar_size,-fin_te_length/2 - spar_size,0,0,0,0];
9arc_pos = [fin_radius, -fin_span + fin_radius, 0,0,0,0];
10rib1_pos = [fin_chord/2,-spar_size,0,0,0,90];
11rib2_pos = [(fin_chord+fin_radius)/2-spar_size/2,-fin_span,0,0,0,90];
12covering_pos = [0,0,0,0,0,0];