# Search Frink Sample Programs

Search:

### 16Animali.frink

21: `  v = callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[depth r]]]`

### 16AnimaliBox.frink

91: `  // Calculate the voxel resolution that we printed the original at`
124: `  v = callJava["frink.graphics.VoxelArray", "strokeZ", [wallPoly, floorThickness r , (wallHeight+floorThickness) r, wallThickness/2 r, true]]`
127: `  f = callJava["frink.graphics.VoxelArray", "extrudeZ", [floorPoly, 0, floorThickness r]]`
131: `  f = callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[floorThickness r], round[(floorThickness + emboss) r]]]`
136: `  lw = callJava["frink.graphics.VoxelArray", "strokeZ", [lidWall, 0, lidWallHeight r, wallThickness/2 r, true]]`
139: `  top = callJava["frink.graphics.VoxelArray", "extrudeZ", [lid, round[lidWallHeight r], round[(lidWallHeight + lidThickness) r]]]`

### 16Pesci.frink

18: `  v = callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[depth r]]]`

### 16PesciBox.frink

88: `  // Calculate the voxel resolution that we printed the original at`
121: `  v = callJava["frink.graphics.VoxelArray", "strokeZ", [wallPoly, floorThickness r , (wallHeight+floorThickness) r, wallThickness/2 r, true]]`
124: `  f = callJava["frink.graphics.VoxelArray", "extrudeZ", [floorPoly, 0, floorThickness r]]`
128: `  f = callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[floorThickness r], round[(floorThickness + emboss) r]]]`
133: `  lw = callJava["frink.graphics.VoxelArray", "strokeZ", [lidWall, 0, lidWallHeight r, wallThickness/2 r, true]]`
136: `  top = callJava["frink.graphics.VoxelArray", "extrudeZ", [lid, round[lidWallHeight r], round[(lidWallHeight + lidThickness) r]]]`

### airfoilExtrudeTest.frink

18: `  v = callJava["frink.graphics.VoxelArray", "extrudeTapered", [pl, 0,0,0, 0,0,3 in r,cx,cy, 0.5, 1, 180 deg]]`
19: `  v1 = callJava["frink.graphics.VoxelArray", "extrudeTapered", [pl, 0,0,0, 0,0,-3 in r,cx,cy, 0.5, 1, 180 deg]]`
25: `  hub = callJava["frink.graphics.VoxelArray", "makeCylinder", [280/2, (hubHeight + 1.4 mm) r, 0, 280/2, (-hubHeight/2 - 3 mm) r, 0, hubRadius r]]`
29: `  shaft = callJava["frink.graphics.VoxelArray", "makeCylinder", [280/2, 2 hubHeight r, 0, 280/2, -2 hubHeight r, 0, shaftRadius r]]`

### airfoilExtrudeTestNew.frink

23: `  v = callJava["frink.graphics.VoxelArray", "extrudeTaperedRotated", [pl, 0,0,0, 0,0, 4.5 in r,cx,cy, 0.5, 1, rootAngle, tipAngle]]`
24: `  v1 = callJava["frink.graphics.VoxelArray", "extrudeTaperedRotated", [pl, 0,0,0, 0,0,-4.5 in r,cx,cy, 0.5, 1, rootAngle, tipAngle]]`
30: `  hub = callJava["frink.graphics.VoxelArray", "makeCylinder", [278/2, (hubHeight + 0 mm) r, 0, 278/2, (-hubHeight/2 - 3 mm) r, 0, hubRadius r]]`
34: `  shaft = callJava["frink.graphics.VoxelArray", "makeCylinder", [278/2, 2 hubHeight r, 0, 278/2, -2 hubHeight r, 0, shaftRadius r]]`

### ArmillarySphere.frink

9: `  ring = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, ringHeight res, ringOuterRadius res]]`
10: `  ring2 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, ringHeight res, (ringOuterRadius-ringThickness) res]]`
25: `   text = callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[-textDepth res], round[textDepth res]]]`
31: `   tick = callJava["frink.graphics.VoxelArray", "makeCappedCylinder", [x res, y res, ringHeight res, x res, y res, (ringHeight-tickHeight) res, tickRadius res]]`
33: `   tick = callJava["frink.graphics.VoxelArray", "makeCappedCylinder", [x res, y res, 0, x res, y res, tickHeight res, tickRadius res]]`

