chiark / gitweb /
sleepphone-cable-box: wip, keeper, etc.
[reprap-play.git] / pawn.scad
index 2aeaae1ae0095f09f7b7ba201ddd1ccebfad15af..7277dcda5218dc7026ee7ece0bfc2f3a682804e6 100644 (file)
--- a/pawn.scad
+++ b/pawn.scad
@@ -2,12 +2,12 @@
 
 // shape parameters
 
-r1 =  3;
+r1 =  2.85;
 r2 =  4; a2 = 27;
 r3 = r2;
-r4 =  4; a4 = 20;
-r5 = 35;
-h6 =  5; a6 = 5;
+r4 =  4; a4 = 18;
+r5 = 30;
+h6 = 7; a6 = 4;
 
 // coordinates
 
@@ -32,11 +32,14 @@ x6 = x5 - h6 * tan(a6);
 htotal = r1 - z6;
 echo("height", htotal);
 
-$fa=1;
-$fs=0.1;
+d = 0.01;
+dx = 0.00;
+
+$fa=2;
+$fs=0.2;
 
 module SegmentBasisSquare(zmin, zmax, xmin){
-  translate([xmin, zmin-0.01]) square([-xmin+0.01, zmax-zmin+0.02]);
+  translate([xmin, zmin-d]) square([-xmin+dx, zmax-zmin+d*2]);
 }
 module ConvexSegment(xc, zc, r, zmin, zmax){
   intersection(){
@@ -58,14 +61,14 @@ module PawnTemplate(){
   ConcaveSegment( x3 - r4,  z3,   r4, z4, z3);
   ConvexSegment(  xc5,      zc5,  r5, z5, z4);
   polygon([[x6, z6],
-          [x5, z5+0.01],
-          [0.01, z5],
-          [0.01, z6]]);
+          [x5, z5+d],
+          [dx, z5+d],
+          [dx, z6]]);
 }
 
 module Pawn(h=htotal){
   scale(h/htotal) {
-    rotate_extrude($fn=100){
+    rotate_extrude(convexity=10, $fn=50){
       assign($fn=undef){
        PawnTemplate();
       }
@@ -73,4 +76,5 @@ module Pawn(h=htotal){
   }
 }
 
-Pawn(h=20);
+Pawn(h=30);
+//PawnTemplate();