blob26 |
The blob in all its glory:
rectangle with 6 lobes, intended to make a case with 6 connectors.
Click on the snapshot to download the blob's stl file. |
# name of the blob project = "blob26"; function w = f(x2,y2,z2,c,r,e) x = (x2-c(1))/r(1); y = (y2-c(2))/r(2); z = (z2-c(3))/r(3); # function at origin must be <0, and >0 far enough away. w=0 defines the surface k=1.5; r = 1.4; r2 = r^(1/2); r8 = r ^(1/4); w = -1./(r*(x+0.5+0.09*((z)+sqrt(z.^2+1))).^2+r2*(y-0).^2+r8*((z+1.5)/7.5).^8).^k - 1./(r*(x-0.5-0.09*((z)+sqrt(z.^2+1))).^2+r2*(y-0).^2+r8*((z+1.5)/7.5).^8).^k ; w = w - 1./(r*(0.95*(x+1.5+0.28*((z)+sqrt(z.^2+1)))).^2+r2*(y-0).^2+r8*((z+2.0)/7).^8).^k -1./(r*(0.95*(x-1.5-0.28*((z)+sqrt(z.^2+1)))).^2+r2*(y-0).^2+r8*((z+2.0)/7).^8).^k; w = w - 1./(r*(0.6*(x+2.5+0.55*((z)+sqrt(z.^2+4)))).^2+r2*0.9*(y-0).^2+r8*((z+3)/6).^8).^k - 1./(r*(0.6*(x-2.5-0.55*((z)+sqrt(z.^2+4)))).^2+r2*0.9*(y-0).^2+r8*((z+3)/6).^8).^k + 1.0; endfunction; c_outer = [0,0,0]; r_outer = [10,10,10]; step = 2; # grid pitch in mm start with 4mm to see the shape quickly. Once you have it just right, change to 2mm for printing source("../octave/func2stl_v01.m"); # do all the calculationsGNU Octave