### candleHolder.frink

5: `  c1 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, 100, 787/2]]`
8: `  cin = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 10, 0, 0, 100, 770/2]]`
12: `  ch = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, 100, 50]]`
16: `  c2 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, 100, 40]]`

### cap3D.frink

4: `  // The resolution of the object in voxels/length.`
16: `  c1 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, height r, outerDiam/2 r]]`
19: `  cin = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, topThickness r, 0, 0, height r, innerDiam/2 r]]`

### chainGuide.frink

52: `  baseOuter = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0, baseHeight res, thickRadiusOuter res, thinRadiusOuter res]]`
53: `  baseInner = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0, baseHeight res, thickRadiusInner res, thinRadiusInner res]]`
57: `  ringOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,baseHeight res,0,0, (baseHeight+0.15 mm) res, thinRadiusOuter res]]`
58: `  ringInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,baseHeight res,0,0, (baseHeight + 0.15 mm) res, thinRadiusInner res]]`
95: `  topOuter = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [rc1, rc2, thinRadiusOuter res, topRadiusOuter res]]`
96: `  topInner = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [rc1, rc2, thinRadiusInner res, topRadiusInner res]]`
117: `  c1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [minX, minY+4.5 mm res, maxZ-4.5 mm res,maxX, minY+4.5 mm res, maxZ-4.5 mm res, 5.8 mm/2 res, 3.0 mm/2 res]]`
120: `  c2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [minX, maxY-4.5 mm res, minZ+4.5 mm res, maxX, maxY-4.5 mm res, minZ+4.5 mm res, 5.8 mm/2 res, 3.0 mm/2 res]]`

### chopsticks.frink

28: `  v = callJava["frink.graphics.VoxelArray", "extrudeZTapered", [polygon, 0 in res, length res, outerRadius/outerRadius, tipRadius/outerRadius]]`

### cometCap.frink

9: `  c1 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, h r, outerDiam r]]`
12: `  cin = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 10, 0, 0, h r, innerDiam r]]`

### dreidel.frink

3: `   rotation of VoxelArrays, tapered cylinders, rounded cubes,`
85: `  /** Extrude text and create a VoxelArray of it. */`
95: `   return callJava["frink.graphics.VoxelArray", "extrudeZ", [img, depth]]`
101: `   return callJava["frink.graphics.VoxelArray", "makeRoundedCube", [xmin, xmax, ymin, ymax, zmin, zmax, radius]]`
107: `   return callJava["frink.graphics.VoxelArray", "makeCylinder", [x1, y1, z1,`
115: `   return callJava["frink.graphics.VoxelArray", "makeTaperedCylinder",`

### dreidelShaft.frink

38: `   return callJava["frink.graphics.VoxelArray", "makeCylinder", [x1, y1, z1,`
46: `   return callJava["frink.graphics.VoxelArray", "makeTaperedCylinder",`

### dropperHolder.frink

5: `  // The resolution of the object in voxels/length.`
22: `  holder = callJava["frink.graphics.VoxelArray", "construct", [-holderWidth/2 r, holderWidth/2 r, -(outerDiam/2 + holderDepth) r, 0, (height-holderHeight) r, (height) r, true]]`
26: `  channel = callJava["frink.graphics.VoxelArray", "construct", [-holderWidth/2 r, holderWidth/2 r, -(outerDiam/2 + 3.1 mm) r, (outerDiam/2) r, (height-holderHeight) r, (height-2 mm) r, true]]`
31: `  c1 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, height r, outerDiam/2 r]]`
35: `  cin = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, topThickness r, 0, 0, height r, innerDiam/2 r]]`

### ellipsoidTest.frink

7: `  v = callJava["frink.graphics.VoxelArray", "makeSuperellipsoid", [.5 in r, .5 in r, .5 in r, .2, 2]]`

### extrudeTest.frink

