- prpp12 = prpp3 + [1,0] *
- (prop_end_dia + prop_caserecess_taper * (prpp1[1] - prpp3[1]));
- prp_r8 = prop_main_th;
- prpp4 = [ prop_main_th/2, prpp3[1] ];
- prp_r5 = prp_r8;
- prpp5 = [ prpp12[0] - prp_r5,
- prpp3[1] - prop_prong_h + prp_r5 ];
- prpp6 = prpp4 + [0,-1] * (prop_prong_h +
- prop_prong_heel_slope * (prpp5[0] - prpp4[0]));
- prpp8 = prpp4 + [0,-1] * prp_r8;
- prpp9 = prpp8 + [-1,0] * prp_r8;
-
- //#circleat(prpp5,1);
-
- if (!cut) {
- hull(){
- translate(prpp8)
- intersection(){
- circle(prp_r8);
- rectfromto([-20,-0], [20,20]);
- }
- rectfromto(prpp6, prpp9);
- translate(prpp5) intersection(){
- circle(prp_r5);
- rectfromto([-10,-10], [10,0]);
+ $prpp12 = $prpp3 + v1[0] *
+ (prop_end_dia + prop_caserecess_taper * ($prpp1[1] - $prpp3[1]));
+ $prp_r8 = prop_main_th;
+ $prpp4 = [ prop_main_th/2, $prpp3[1] ];
+ $prp_r5 = $prp_r8;
+ $prpp5 = [ $prpp12[0] - $prp_r5,
+ $prpp3[1] - prop_prong_h + $prp_r5 ];
+ $prpp6 = $prpp4 + [0,-1] * (prop_prong_h +
+ prop_prong_heel_slope * ($prpp5[0] - $prpp4[0]));
+ $prpp8 = $prpp4 + [0,-1] * $prp_r8;
+ $prpp9 = $prpp8 + [-1,0] * $prp_r8;
+
+ children();
+}
+
+module PropProfile(gamma, cut=0, rot=0){ ////toplevel
+ PropProfileAssignments(gamma){
+
+ //#circleat($prpp3,1);
+ //#circleat($prpp12,1);
+
+ if (!cut) {
+ hull(){
+ translate($prpp8)
+ intersection(){
+ circle($prp_r8);
+ polygon([[-20,-0], [20,20], [0,0]]);
+ }
+ rectfromto($prpp6, $prpp9);
+ translate($prpp5) intersection(){
+ circle($prp_r5);
+ polygon([[-10,-10], [0,0], [10,0]]);
+ }
+ rectfromto($prpp12 + [0,-0.1], $prpp3);
+ }
+ hull(){
+ circleat($prpp1, $prp_r1);
+ rectfromto($prpp12 + [0,-0.1], $prpp3);