+// -*- C -*-
+
+include <commitid.scad>
+
+pxp6012_rad = 22.5 / 2 + 0.5;
+pxp6012_rad_outer = 32.0 / 2 - 0.5;
+
+s1930_y = 30.2 + 0.2;
+s1930_x = 22 + 0.2;
+s1930_y_outer = 36.4 + 0.2;
+s1930_x_outer = 27.6 + 0.2;
+
+s1930_recess = 3;
+s1930_around = 3;
+
+wallthick = 3.0;
+
+module TestWall(){
+ sw_ctr = [25, 0, 25];
+
+ rotate([0,0,-90]){
+ difference(){
+ union(){
+ cube([50, wallthick, 42]);
+ }
+
+ translate([30, -1, 20])
+ rotate([-90,0,0])
+ cylinder(r = pxp6012_rad, h=10, $fn=60);
+
+ rotate([90,0,0])
+ Commitid_BestCount([15,40]);
+ }
+ }
+
+ difference(){
+ union(){
+ cube([50, wallthick, 50]);
+ translate(sw_ctr) {
+ rotate([90,0,0])
+ cube([s1930_x_outer + s1930_around,
+ s1930_y_outer + s1930_around,
+ s1930_recess*2],
+ center=true);
+ }
+ }
+
+ translate(sw_ctr) {
+ rotate([90,0,0]) {
+ cube([s1930_x, s1930_y, 10], center=true);
+ translate([0,0, -5])
+ cube([s1930_x_outer, s1930_y_outer, 10], center=true);
+ }
+ }
+ }
+}
+
+ts_floorceil = 1.5;
+ts_outer = [20,20,20];
+ts_wall = [wallthick,wallthick,ts_floorceil];
+
+ts_xbox = 20;
+ts_ybox = 15;
+ts_cnrrad = 5;
+ts_zbox = 20;
+
+ts_innertube = 0.1;
+
+m4_dnl Box_Part($1=transl_x,$2=transl_y, $3=rot_z,$4=mirror_xy)
+m4_dnl $5=kind(kindargs)
+m4_dnl profile(profileargsargs);
+m4_define(`Box_Part',`
+ translate([$1,$2])
+ rotate([0,0, $3])
+ mirror([$4, 0,0])
+ BoxPart_Extrude_$5') m4_dnl
+
+boxpart_d = 0.01;
+
+m4_dnl BoxPart_Extrude_Linear(dist) profile(...);
+m4_define(`BoxPart_Extrude_Linear',`
+ rotate([90,0,0])
+ translate([0,0, -($1)])
+ linear_extrude(height= boxpart_d + ($1))
+')
+
+ts_xbox_lin = ts_xbox - ts_cnrrad*2;
+ts_ybox_lin = ts_ybox - ts_cnrrad*2;
+
+m4_dnl TestSealDoBoxShape(`profile(profileargs)');
+m4_define(`TestSealDoBoxShape',`
+ Box_Part(0, ts_cnrrad, 0,0, Linear(ts_ybox_lin)) $1;
+ Box_Part(0, ts_ybox-ts_cnrrad, 0,0, Arc(ts_cnrrad,90) ) $1;
+ Box_Part(ts_cnrrad, ts_ybox, -90,0, Linear(ts_xbox_lin)) $1;
+ Box_Part(ts_xbox-ts_cnrrad, ts_ybox, -90,0, Arc(ts_cnrrad,90) ) $1;
+ Box_Part(ts_xbox, ts_ybox-ts_cnrrad, -180,0, Linear(ts_ybox_lin)) $1;
+ Box_Part(ts_xbox, ts_cnrrad, -180,0, Arc(ts_cnrrad,90) ) $1;
+ Box_Part(ts_xbox-ts_cnrrad, 0, -270,0, Linear(ts_xbox_lin)) $1;
+ Box_Part(ts_cnrrad, 0, -270,0, Arc(ts_cnrrad,90) ) $1;
+')
+
+m4_dnl '
+
+module TestSealWallProfile(){
+ z = ts_zbox - ts_innertube - wallthick/2;
+ translate([0, -0.1]) square([wallthick, z]);
+ translate([wallthick/2, z]) circle(r = wallthick/2, $fn=20);
+}
+
+module TestSealBox(){
+ TestSealDoBoxShape(`TestSealWallProfile()');
+}
+
+//TestWall();
+//TestSealWallProfile();
+TestSealBox();
+