2: `  /** This tests extruding an image or text to a 3-D VoxelArray for 3-D`
11: `  v = callJava["frink.graphics.VoxelArray", "extrudeZ", [img,20]]`
27: `  base = callJava["frink.graphics.VoxelArray", "construct", [minX, maxX, minY, maxY, minZ, minZ+10, true]]`

### GEBCube.frink

16: `  // This sets the resolution of the final object in voxels.`
23: `  v = newJava["frink.graphics.VoxelArray", [w1,h1,h1,true]]`

### GEBCube2.frink

18: `  v = newJava["frink.graphics.VoxelArray", [w1,h1,h1,true]]`

### graph3D.frink

25: `   voxels in the .obj file larger.`
47: `  // Change the doublings to vary the number of voxels. This is the number`
50: `  // Be warned that increasing the doublings by 1 makes 8 times as many voxels!`
52: `  r = 2^doublings // Number of voxels on each axis`
96: `   v = callJava["frink.graphics.VoxelArray", "construct", [xmin sx, xmax sx, ymin sy, ymax sy, zmin sz, zmax sz, false]]`

### gripper.frink

22: `  disc = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0, 0, 0, 0, 0, discHeight res, discDiamBase/2 res, discDiamTop/2 res]]`
24: `  cupOuter = callJava["frink.graphics.VoxelArray" , "makeSpheroid", [outerSpheroidDiam/2 res, outerSpheroidDiam/2 res, outerSpheroidHeight/2 res]]`
27: `  cupInner = callJava["frink.graphics.VoxelArray" , "makeSpheroid", [innerSpheroidDiam/2 res, innerSpheroidDiam/2 res, innerSpheroidHeight/2 res]]`
38: `  screwHole = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, screwHeight res, screwDiam/2 res]]`

### ikeaBowlHolder.frink

20: `  bottom = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,0,0,0,-bottomHeight res, bottomDiamOuter/2 res]]`
22: `  outerSides = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,topHeight res, bottomDiamOuter/2 res, topDiamOuter/2 res]]`
23: `  innerSides = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,topHeight res, bottomDiamInner/2 res, topDiamInner/2 res]]`

### impossibleSphere.frink

8: `  v = callJava["frink.graphics.VoxelArray", "makeSphere", [s]]`
41: `  /** This draws a "line" (a capped cylinder) into the specified VoxelArray */`

### kittyHockeyPuck.frink

15: `  // The resolution of the object in voxels/length.`
44: `  /** Extrude text and create a VoxelArray of it. */`
52: `   return callJava["frink.graphics.VoxelArray", "extrudeZ", [img, depth]]`
59: `   c1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0, 0, 0, 0, 0, chamferHeight, radius-chamferHeight, radius]]`
62: `   c2 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, chamferHeight, 0, 0, height-chamferHeight, radius]]`
65: `   c3 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0, 0, height-chamferHeight, 0, 0, height, radius, radius-chamferHeight]]`

### moon3D.frink

57: `  v = callJava["frink.graphics.VoxelArray", "construct", [-r res, r res, -r res, r res, -r res, r res, false]]`
60: `  tool = newJava["frink.graphics.VoxelArray", [1,1,1,true]]`

### mugCap.frink

11: `  c1 = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, 0, 0, 0, h r, outerRadius r]]`
14: `  cin = callJava["frink.graphics.VoxelArray", "makeCylinder", [0, 0, lidThickness r, 0, 0, h r, innerRadius r]]`

### paintAlongHullTest.frink

2: `  /** This program tests the VoxelArray.paintAlong hull method for 3D printing.`
16: `  v = callJava["frink.graphics.VoxelArray", "extrudeZTapered", [polygon, 0 in res, 1 in res, 1, .5]]`
22: `  t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,th res, tr res, 0]]`
23: `  t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,-th res, tr res, 0]]`
27: `  sphereTool = callJava["frink.graphics.VoxelArray", "makeSphere", [.1 in res]]`
33: `  t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,flatHeight/2 res,0,0,(th+flatHeight/2) res, tr res, 0]]`
34: `  t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,-flatHeight/2 res,0,0,-(th + flatHeight/2) res, tr res, 0]]`
35: `  flat = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,flatHeight/2 res,0,0,-flatHeight/2 res, tr res]]`

