--- /dev/null
+// -*- C -*-
+
+main_sz = 20;
+
+wall_th = 3;
+
+front_fullsz = 10;
+
+back_tot_l = 30;
+back_cut_l = 4;
+back_cut_w = 10;
+back_prong_w = 3;
+
+module MidPlan(){
+ polygon([[0, 0],
+ [0, main_sz],
+ [wall_th, main_sz],
+ [wall_th, wall_th],
+ [main_sz, wall_th],
+ [main_sz, 0]]);
+}
+
+module FrontPlan(){
+ halfway = (front_fullsz + main_sz)/2;
+ polygon([[0, 0],
+ [0, main_sz],
+ [front_fullsz, main_sz],
+ [main_sz, front_fullsz],
+ [main_sz, 0]]);
+}
+
+module BackPlan(){
+ sqmid = main_sz * sqrt(0.5);
+ prlen = back_tot_l - sqmid;
+ prx = 0.5*back_cut_w + back_prong_w;
+ difference(){
+ union(){
+ square(main_sz);
+ rotate(-45) translate([-prx, sqmid])
+ square([prx*2,prlen]);
+ }
+ rotate(-45) translate([-back_cut_w/2, back_tot_l-back_cut_l])
+ square([back_cut_w, back_cut_l+1]);
+ }
+}
+
+//MidPlan();
+//FrontPlan();
+BackPlan();