+ sc = scaleline_mm / scaleline;
+ //echo("SH",sh,rot,sc);
+ scale(sc) rotate(rot) translate(sh){
+ import("sewing-table-rear-profile.dxf", convexity=10); // spline, Pink3
+ }
+}
+
+module Machine_NewFrontProfile(){
+ // figures copied out of xfig edit boxes
+ // best not to edit the posbox size if poss - just move it
+ posbox = 10 * ([11.8022,8.0600] - [4.2044,19.1867]); // box, Green
+ refline = 10 * ([7.6778,16.7222] - [27.8689,17.6578]); // line, Blue
+ refline_mm = (11-1)*10;
+ sh = -[abs(posbox[0]), abs(posbox[1])];
+ rot = atan2(-refline[0], refline[1]);
+ sc = refline_mm / vectorlen2d(refline);
+ //echo("SH",sh,rot,sc);
+ mirror([1,0]) scale(sc) rotate(rot+90) translate(sh){
+ import("sewing-table-front-profile.dxf", convexity=10); // spline, Pink3
+ }
+}
+
+module Machine_NewRearCurve(){
+ slant = atan2(4,210-10);
+ //echo("SL",slant);
+ translate([0,0, rearcurve_double_inrad]) rotate([slant,0,0]){
+ translate([ rearcurve_double_inrad,
+ 0,
+ -rearcurve_double_inrad + 10 ]){
+ rotate([180,0,0]) rotate([0,0,90]) linear_extrude(height=30){
+ hull(){
+ Machine_NewRearProfile();
+ translate([0,-100]) Machine_NewRearProfile();
+ }
+ }
+ }
+ rotate([0,90,0]) rotate([90,0,0]) {
+ intersection(){
+ rotate_extrude(convexity=10, $fn=64)
+ rotate(90)
+ translate([ 0, -rearcurve_double_inrad ])
+ Machine_NewRearProfile();
+ translate([0,0,-500])
+ cube([500,500,1000]);
+ }
+ }
+ translate([1,0,-rearcurve_double_inrad])
+ rotate([0,-90,0]) rotate([0,0,-90])
+ linear_extrude(height= rearcurve_strt_len + 1)
+ Machine_NewRearProfile();