### parametric3D.frink

29: `   instantiated into a 3-D model using VoxelArray.paintAlongPath `
68: `   // Check to see if the voxel didn't move or if it moved by more than`

### parametric3DTest.frink

11: `  pixelTool = newJava["frink.graphics.VoxelArray", [0,1,0,1,0,1,true]]`
14: `  sphereTool = callJava["frink.graphics.VoxelArray", "makeSphere", [.025 in res]]`
19: `  t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,th res, tr res, 0]]`
20: `  t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,-th res, tr res, 0]]`
27: `  t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,flatHeight/2 res,0,0,(th+flatHeight/2) res, tr res, 0]]`
28: `  t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,-flatHeight/2 res,0,0,-(th + flatHeight/2) res, tr res, 0]]`
29: `  flat = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,flatHeight/2 res,0,0,-flatHeight/2 res, tr res]]`
37: `  v = callJava["frink.graphics.VoxelArray", "paintAlongPath", [p, doubleConeWithFlatSidesTool, 0,0,0]]`

### PerfectionPiece.frink

5: `  r = 254/in // Voxel resolution`
38: `  //tool = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0, 0,0,wallHeight r, br r, tr r]]`
39: `  //v = callJava["frink.graphics.VoxelArray", "strokeZ", [poly, tool, 0,0,wallHeight/2 r, true]]`
42: `  v = callJava["frink.graphics.VoxelArray", "strokeZTapered", [poly, 0, wallHeight r, br r, tr r, true]]`

### pumpHolder.frink

17: `  v = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], true]]`
20: `  c1 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`
25: `  c2 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`

### roundedCubeTest.frink

4: `  v = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [20, 150, -20, 140, -30, 110, 50]]`

6: `  /** Makes a single-pixel tool for testing. This returns a VoxelArray with a`
10: `   return newJava["frink.graphics.VoxelArray", [0,1,0,1,0,1,true]]`
13: `  /** Makes a spherical tool. This returns a VoxelArray with a sphere of the`
17: `   return callJava["frink.graphics.VoxelArray", "makeSphere", [radius res]]`
21: `   This returns a VoxelArray with a double cone of the`
26: `   t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,halfHeight res, radius res, 0]]`
27: `   t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,0,0,0,-halfHeight res, radius res, 0]]`
32: `   This returns a VoxelArray with a double cone of the`
37: `   t1 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,flatHeight/2 res,0,0,(coneHeight+flatHeight/2) res, radius res, 0]]`
38: `   t2 = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,-flatHeight/2 res,0,0,-(coneHeight + flatHeight/2) res, radius res, 0]]`
39: `   flat = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,flatHeight/2 res,0,0,-flatHeight/2 res, radius res]]`
47: `   instantiated into a 3-D model using VoxelArray.paintAlongPath `
61: `   v = callJava["frink.graphics.VoxelArray", "paintAlongPath", [path, tool, 0,0,0]]`

35: `  malePipeOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(turns pitch + pilot) res, minorRadius res]]`
36: `  malePipeInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(turns pitch + pilot) res, (minorRadius-2.4 mm) res]]`
41: `  femalePipeOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(turns pitch) res, (femaleRadius + 2.4 mm) res]]`
42: `  femalePipeInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(turns pitch) res, femaleRadius res]]`

41: `  malePipeOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(3 turns pitch + pilot) res, minorRadius res]]`
42: `  malePipeInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(3 turns pitch + pilot) res, (minorRadius-2.4 mm) res]]`
51: `  femalePipeOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(3 turns pitch) res, (femaleRadius + 2.4 mm) res]]`
52: `  femalePipeInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,-1/4 in res,0,0,(3 turns pitch) res, femaleRadius res]]`

21: `  malePipeInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,0,0,0,1/4 in res, minorRadius res]]`
22: `  malePipeOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,0,0,0,1/4 in res, (minorRadius+2.4 mm) res]]`

### squeezy.frink

19: `  v = callJava["frink.graphics.VoxelArray", "construct" , [0 mm r, 10 mm r, -armDepth r, armDepth r, 0 mm r, height r, true]]`
22: `  a1 = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [9 mm r, (9 mm + armLength) r, gap/2 r, armDepth r, 0 mm r, height r, 1 mm r]]`
23: `  a2 = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [9 mm r, (9 mm + armLength) r, -armDepth r, -gap/2 r, 0 mm r, height r, 1 mm r]]`
28: `  r1out = callJava["frink.graphics.VoxelArray", "makeCylinder", [rcx r, rcy r, 0 mm r, rcx r, rcy r, height r, ((1/2 ring1Diam) + ringThickness) r]]`
29: `  r1in = callJava["frink.graphics.VoxelArray", "makeCylinder", [rcx r, rcy r, 0 mm r, rcx r, rcy r, height r, (1/2 ring1Diam) r]]`
36: `  r2out = callJava["frink.graphics.VoxelArray", "makeCylinder", [rcx r, rcy r, 0 mm r, rcx r, rcy r, height r, ((1/2 ring2Diam) + ringThickness) r]]`
37: `  r2in = callJava["frink.graphics.VoxelArray", "makeCylinder", [rcx r, rcy r, 0 mm r, rcx r, rcy r, height r, (1/2 ring2Diam) r]]`
63: `  /** Extrude text along a plane and create a VoxelArray of it. */`
70: `   return callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[depth]]]`

### squeezy2.frink

20: `  v = callJava["frink.graphics.VoxelArray", "construct" , [0 mm r, 10 mm r, -armDepth r, armDepth r, 0 mm r, height r, true]]`
23: `  a1 = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [9 mm r, (9 mm + armLength) r, gap/2 r, armDepth r, 0 mm r, height r, 1 mm r]]`
24: `  a2 = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [9 mm r, (9 mm + armLength) r, -armDepth r, -gap/2 r, 0 mm r, height r, 1 mm r]]`
27: `  r1 = callJava["frink.graphics.VoxelArray", "makeSupertoroid", [(1/2 ring1Diam + 1/2 ringThickness) r, 1/2 ringThickness r, 1/2 ringThickness r, 1.001 height/2 r, .5, 1]]`
34: `  r2 = callJava["frink.graphics.VoxelArray", "makeSupertoroid", [(1/2 ring2Diam + 1/2 ringThickness) r, 1/2 ringThickness r, 1/2 ringThickness r, 1.001 height/2 r, .5, 1]]`
62: `  /** Extrude text along a plane and create a VoxelArray of it. */`
69: `   return callJava["frink.graphics.VoxelArray", "extrudeZ", [img, round[depth]]]`

### TelescopeViewfinder2.frink

19: `   // numbers to feed to the dimensionless integer VoxelArray class`
22: `  v = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,z0 r, 0,0,z1 r, stopDiam/2 r]]`
25: `  v = v.union[callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,z0 r, 0,0,2 in r, cylDiam/2 r]]]`

### thermocouple2.frink

17: `  v = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], true]]`
20: `  c1 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`
25: `  c2 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`

### thermocouple3.frink

17: `  v = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], true]]`
20: `  c1 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`
25: `  c2 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`

### thermocouple4.frink

17: `  v = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], true]]`
20: `  c1 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`
25: `  c2 = newJava["frink.graphics.VoxelArray", [round[-width res/2], round[width res], round[-depth res/2], round[depth res], 0, round[height res], false]]`

### tongs.frink

18: `  outer = callJava["frink.graphics.VoxelArray", "construct", [-thickness r, (width+thickness) r, -thickness r, (depth+thickness) r, 0 mm r, height r, true]]`
21: `  inner = callJava["frink.graphics.VoxelArray", "construct", [0 mm r, width r, 0 mm r, depth r, 0 mm r, height r, true]]`

### tongsRounded.frink

24: `  outer = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [-thickness r, (width+thickness) r, -thickness r, (depth+thickness) r, -thickness r, (height+thickness) r, (radius + thickness) r]]`
27: `  inner = callJava["frink.graphics.VoxelArray", "makeRoundedCube", [0 mm r, width r, 0 mm r, depth r, 0 mm r, height r, radius r]]`

### torusTest.frink

7: `  v = callJava["frink.graphics.VoxelArray", "makeSupertoroid", [1 in r, .2 in r, .2 in r, .4 in r, .5, 1]]`

### VacuumNozzle.frink

32: `  baseOuter = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,0,0,0,baseHeight res, (baseRadius+baseThickness) res]]`
33: `  baseInner = callJava["frink.graphics.VoxelArray", "makeCylinder", [0,0,0,0,0,baseHeight res, (baseRadius) res]]`
37: `  taperOuter = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,baseHeight res,0,0,(baseHeight+taperLength) res, (baseRadius+baseThickness) res, baseThickness res]]`
38: `  taperInner = callJava["frink.graphics.VoxelArray", "makeTaperedCylinder", [0,0,baseHeight res,0,0,(baseHeight+taperLength) res, baseRadius res, 0]]`
45: `  nozzleOuter = callJava["frink.graphics.VoxelArray", "construct", [(-nozzleOuterX/2) res, (nozzleOuterX/2) res, (-nozzleOuterY/2) res, (nozzleOuterY/2) res, bottom res,top res,true]]`
46: `  nozzleInner = callJava["frink.graphics.VoxelArray", "construct", [(-nozzleInnerX/2) res, (nozzleInnerX/2) res, (-nozzleInnerY/2) res, (nozzleInnerY/2) res, bottom res,top res,true]]`

### VoxelArrayTest.frink

2: `  // This is a simple test to make a VoxelArray and output it as a Wavefront`
4: `  v = newJava["frink.graphics.VoxelArray", [9,9,9,true]]`

### VoxelPolygonTest.frink

29: `  v = callJava["frink.graphics.VoxelArray", "extrudeZ", [polygon, round[0 in res], round[1 in res]]]`
35: `  filename = "VoxelPolygonTest.obj"`

### VoxelRotatedPolygonTest.frink

12: `  v = callJava["frink.graphics.VoxelArray", "makeSphere", [1 in res]]`
18: `   v = v.union[callJava["frink.graphics.VoxelArray", "extrudeTapered", [polygon, x res in, y res in, z res in, 2x res in, 2y res in, 2z res in, 0, 0, 0, 1, 0 deg]]]`
25: `  filename = "VoxelRotatedPolygonTest.obj"`

### VoxelRotateTest.frink

2: `  /** This program tests the rotation of a VoxelArray. */`
4: `  v = callJava["frink.graphics.VoxelArray", "construct", [-10, 10, -20, 20, -30, 30, true]]`
12: `  filename = "VoxelRotateTest.obj"`

### VoxelSolidOfRotation.frink

15: `  // Extrude the bitmap as a one-voxel-thick layer.`
16: `  v = callJava["frink.graphics.VoxelArray", "extrudeZ", [img,1]]`
29: `  base = callJava["frink.graphics.VoxelArray", "construct", [minX, maxX, minY, maxY, minZ-10, minZ, true]]`

### VoxelStrokePolygonTest.frink

16: `  v = callJava["frink.graphics.VoxelArray", "strokeZ", [polygon, round[0 in res], round[1 in res], 1.5 mm res, true]]`
22: `  filename = "VoxelStrokePolygonTest.obj"`

### VoxelTaperedPolygonTest.frink

12: `  v = callJava["frink.graphics.VoxelArray", "extrudeZTapered", [polygon, 0 in res, 1 in res, 1, .5]]`
18: `  filename = "VoxelTaperedPolygonTest.obj"`

### VoxelXYZRotateTest.frink

13: `  v = callJava["frink.graphics.VoxelArray", "extrudeZTapered", [polygon, 0 in res, 1 in res, 1, 0]]`
21: `  filename = "VoxelXYZRotateTest.obj"`

Alan Eliasen was born 19305 days, 18 hours, 31 minutes ago.

Back to Frink Sample Programs