Showing preview only (1,058K chars total). Download the full file or copy to clipboard to get everything.
Repository: ewust/keys
Branch: master
Commit: 55834a449a52
Files: 57
Total size: 1.0 MB
Directory structure:
gitextract_hw6po8ej/
├── Automated-Keyway-Modeling/
│ ├── Generic-Key.jscad
│ ├── Generic-Key.scad
│ ├── Keyway-Detection-JSCAD.py
│ ├── KeywayDetection.py
│ ├── README
│ ├── Sample_Output.scad
│ └── Sample_Output.stl
├── README.md
├── Schlage SC1.scad
├── custom-models/
│ ├── BEST G.scad
│ ├── Kwikset KW1.scad
│ ├── Medeco Biaxial.scad
│ ├── Medeco Keymark.scad
│ ├── SEB-145.ipt
│ └── SED-v5.ipt
└── data/
├── CEDAR DID04.py
├── bestg-cud-1.out
├── bestg-cud-2.out
├── bestg-mp-1.out
├── bestg-mp-2.out
├── bestg-mp-3.out
├── bestg-mp-4.out
├── bestg-wsfp-1.out
├── bestg-wsfp-2.out
├── bestg-wsfp-3.out
├── bestg-wsfp-4.out
├── kw1-cud-1.out
├── kw1-cud-2.out
├── kw1-mp-1.out
├── kw1-mp-2.out
├── kw1-mp-3.out
├── kw1-mp-4.out
├── kw1-ns-1.out
├── kw1-rbs-1-bent.out
├── kw1-rbs-1.out
├── kw1-rbs-2.out
├── kw1-rbz-1.out
├── kw1-rbz-2.out
├── kw1-ss-1.out
├── kw1-ss-2-no-springs.out
├── kw1-ss-2-opened.out
├── kw1-ss-2.out
├── kw1-wsfp-1.out
├── kw1-wsfp-2.out
├── kw1-wsfp-3.out
├── kw1-wsfp-4.out
├── notes
├── sc1-cud-1.out
├── sc1-cud-2.out
├── sc1-mp-1.out
├── sc1-mp-2.out
├── sc1-mp-3.out
├── sc1-mp-4.out
├── sc1-wsfp-1.out
├── sc1-wsfp-2.out
├── sc1-wsfp-3.out
└── sc1-wsfp-4.out
================================================
FILE CONTENTS
================================================
================================================
FILE: Automated-Keyway-Modeling/Generic-Key.jscad
================================================
function mm(i) {
return i*25.4;
}
function pixel(i) {
return mm(i*###SCALE_FACTOR###);
}
function channels(blade_length) {
return union(
###CHANNELS###
);
}
function bit(cut_depth, blade_width) {
return difference(
cube({size: [blade_width, 20, 20]}).translate([0, -20, 0]).rotateX(45),
cube({size: [blade_width, mm(0.025), mm(0.05)]}).translate([0, -mm(0.025), -mm(0.05)/2])
).translate([0, mm(0.025 + (cut_depth * 0.0125)), 0]);
}
function bow_edges(bow_height, inner_radius, outer_radius, amount_show) {
outer_radius = 2*outer_radius;
return difference(
cylinder({h: 2*bow_height, r: outer_radius}),
cylinder({h: 2*bow_height, r: inner_radius}),
cube({size: [2*outer_radius, 2*outer_radius, 2*bow_height]}).translate([-inner_radius + amount_show, -outer_radius, 0])
).translate([inner_radius, 0, 0]);
}
function bow(input_x_len, input_y_len) {
bow_height = input_y_len;
bow_x_length = input_x_len * 2.808888889;
bow_y_length = input_x_len * 2.891851852;
return difference(
cube({size: [bow_x_length, bow_y_length, bow_height]}),
cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}),
cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([bow_x_length, 0, 0]),
cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([0, 0.925 * bow_y_length, 0]),
cylinder({h: bow_height, r: bow_x_length/2 - input_x_len/2}).translate([bow_x_length, 0.925 * bow_y_length, 0]),
bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length)
.translate([0, 0.4615 * bow_y_length, 0]),
bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length)
.rotateY(180).translate([bow_x_length, 0.4615 * bow_y_length, 3*bow_height/2]),
bow_edges(bow_height, bow_y_length - 8*(0.074367089 * bow_x_length), bow_y_length - 2*(0.074367089 * bow_x_length), 0.074367089 * bow_x_length)
.rotateZ(270).translate([bow_x_length/2, bow_y_length - 0.1*bow_y_length, 0]),
difference(
cube({size: [input_x_len, 0.15*bow_y_length, bow_height]}).translate([bow_x_length/2 - input_x_len/2, 0, 0]),
cube({size: [bow_x_length/2 - input_x_len/2, 0.3*bow_y_length, bow_height]}).rotateZ(-15),
cube({size: [bow_x_length/2 + input_x_len/2, 0.3*bow_y_length, bow_height]}).rotateZ(105).translate([bow_x_length/2 + input_x_len/2 + cos(15) * 0.3*bow_y_length, sin(15) * 0.3*bow_y_length, 0])
).translate([-0.006*bow_x_length, 0.65*bow_y_length, 0])
);
}
function blade(key_cuts) {
###BLADE_LENGTH###
###BLADE_WIDTH###
shoulder = mm(0.195);
cut_spacing = mm(0.15);
return difference(
channels(blade_length).translate([-blade_width, 0, 0]).rotateY(180),
cube({size: [blade_width, mm(0.159), mm(0.159)]}).rotateY(45).translate([0, 0, -blade_length - mm(9*0.0125)]),
###TIP_STOP###
bit(key_cuts[0], blade_width).translate([0, 0, -shoulder - (0 * cut_spacing)]),
bit(key_cuts[1], blade_width).translate([0, 0, -shoulder - (1 * cut_spacing)]),
bit(key_cuts[2], blade_width).translate([0, 0, -shoulder - (2 * cut_spacing)]),
bit(key_cuts[3], blade_width).translate([0, 0, -shoulder - (3 * cut_spacing)]),
bit(key_cuts[4], blade_width).translate([0, 0, -shoulder - (4 * cut_spacing)]),
bit(key_cuts[5], blade_width).translate([0, 0, -shoulder - (5 * cut_spacing)]),
bit(key_cuts[6], blade_width).translate([0, 0, -shoulder - (6 * cut_spacing)])
);
}
function main() {
###X_LENGTH###
###Y_LENGTH###
return union(
blade(###KEY_CUTS###),
bow(y_length, x_length).rotateX(90).rotateZ(90).translate([0, -((y_length*2.808888889)/2 - y_length/2), 0])
);
}
================================================
FILE: Automated-Keyway-Modeling/Generic-Key.scad
================================================
$fn=100;
function mm(i) = i*25.4;
###SCALE_FACTOR###
//Auto generated channels
module channels(blade_length)
{
###CHANNELS###
}
module bit(cut_depth, blade_width)
{
translate([0, mm(.025 + (cut_depth * .0125)), 0])
difference()
{
rotate([45, 0, 0]) translate([0, -20, 0]) cube([blade_width, 20, 20]);
translate([0, -mm(.025), -mm(.05)/2]) cube([blade_width, mm(.025), mm(.05)]);
}
}
module blade(key_cuts)
{
###BLADE_LENGTH###
###BLADE_WIDTH###
shoulder = mm(.195);
cut_spacing = mm(.15);
difference()
{
//Generate Blade With Channels
translate([0, 0, -blade_length]) channels(blade_length);
//Contour Tip
translate([0, 0, -blade_length - mm(9*.0125)])
rotate([45, 0, 0]) cube([blade_width, mm(.159), mm(.159)]);
//Cut Tip Stop
###TIP_STOP###
//Place cuts on the key
for (counter = [0:###NUMBER_OF_CUTS###])
{
translate([0, 0, -shoulder - (counter * cut_spacing)])
bit(key_cuts[counter], blade_width);
}
}
}
module bow_edges(bow_height, inner_radius, outer_radius, amount_show)
{
outer_radius = 2*outer_radius;
translate([inner_radius, 0, 0]) difference()
{
cylinder(h = 2*bow_height, r = outer_radius);
cylinder(h = 2*bow_height, r = inner_radius);
translate([-inner_radius + amount_show, -outer_radius, 0]) cube([2*outer_radius, 2*outer_radius, 2*bow_height]);
}
}
module bow(input_x_len, input_y_len)
{
bow_height = input_y_len;
bow_x_length = input_x_len * 2.808888889;
bow_y_length = input_x_len * 2.891851852;
difference()
{
cube([bow_x_length, bow_y_length, bow_height]);
cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
translate([bow_x_length, 0, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
translate([0, .925 * bow_y_length, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
translate([bow_x_length, .925 * bow_y_length, 0]) cylinder(h = bow_height, r = bow_x_length/2 - input_x_len/2);
translate([0, 0.4615 * bow_y_length, 0])
bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length);
translate([bow_x_length, 0.4615 * bow_y_length, 3*bow_height/2])
rotate([0, 180, 0]) bow_edges(bow_height, 0.173442623 * bow_y_length, 0.192110656 * bow_y_length, 0.074367089 * bow_x_length);
translate([bow_x_length/2, bow_y_length - .1*bow_y_length, 0])
rotate([0, 0, 270]) bow_edges(bow_height, bow_y_length - 8*(.074367089 * bow_x_length), bow_y_length - 2*(.074367089 * bow_x_length), 0.074367089 * bow_x_length);
translate([-.006*bow_x_length, .65*bow_y_length, 0]) difference()
{
translate([bow_x_length/2 - input_x_len/2, 0, 0]) cube([input_x_len, .15*bow_y_length, bow_height]);
rotate([0, 0, -15]) cube([bow_x_length/2 - input_x_len/2, .3*bow_y_length, bow_height]);
translate([bow_x_length/2 + input_x_len/2 + cos(15) * .3*bow_y_length, sin(15) * .3*bow_y_length, 0]) rotate([0, 0, +105]) cube([bow_x_length/2 + input_x_len/2, .3*bow_y_length, bow_height]);
}
}
}
module key(key_cuts)
{
###X_LENGTH###
###Y_LENGTH###
union()
{
blade(key_cuts);
translate([0, -((y_length*2.808888889)/2 - y_length/2), 0]) rotate([90, 0, 90]) bow(y_length, x_length);
}
}
key(###KEY_CUTS###);
================================================
FILE: Automated-Keyway-Modeling/Keyway-Detection-JSCAD.py
================================================
import argparse
import cv2
import exifread
import os.path
import subprocess
import sys
from skimage import measure
from skimage import img_as_ubyte
from skimage.transform import rotate
parser = argparse.ArgumentParser(description='3D Key Blank Model Generation Utility.')
parser.add_argument('input', default = 'input.pgm',
help='the file to read from (default: input.pgm)')
parser.add_argument('--output', '-o', default='output.pgm',
help='the file to output the image mask to (default: output.pgm)')
parser.add_argument('--threshold', '-t', default=-1, type=float,
help='the threshold value to use when filtering the image (default: automatically generated)')
parser.add_argument('--min_threshold', default=25, type=int,
help='set the minimum threshold value for the automated threshold detector (default: 25)')
parser.add_argument('--max_threshold', default=80, type=int,
help='set the maximum threshold value for the automated threshold detector (default: 80)')
parser.add_argument('--step_size_threshold', default=5, type=int,
help='set the step size for the automated threshold detector (default: 5)')
parser.add_argument('--print_threshold', '-pt', default=False, type=bool,
help='print the automatically selected threshold value (default: False)')
parser.add_argument('--overhangs', '-oh', default=1, type=int,
help='set if the image has overhangs (default: True)')
parser.add_argument('--generic_scad', '-gs', default='Generic-Key.scad',
help='set the location of the generic-key.scad file (default: ./generic-key.scad)')
parser.add_argument('--no_arg', '-na', default=False, type=bool,
help='disable argument checking (default: False)')
parser.add_argument('--keyway_height', '-kh', default=.320, type=float,
help='set the height of the keyway in inches (default: .320")')
parser.add_argument('--blade_length', '-bl', default=1.25, type=float,
help='set the length of the key blade in inches (default: 1.25")')
parser.add_argument('--scad_output_file', '-sof', default='output.scad',
help='the file to output the OpenSCAD data to (default: output.scad)')
parser.add_argument('--key_cuts', '-kc', nargs='+', default=['0', '0', '0', '0', '0', '0', '0'],
help='the cuts to place on the key (default: 0 0 0 0 0 0 0)')
parser.add_argument('--output_stl', '-os', default='output.stl',
help='the file to render to (default: output.stl)')
parser.add_argument('--disable_stl_output', '-dso', default=False,
help='disable the automatic rendering of the OpenSCAD data (default: False)')
parser.add_argument('--trim', '-tr', default=10, type=int,
help='scale stuff (default: False)')
args = parser.parse_args()
#START ARG CHECKING
if(args.no_arg == False):
if((args.threshold > 255) | ((args.threshold < 0) and (args.threshold != -1)) |
(args.min_threshold > 255) | (args.min_threshold < 0) |
(args.max_threshold > 255) | (args.max_threshold < 0) |
(args.step_size_threshold > (args.max_threshold - args.min_threshold)) |
(args.min_threshold > args.max_threshold)):
print 'Error: threshold value out of range'
sys.exit(1)
if(os.path.isfile(args.input) == False):
print 'Error: input file does not exist'
sys.exit(1)
if(os.path.isfile(args.output) == True):
print 'Warning: output file exists'
print 'Would you like to overwrite? (y/n)'
input_data = raw_input()
if((input_data == 'y') | (input_data == 'yes')) == False:
sys.exit(1)
if(os.path.isfile(args.generic_scad) == False):
print 'Error: generic_scad file does not exist'
sys.exit(1)
#END ARG CHECKING
#READ GENERIC SCAD TEMPLATE
print "Reading Generic SCAD Template"
f = open(args.generic_scad, 'r+')
generic_scad = f.read()
f.close()
#END READ GENERIC SCAD TEMPLATE
#THRESHOLDING
img = cv2.imread(args.input, 0)
new_img = cv2.imread(args.input, 0)
exif = open(args.input, 'rb')
exif_data = exifread.process_file(exif, details=False)
try:
exif_orientation = str(exif_data['Image Orientation'])
except KeyError, e:
# print "EXIF DATA: NOT FOUND"
exif_orientation = str("NotRotated A")
#print "EXIF DATA: FOUND"
exif_orientation_array = exif_orientation.split(" ")
threshold_array = []
area_array = []
first_run = True
if(args.threshold == -1):
print "Determining Optimal Thresholding Value"
for threshold in range(args.min_threshold, args.max_threshold, args.step_size_threshold):
ret,new_img = cv2.threshold(img,threshold,255,cv2.THRESH_BINARY)
labels = measure.label(new_img)
max = 0
region_label = -1
region_image = []
avg = 0
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
counter = 0
for i in range(0, int(.15*len(region_image))):
avg += len(region_image[i])
counter += 1
if counter != 0:
avg = avg/counter
if(first_run):
last_area = len(region_image)*len(region_image[1])
first_run = False
else:
if(len(region_image)*len(region_image[1]) > 2*last_area or
len(region_image)*len(region_image[1]) < last_area/2 or
avg > 1.15 * last_avg):
break
counter = 0
image = region_image
threshold_array.append(threshold)
last_avg = avg
last_area = len(region_image)*len(region_image[1])
area_array.append(last_area)
last_threshold = threshold
print "Thresholding Image"
if(args.print_threshold):
print 'Automatically detected threshold value:'
print last_threshold
else:
print "Thresholding Image"
ret,new_img = cv2.threshold(img,args.threshold,255,cv2.THRESH_BINARY)
labels = measure.label(new_img)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
image = region_image
#END THRESHOLDING
#for i in range(0, len(area_array)):
#print "%s %.23f" % (threshold_array[i], float(area_array[i])/(float(len(new_img)*len(new_img[1]))))
#FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
if(exif_orientation_array[0] == "Rotated"):
if(exif_orientation_array[2] == "CCW"):
image = rotate(image, -int(exif_orientation_array[1]), resize = True)
if(exif_orientation_array[2] == "CW"):
image = rotate(image, int(exif_orientation_array[1]), resize = True)
cv_image = img_as_ubyte(image)
for y in range(int(.8*len(cv_image)), len(cv_image)):
counter = 0
for x in range(0, len(cv_image[0])):
if cv_image[y][x] > 140:
counter += 1
if cv_image[y][x] < 140:
if counter < .1 * len(cv_image[0]) :
for i in range(x - counter, x):
cv_image[y][i] = 0
counter = 0
labels = measure.label(cv_image)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
cv_image = img_as_ubyte(region_image)
cv2.imwrite(args.output, cv_image)
#END FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
#OPENSCAD CONVERSION
#LENGTH ARE SOMETIMES OVERALLOCATED FOR CUT AWAYS TO PREVENT ARTIFACTS FROM RENDERING PROBLEMS
FMT = '''\tcube({size: [pixel(%d), pixel(%d), blade_length]}).translate([pixel(%d), pixel(%d), 0]),\n'''
SCALE_FACTOR = '''%.12f'''
BLADE_LENGTH = '''blade_length = mm(%f); '''
BLADE_WIDTH = '''blade_width = pixel(%f); '''
TIP_STOP = '''cube([3*blade_width/2, 0.6*pixel(%d), mm(0.065)]).translate([-blade_width/4, .5*pixel(%d), -blade_length - mm(0.0001)]),'''
BOW_CONNECTION = ''' cube([pixel(%d), pixel(%d), mm(%f)]); '''
X_LENGTH = '''x_length = pixel(%f); '''
Y_LENGTH = '''y_length = pixel(%f); '''
CONNECTOR_HEIGHT = '''connector_height = pixel(%f); '''
channels = ''
channel_data = []
num_elems = 0
print "Determining Keyway Profile"
if (args.overhangs == False):
for y in range(0, len(cv_image)):
first_wall_found = False
for x in range(0, len(cv_image[y])):
if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y])
and cv_image[y][x+1] > 127 and first_wall_found == False):
last_black_pixel_x_position = x
first_wall_found = True
if(cv_image[y][x] and x == 0 and first_wall_found == False):
last_black_pixel_x_position = 0
first_wall_found = True
if ((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
length_of_white_segment = x - last_black_pixel_x_position
channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
num_elems += 1
if (args.overhangs == True):
for y in range(0, len(cv_image)):
for x in range(0, len(cv_image[y])):
if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] > 127):
last_black_pixel_x_position = x
if(cv_image[y][x] and x == 0):
last_black_pixel_x_position = 0
if((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
length_of_white_segment = x - last_black_pixel_x_position
channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
num_elems += 1
print "Optimizing Keyway Profile"
channel_data_classifier = 1
for i in range(0, len(channel_data)):
if(i - 1 >= 0):
if((channel_data[i-1][0] == channel_data[i][0]) and
channel_data[i-1][2] == channel_data[i][2]):
channel_data[i][4] = channel_data[i-1][4]
else:
channel_data[i][4] = channel_data_classifier
channel_data_classifier += 1
else:
channel_data[i][4] = channel_data_classifier
channel_data_classifier += 1
max_channel = channel_data_classifier
channel_data_classifier = 1
data_stor = [0, 0, 0, 0]
last_index = 0
first_index = 0
first_j = False
print "Converting Keyway Profile Into OpenSCAD"
for i in range(channel_data_classifier, max_channel):
counter = 0
first_j = False
for j in range(last_index, len(channel_data)):
if(channel_data[j][4] == i):
if(first_j == False):
first_index = j
first_j = True
counter += 1
else:
last_index = j
break
channels += (FMT % (channel_data[first_index][2] - args.trim*2, counter, channel_data[first_index][0] + args.trim, channel_data[first_index][1]))
print "Creating .scad File"
generic_scad = generic_scad.replace('###SCALE_FACTOR###', SCALE_FACTOR % (float(args.keyway_height)/float(len(cv_image))))
generic_scad = generic_scad.replace('###CHANNELS###', channels)
generic_scad = generic_scad.replace('###BLADE_LENGTH###', BLADE_LENGTH % (args.blade_length - (7 - len(args.key_cuts))*.15))
generic_scad = generic_scad.replace('###BLADE_WIDTH###', BLADE_WIDTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###TIP_STOP###', TIP_STOP % (len(cv_image) - 1, len(cv_image) - 1))
generic_scad = generic_scad.replace('###BOW_CONNECTION###', BOW_CONNECTION % (len(cv_image[0]) - 1, len(cv_image) - 1, args.blade_length * .1))
generic_scad = generic_scad.replace('###NUMBER_OF_CUTS###', str(len(args.key_cuts) - 1))
generic_scad = generic_scad.replace('###X_LENGTH###', X_LENGTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###Y_LENGTH###', Y_LENGTH % (len(cv_image) - 1))
generic_scad = generic_scad.replace('###CONNECTOR_HEIGHT###', CONNECTOR_HEIGHT % (args.blade_length * .1))
generic_scad = generic_scad.replace('###KEY_CUTS###', str(args.key_cuts).replace("'", ""))
#WRITE SCAD TO DISK
f = open(args.scad_output_file, 'w')
f.write(generic_scad)
f.close()
#RENDER SCAD
if(args.disable_stl_output == False):
print "Rendering .stl File (This Will Take Awhile)"
OPENSCAD_CALL = '''openscad -o %s %s 2>OpenSCAD_output.log 1>OpenSCAD_output.log'''
subprocess.Popen(OPENSCAD_CALL % (args.output_stl, args.scad_output_file), shell=True, stdout=subprocess.PIPE).stdout.read()
================================================
FILE: Automated-Keyway-Modeling/KeywayDetection.py
================================================
import argparse
import cv2
import exifread
import os.path
import subprocess
import sys
from skimage import measure
from skimage import img_as_ubyte
from skimage.transform import rotate
parser = argparse.ArgumentParser(description='3D Key Blank Model Generation Utility.')
parser.add_argument('input', default = 'input.pgm',
help='the file to read from (default: input.pgm)')
parser.add_argument('--output', '-o', default='output.pgm',
help='the file to output the image mask to (default: output.pgm)')
parser.add_argument('--threshold', '-t', default=-1, type=float,
help='the threshold value to use when filtering the image (default: automatically generated)')
parser.add_argument('--min_threshold', default=25, type=int,
help='set the minimum threshold value for the automated threshold detector (default: 25)')
parser.add_argument('--max_threshold', default=80, type=int,
help='set the maximum threshold value for the automated threshold detector (default: 80)')
parser.add_argument('--step_size_threshold', default=5, type=int,
help='set the step size for the automated threshold detector (default: 5)')
parser.add_argument('--print_threshold', '-pt', default=False, type=bool,
help='print the automatically selected threshold value (default: False)')
parser.add_argument('--overhangs', '-oh', default=1, type=int,
help='set if the image has overhangs (default: True)')
parser.add_argument('--generic_scad', '-gs', default='Generic-Key.scad',
help='set the location of the generic-key.scad file (default: ./generic-key.scad)')
parser.add_argument('--no_arg', '-na', default=False, type=bool,
help='disable argument checking (default: False)')
parser.add_argument('--keyway_height', '-kh', default=.320, type=float,
help='set the height of the keyway in inches (default: .320")')
parser.add_argument('--blade_length', '-bl', default=1.25, type=float,
help='set the length of the key blade in inches (default: 1.25")')
parser.add_argument('--scad_output_file', '-sof', default='output.scad',
help='the file to output the OpenSCAD data to (default: output.scad)')
parser.add_argument('--key_cuts', '-kc', nargs='+', default=['0', '0', '0', '0', '0', '0', '0'],
help='the cuts to place on the key (default: 0 0 0 0 0 0 0)')
parser.add_argument('--output_stl', '-os', default='output.stl',
help='the file to render to (default: output.stl)')
parser.add_argument('--disable_stl_output', '-dso', default=False,
help='disable the automatic rendering of the OpenSCAD data (default: False)')
parser.add_argument('--trim', '-tr', default=10, type=int,
help='scale stuff (default: False)')
args = parser.parse_args()
#START ARG CHECKING
if(args.no_arg == False):
if((args.threshold > 255) | ((args.threshold < 0) and (args.threshold != -1)) |
(args.min_threshold > 255) | (args.min_threshold < 0) |
(args.max_threshold > 255) | (args.max_threshold < 0) |
(args.step_size_threshold > (args.max_threshold - args.min_threshold)) |
(args.min_threshold > args.max_threshold)):
print 'Error: threshold value out of range'
sys.exit(1)
if(os.path.isfile(args.input) == False):
print 'Error: input file does not exist'
sys.exit(1)
if(os.path.isfile(args.output) == True):
print 'Warning: output file exists'
print 'Would you like to overwrite? (y/n)'
input_data = raw_input()
if((input_data == 'y') | (input_data == 'yes')) == False:
sys.exit(1)
if(os.path.isfile(args.generic_scad) == False):
print 'Error: generic_scad file does not exist'
sys.exit(1)
#END ARG CHECKING
#READ GENERIC SCAD TEMPLATE
print "Reading Generic SCAD Template"
f = open(args.generic_scad, 'r+')
generic_scad = f.read()
f.close()
#END READ GENERIC SCAD TEMPLATE
#THRESHOLDING
img = cv2.imread(args.input, 0)
new_img = cv2.imread(args.input, 0)
exif = open(args.input, 'rb')
exif_data = exifread.process_file(exif, details=False)
try:
exif_orientation = str(exif_data['Image Orientation'])
except KeyError, e:
# print "EXIF DATA: NOT FOUND"
exif_orientation = str("NotRotated A")
#print "EXIF DATA: FOUND"
exif_orientation_array = exif_orientation.split(" ")
threshold_array = []
area_array = []
first_run = True
if(args.threshold == -1):
print "Determining Optimal Thresholding Value"
for threshold in range(args.min_threshold, args.max_threshold, args.step_size_threshold):
ret,new_img = cv2.threshold(img,threshold,255,cv2.THRESH_BINARY)
labels = measure.label(new_img)
max = 0
region_label = -1
region_image = []
avg = 0
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
counter = 0
for i in range(0, int(.15*len(region_image))):
avg += len(region_image[i])
counter += 1
if counter != 0:
avg = avg/counter
if(first_run):
last_area = len(region_image)*len(region_image[1])
first_run = False
else:
if(len(region_image)*len(region_image[1]) > 2*last_area or
len(region_image)*len(region_image[1]) < last_area/2 or
avg > 1.15 * last_avg):
break
counter = 0
image = region_image
threshold_array.append(threshold)
last_avg = avg
last_area = len(region_image)*len(region_image[1])
area_array.append(last_area)
last_threshold = threshold
print "Thresholding Image"
if(args.print_threshold):
print 'Automatically detected threshold value:'
print last_threshold
else:
print "Thresholding Image"
ret,new_img = cv2.threshold(img,args.threshold,255,cv2.THRESH_BINARY)
labels = measure.label(new_img)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
image = region_image
#END THRESHOLDING
#for i in range(0, len(area_array)):
#print "%s %.23f" % (threshold_array[i], float(area_array[i])/(float(len(new_img)*len(new_img[1]))))
#FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
if(exif_orientation_array[0] == "Rotated"):
if(exif_orientation_array[2] == "CCW"):
image = rotate(image, -int(exif_orientation_array[1]), resize = True)
if(exif_orientation_array[2] == "CW"):
image = rotate(image, int(exif_orientation_array[1]), resize = True)
cv_image = img_as_ubyte(image)
for y in range(int(.8*len(cv_image)), len(cv_image)):
counter = 0
for x in range(0, len(cv_image[0])):
if cv_image[y][x] > 140:
counter += 1
if cv_image[y][x] < 140:
if counter < .1 * len(cv_image[0]) :
for i in range(x - counter, x):
cv_image[y][i] = 0
counter = 0
labels = measure.label(cv_image)
max = 0
region_label = -1
region_image = []
for region in measure.regionprops(labels, intensity_image=None, cache=True):
if region.area > max:
max = region.area
region_label = region.label
region_image = region.filled_image
cv_image = img_as_ubyte(region_image)
cv2.imwrite(args.output, cv_image)
#END FIX IMAGE ROTATION AND CONVERT TO OPENCV2 FORMAT
#OPENSCAD CONVERSION
#LENGTH ARE SOMETIMES OVERALLOCATED FOR CUT AWAYS TO PREVENT ARTIFACTS FROM RENDERING PROBLEMS
FMT = '''translate([pixel(%d), pixel(%d), 0]) cube([pixel(%d), pixel(%d), blade_length]);\n'''
SCALE_FACTOR = '''function pixel(i) = mm(i*%.12f); '''
BLADE_LENGTH = '''blade_length = mm(%f); '''
BLADE_WIDTH = '''blade_width = pixel(%f); '''
TIP_STOP = '''translate([-blade_width/4, .5*pixel(%d), -blade_length - mm(.0001)]) cube([3*blade_width/2, .6*pixel(%d), mm(.065)]); '''
BOW_CONNECTION = ''' cube([pixel(%d), pixel(%d), mm(%f)]); '''
X_LENGTH = '''x_length = pixel(%f); '''
Y_LENGTH = '''y_length = pixel(%f); '''
CONNECTOR_HEIGHT = '''connector_height = pixel(%f); '''
channels = ''
channel_data = []
num_elems = 0
print "Determining Keyway Profile"
if (args.overhangs == False):
for y in range(0, len(cv_image)):
first_wall_found = False
for x in range(0, len(cv_image[y])):
if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y])
and cv_image[y][x+1] > 127 and first_wall_found == False):
last_black_pixel_x_position = x
first_wall_found = True
if(cv_image[y][x] and x == 0 and first_wall_found == False):
last_black_pixel_x_position = 0
first_wall_found = True
if ((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
length_of_white_segment = x - last_black_pixel_x_position
channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
num_elems += 1
if (args.overhangs == True):
for y in range(0, len(cv_image)):
for x in range(0, len(cv_image[y])):
if(cv_image[y][x] < 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] > 127):
last_black_pixel_x_position = x
if(cv_image[y][x] and x == 0):
last_black_pixel_x_position = 0
if((cv_image[y][x] > 127 and x + 1 < len(cv_image[y]) and cv_image[y][x+1] < 127) or
(cv_image[y][x] > 127 and x + 1 == len(cv_image[y]))):
length_of_white_segment = x - last_black_pixel_x_position
channel_data.append([last_black_pixel_x_position, y, length_of_white_segment, 1, -1])
num_elems += 1
print "Optimizing Keyway Profile"
channel_data_classifier = 1
for i in range(0, len(channel_data)):
if(i - 1 >= 0):
if((channel_data[i-1][0] == channel_data[i][0]) and
channel_data[i-1][2] == channel_data[i][2]):
channel_data[i][4] = channel_data[i-1][4]
else:
channel_data[i][4] = channel_data_classifier
channel_data_classifier += 1
else:
channel_data[i][4] = channel_data_classifier
channel_data_classifier += 1
max_channel = channel_data_classifier
channel_data_classifier = 1
data_stor = [0, 0, 0, 0]
last_index = 0
first_index = 0
first_j = False
print "Converting Keyway Profile Into OpenSCAD"
for i in range(channel_data_classifier, max_channel):
counter = 0
first_j = False
for j in range(last_index, len(channel_data)):
if(channel_data[j][4] == i):
if(first_j == False):
first_index = j
first_j = True
counter += 1
else:
last_index = j
break
channels += (FMT % (channel_data[first_index][0] + args.trim, channel_data[first_index][1], channel_data[first_index][2] - args.trim*2, counter))
print "Creating .scad File"
generic_scad = generic_scad.replace('###SCALE_FACTOR###', SCALE_FACTOR % (float(args.keyway_height)/float(len(cv_image))))
generic_scad = generic_scad.replace('###CHANNELS###', channels)
generic_scad = generic_scad.replace('###BLADE_LENGTH###', BLADE_LENGTH % (args.blade_length - (7 - len(args.key_cuts))*.15))
generic_scad = generic_scad.replace('###BLADE_WIDTH###', BLADE_WIDTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###TIP_STOP###', TIP_STOP % (len(cv_image) - 1, len(cv_image) - 1))
generic_scad = generic_scad.replace('###BOW_CONNECTION###', BOW_CONNECTION % (len(cv_image[0]) - 1, len(cv_image) - 1, args.blade_length * .1))
generic_scad = generic_scad.replace('###NUMBER_OF_CUTS###', str(len(args.key_cuts) - 1))
generic_scad = generic_scad.replace('###X_LENGTH###', X_LENGTH % (len(cv_image[0]) - 1))
generic_scad = generic_scad.replace('###Y_LENGTH###', Y_LENGTH % (len(cv_image) - 1))
generic_scad = generic_scad.replace('###CONNECTOR_HEIGHT###', CONNECTOR_HEIGHT % (args.blade_length * .1))
generic_scad = generic_scad.replace('###KEY_CUTS###', str(args.key_cuts).replace("'", ""))
#WRITE SCAD TO DISK
f = open(args.scad_output_file, 'w')
f.write(generic_scad)
f.close()
#RENDER SCAD
if(args.disable_stl_output == False):
print "Rendering .stl File (This Will Take Awhile)"
OPENSCAD_CALL = '''openscad -o %s %s 2>OpenSCAD_output.log 1>OpenSCAD_output.log'''
subprocess.Popen(OPENSCAD_CALL % (args.output_stl, args.scad_output_file), shell=True, stdout=subprocess.PIPE).stdout.read()
================================================
FILE: Automated-Keyway-Modeling/README
================================================
Dependencies
---
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
sudo pip install exifread
sudo pip install scikit-image
Running the tool
---
E.g. generate a bump key:
python KeywayDetection.py ./sample-lock.jpg -kc 9 9 9 9 9 9 9
================================================
FILE: Automated-Keyway-Modeling/Sample_Output.scad
================================================
$fn=100;
function mm(i) = i*25.4;
function pixel(i) = mm(i*0.000960960961);
//Auto generated channels
module channels(blade_length)
{
translate([pixel(4), pixel(0), 0]) cube([pixel(1), pixel(1), blade_length]);
translate([pixel(4), pixel(0), 0]) cube([pixel(15), pixel(1), blade_length]);
translate([pixel(3), pixel(1), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(4), pixel(2), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(4), pixel(3), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(4), pixel(4), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(3), pixel(5), 0]) cube([pixel(55), pixel(9), blade_length]);
translate([pixel(2), pixel(14), 0]) cube([pixel(56), pixel(2), blade_length]);
translate([pixel(2), pixel(16), 0]) cube([pixel(57), pixel(18), blade_length]);
translate([pixel(2), pixel(34), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(36), 0]) cube([pixel(57), pixel(6), blade_length]);
translate([pixel(3), pixel(42), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(2), pixel(43), 0]) cube([pixel(57), pixel(4), blade_length]);
translate([pixel(2), pixel(47), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(2), pixel(48), 0]) cube([pixel(57), pixel(5), blade_length]);
translate([pixel(2), pixel(53), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(2), pixel(54), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(2), pixel(56), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(57), 0]) cube([pixel(57), pixel(2), blade_length]);
translate([pixel(1), pixel(59), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(2), pixel(60), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(61), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(63), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(1), pixel(64), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(2), pixel(66), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(2), pixel(67), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(1), pixel(68), 0]) cube([pixel(57), pixel(3), blade_length]);
translate([pixel(1), pixel(71), 0]) cube([pixel(58), pixel(6), blade_length]);
translate([pixel(2), pixel(77), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(1), pixel(78), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(80), 0]) cube([pixel(57), pixel(1), blade_length]);
translate([pixel(1), pixel(81), 0]) cube([pixel(58), pixel(2), blade_length]);
translate([pixel(2), pixel(83), 0]) cube([pixel(57), pixel(2), blade_length]);
translate([pixel(2), pixel(85), 0]) cube([pixel(56), pixel(5), blade_length]);
translate([pixel(2), pixel(90), 0]) cube([pixel(55), pixel(2), blade_length]);
translate([pixel(2), pixel(92), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(2), pixel(93), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(2), pixel(94), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(2), pixel(95), 0]) cube([pixel(50), pixel(1), blade_length]);
translate([pixel(2), pixel(96), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(2), pixel(97), 0]) cube([pixel(48), pixel(2), blade_length]);
translate([pixel(2), pixel(99), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(1), pixel(100), 0]) cube([pixel(48), pixel(3), blade_length]);
translate([pixel(0), pixel(103), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(1), pixel(104), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(1), pixel(105), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(0), pixel(106), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(1), pixel(107), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(1), pixel(108), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(0), pixel(109), 0]) cube([pixel(44), pixel(3), blade_length]);
translate([pixel(1), pixel(112), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(0), pixel(113), 0]) cube([pixel(46), pixel(1), blade_length]);
translate([pixel(0), pixel(114), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(0), pixel(115), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(55), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(60), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(0), pixel(116), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(0), pixel(117), 0]) cube([pixel(77), pixel(1), blade_length]);
translate([pixel(0), pixel(118), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(0), pixel(119), 0]) cube([pixel(80), pixel(1), blade_length]);
translate([pixel(0), pixel(120), 0]) cube([pixel(82), pixel(1), blade_length]);
translate([pixel(0), pixel(121), 0]) cube([pixel(84), pixel(1), blade_length]);
translate([pixel(0), pixel(122), 0]) cube([pixel(86), pixel(1), blade_length]);
translate([pixel(0), pixel(123), 0]) cube([pixel(88), pixel(1), blade_length]);
translate([pixel(0), pixel(124), 0]) cube([pixel(89), pixel(1), blade_length]);
translate([pixel(1), pixel(125), 0]) cube([pixel(89), pixel(1), blade_length]);
translate([pixel(1), pixel(126), 0]) cube([pixel(91), pixel(1), blade_length]);
translate([pixel(1), pixel(127), 0]) cube([pixel(92), pixel(3), blade_length]);
translate([pixel(1), pixel(130), 0]) cube([pixel(93), pixel(1), blade_length]);
translate([pixel(2), pixel(131), 0]) cube([pixel(92), pixel(1), blade_length]);
translate([pixel(2), pixel(132), 0]) cube([pixel(93), pixel(1), blade_length]);
translate([pixel(2), pixel(133), 0]) cube([pixel(94), pixel(3), blade_length]);
translate([pixel(3), pixel(136), 0]) cube([pixel(94), pixel(2), blade_length]);
translate([pixel(3), pixel(138), 0]) cube([pixel(95), pixel(4), blade_length]);
translate([pixel(3), pixel(142), 0]) cube([pixel(96), pixel(3), blade_length]);
translate([pixel(3), pixel(145), 0]) cube([pixel(97), pixel(1), blade_length]);
translate([pixel(3), pixel(146), 0]) cube([pixel(98), pixel(3), blade_length]);
translate([pixel(4), pixel(149), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(5), pixel(150), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(6), pixel(151), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(7), pixel(152), 0]) cube([pixel(99), pixel(1), blade_length]);
translate([pixel(8), pixel(153), 0]) cube([pixel(99), pixel(1), blade_length]);
translate([pixel(10), pixel(154), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(11), pixel(155), 0]) cube([pixel(3), pixel(1), blade_length]);
translate([pixel(11), pixel(155), 0]) cube([pixel(98), pixel(1), blade_length]);
translate([pixel(32), pixel(156), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(34), pixel(157), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(35), pixel(158), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(35), pixel(159), 0]) cube([pixel(77), pixel(2), blade_length]);
translate([pixel(36), pixel(161), 0]) cube([pixel(76), pixel(2), blade_length]);
translate([pixel(36), pixel(163), 0]) cube([pixel(77), pixel(3), blade_length]);
translate([pixel(36), pixel(166), 0]) cube([pixel(78), pixel(1), blade_length]);
translate([pixel(38), pixel(167), 0]) cube([pixel(77), pixel(1), blade_length]);
translate([pixel(39), pixel(168), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(41), pixel(169), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(42), pixel(170), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(42), pixel(171), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(42), pixel(172), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(42), pixel(173), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(42), pixel(174), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(42), pixel(175), 0]) cube([pixel(75), pixel(2), blade_length]);
translate([pixel(43), pixel(177), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(44), pixel(178), 0]) cube([pixel(73), pixel(2), blade_length]);
translate([pixel(44), pixel(180), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(45), pixel(181), 0]) cube([pixel(73), pixel(3), blade_length]);
translate([pixel(44), pixel(184), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(45), pixel(185), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(45), pixel(186), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(46), pixel(187), 0]) cube([pixel(73), pixel(2), blade_length]);
translate([pixel(47), pixel(189), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(49), pixel(190), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(50), pixel(191), 0]) cube([pixel(70), pixel(2), blade_length]);
translate([pixel(57), pixel(193), 0]) cube([pixel(11), pixel(1), blade_length]);
translate([pixel(57), pixel(193), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(62), pixel(194), 0]) cube([pixel(4), pixel(1), blade_length]);
translate([pixel(62), pixel(194), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(82), pixel(195), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(83), pixel(196), 0]) cube([pixel(38), pixel(1), blade_length]);
translate([pixel(84), pixel(197), 0]) cube([pixel(37), pixel(1), blade_length]);
translate([pixel(85), pixel(198), 0]) cube([pixel(36), pixel(1), blade_length]);
translate([pixel(86), pixel(199), 0]) cube([pixel(35), pixel(1), blade_length]);
translate([pixel(86), pixel(200), 0]) cube([pixel(36), pixel(2), blade_length]);
translate([pixel(86), pixel(202), 0]) cube([pixel(37), pixel(1), blade_length]);
translate([pixel(87), pixel(203), 0]) cube([pixel(36), pixel(3), blade_length]);
translate([pixel(86), pixel(206), 0]) cube([pixel(37), pixel(2), blade_length]);
translate([pixel(85), pixel(208), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(84), pixel(209), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(82), pixel(210), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(82), pixel(211), 0]) cube([pixel(43), pixel(2), blade_length]);
translate([pixel(81), pixel(213), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(80), pixel(214), 0]) cube([pixel(45), pixel(2), blade_length]);
translate([pixel(77), pixel(216), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(78), pixel(217), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(76), pixel(218), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(75), pixel(219), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(74), pixel(220), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(72), pixel(221), 0]) cube([pixel(55), pixel(3), blade_length]);
translate([pixel(71), pixel(224), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(69), pixel(225), 0]) cube([pixel(59), pixel(2), blade_length]);
translate([pixel(68), pixel(227), 0]) cube([pixel(60), pixel(1), blade_length]);
translate([pixel(65), pixel(228), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(66), pixel(229), 0]) cube([pixel(61), pixel(1), blade_length]);
translate([pixel(65), pixel(230), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(64), pixel(231), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(231), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(232), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(232), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(233), 0]) cube([pixel(62), pixel(1), blade_length]);
translate([pixel(64), pixel(233), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(64), pixel(234), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(64), pixel(234), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(63), pixel(235), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(63), pixel(236), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(62), pixel(237), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(238), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(239), 0]) cube([pixel(68), pixel(2), blade_length]);
translate([pixel(61), pixel(240), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(241), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(61), pixel(241), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(242), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(61), pixel(242), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(62), pixel(243), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(62), pixel(243), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(62), pixel(244), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(244), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(62), pixel(245), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(245), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(246), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(246), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(247), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(247), 0]) cube([pixel(72), pixel(1), blade_length]);
translate([pixel(61), pixel(248), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(61), pixel(248), 0]) cube([pixel(71), pixel(1), blade_length]);
translate([pixel(61), pixel(249), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(61), pixel(249), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(62), pixel(250), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(62), pixel(250), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(62), pixel(251), 0]) cube([pixel(64), pixel(1), blade_length]);
translate([pixel(62), pixel(251), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(62), pixel(252), 0]) cube([pixel(67), pixel(1), blade_length]);
translate([pixel(62), pixel(253), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(254), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(61), pixel(255), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(62), pixel(256), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(62), pixel(257), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(62), pixel(257), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(62), pixel(258), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(62), pixel(258), 0]) cube([pixel(59), pixel(1), blade_length]);
translate([pixel(64), pixel(259), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(259), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(64), pixel(260), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(260), 0]) cube([pixel(56), pixel(1), blade_length]);
translate([pixel(64), pixel(261), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(64), pixel(262), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(64), pixel(263), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(64), pixel(264), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(65), pixel(265), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(65), pixel(266), 0]) cube([pixel(48), pixel(1), blade_length]);
translate([pixel(65), pixel(267), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(65), pixel(268), 0]) cube([pixel(46), pixel(1), blade_length]);
translate([pixel(66), pixel(269), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(66), pixel(270), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(66), pixel(271), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(66), pixel(272), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(66), pixel(273), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(66), pixel(274), 0]) cube([pixel(40), pixel(3), blade_length]);
translate([pixel(67), pixel(277), 0]) cube([pixel(39), pixel(1), blade_length]);
translate([pixel(67), pixel(278), 0]) cube([pixel(40), pixel(1), blade_length]);
translate([pixel(68), pixel(279), 0]) cube([pixel(39), pixel(2), blade_length]);
translate([pixel(68), pixel(281), 0]) cube([pixel(41), pixel(6), blade_length]);
translate([pixel(68), pixel(287), 0]) cube([pixel(42), pixel(1), blade_length]);
translate([pixel(69), pixel(288), 0]) cube([pixel(42), pixel(2), blade_length]);
translate([pixel(68), pixel(290), 0]) cube([pixel(43), pixel(2), blade_length]);
translate([pixel(68), pixel(292), 0]) cube([pixel(44), pixel(1), blade_length]);
translate([pixel(68), pixel(293), 0]) cube([pixel(45), pixel(1), blade_length]);
translate([pixel(68), pixel(294), 0]) cube([pixel(51), pixel(1), blade_length]);
translate([pixel(68), pixel(295), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(67), pixel(296), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(66), pixel(297), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(66), pixel(298), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(66), pixel(299), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(66), pixel(300), 0]) cube([pixel(69), pixel(1), blade_length]);
translate([pixel(66), pixel(301), 0]) cube([pixel(70), pixel(1), blade_length]);
translate([pixel(65), pixel(302), 0]) cube([pixel(72), pixel(2), blade_length]);
translate([pixel(64), pixel(304), 0]) cube([pixel(73), pixel(1), blade_length]);
translate([pixel(63), pixel(305), 0]) cube([pixel(74), pixel(2), blade_length]);
translate([pixel(62), pixel(307), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(61), pixel(308), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(60), pixel(309), 0]) cube([pixel(77), pixel(2), blade_length]);
translate([pixel(59), pixel(311), 0]) cube([pixel(76), pixel(1), blade_length]);
translate([pixel(59), pixel(312), 0]) cube([pixel(75), pixel(1), blade_length]);
translate([pixel(57), pixel(313), 0]) cube([pixel(74), pixel(1), blade_length]);
translate([pixel(58), pixel(314), 0]) cube([pixel(68), pixel(1), blade_length]);
translate([pixel(58), pixel(315), 0]) cube([pixel(66), pixel(1), blade_length]);
translate([pixel(58), pixel(316), 0]) cube([pixel(65), pixel(1), blade_length]);
translate([pixel(58), pixel(317), 0]) cube([pixel(63), pixel(1), blade_length]);
translate([pixel(58), pixel(318), 0]) cube([pixel(61), pixel(1), blade_length]);
translate([pixel(58), pixel(319), 0]) cube([pixel(58), pixel(1), blade_length]);
translate([pixel(58), pixel(320), 0]) cube([pixel(54), pixel(1), blade_length]);
translate([pixel(58), pixel(321), 0]) cube([pixel(53), pixel(1), blade_length]);
translate([pixel(58), pixel(322), 0]) cube([pixel(52), pixel(1), blade_length]);
translate([pixel(58), pixel(323), 0]) cube([pixel(49), pixel(1), blade_length]);
translate([pixel(58), pixel(324), 0]) cube([pixel(47), pixel(1), blade_length]);
translate([pixel(58), pixel(325), 0]) cube([pixel(43), pixel(1), blade_length]);
translate([pixel(58), pixel(326), 0]) cube([pixel(38), pixel(1), blade_length]);
translate([pixel(58), pixel(327), 0]) cube([pixel(36), pixel(1), blade_length]);
translate([pixel(57), pixel(328), 0]) cube([pixel(33), pixel(1), blade_length]);
translate([pixel(56), pixel(329), 0]) cube([pixel(27), pixel(1), blade_length]);
translate([pixel(55), pixel(330), 0]) cube([pixel(25), pixel(1), blade_length]);
translate([pixel(55), pixel(331), 0]) cube([pixel(14), pixel(1), blade_length]);
translate([pixel(55), pixel(332), 0]) cube([pixel(4), pixel(1), blade_length]);
}
module bit(cut_depth, blade_width)
{
translate([0, mm(.025 + (cut_depth * .0125)), 0])
difference()
{
rotate([45, 0, 0]) translate([0, -20, 0]) cube([blade_width, 20, 20]);
translate([0, -mm(.025), -mm(.05)/2]) cube([blade_width, mm(.025), mm(.05)]);
}
}
module blade(key_cuts)
{
blade_length = mm(1.250000);
blade_width = pixel(137.000000);
shoulder = mm(.195);
cut_spacing = mm(.15);
difference()
{
//Generate Blade With Channels
translate([0, 0, -blade_length]) channels(blade_length);
//Contour Tip
translate([0, 0, -blade_length - mm(9*.0125)])
rotate([45, 0, 0]) cube([blade_width, mm(.159), mm(.159)]);
//Cut Tip Stop
translate([0, .5*pixel(332), -blade_length]) cube([blade_width, .5*pixel(332), mm(.065)]);
//Place cuts on the key
for (counter = [0:6])
{
translate([0, 0, -shoulder - (counter * cut_spacing)])
bit(key_cuts[counter], blade_width);
}
}
}
module bow_smooth(x_length, y_length)
{
difference()
{
rotate([0, 90, 0]) cylinder(h = x_length*2, r = y_length/2);
rotate([0, 90, 0]) cylinder(h = x_length*2, r = 3*y_length/8);
translate([0, -y_length/2, -y_length/2]) cube([x_length, y_length/2, y_length]);
}
}
module bow()
{
x_length = pixel(137.000000);
y_length = pixel(332.000000);
connector_height = pixel(0.125000);
difference()
{
union()
{
translate([0, -y_length/2, connector_height]) cube([x_length, 2*y_length, 3*y_length/2]);
cube([x_length, y_length, connector_height]);
difference()
{
translate([0, y_length/2, connector_height + 3*y_length/2]) rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
translate([0, y_length/2, connector_height + 3*y_length/2]) rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2-y_length/4);
}
}
translate([0, -y_length/2, connector_height]) rotate([0, 90, 0])
cylinder(h = x_length, r = y_length/2);
translate([0, 3*y_length/2, connector_height]) rotate([0, 90, 0])
cylinder(h = x_length, r = y_length/2);
translate([0, -y_length/2, connector_height + 3*y_length/2])
rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
translate([0, 3*y_length/2, connector_height+ 3*y_length/2])
rotate([0, 90, 0]) cylinder(h = x_length, r = y_length/2);
translate([0, 3*y_length/2 - 3*y_length/8, connector_height + 3*y_length/4])
bow_smooth(x_length, y_length);
translate([x_length, -y_length/8, connector_height + 3*y_length/4])
rotate([0, 0, 180]) bow_smooth(x_length, y_length);
}
}
module key(key_cuts)
{
union()
{
blade(key_cuts);
bow();
}
}
key([3, 8, 5, 9, 8, 6, 5]);
================================================
FILE: Automated-Keyway-Modeling/Sample_Output.stl
================================================
solid OpenSCAD_Model
facet normal -1 0 0
outer loop
vertex 0.0976334 0 -3.3655
vertex 0.0976334 0.0244083 0
vertex 0.0976334 0.0244083 -3.38991
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.0976334 0.0244083 0
vertex 0.0976334 0 -3.3655
vertex 0.0976334 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 3.05105 0
vertex 0 3.05105 0
vertex 0.0244083 3.1975 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0488167 3.1975 0
vertex 0.0244083 3.1975 0
vertex 0.0488167 3.31954 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.073225 3.31954 0
vertex 0.0488167 3.31954 0
vertex 0.073225 3.63685 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0976334 3.63685 0
vertex 0.073225 3.63685 0
vertex 0.0976334 3.66126 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.122042 3.66126 0
vertex 0.0976334 3.66126 0
vertex 0.122042 3.68567 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.14645 3.68567 0
vertex 0.122042 3.68567 0
vertex 0.14645 3.71008 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.170858 3.71008 0
vertex 0.14645 3.71008 0
vertex 0.170858 3.73449 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.195267 3.73449 0
vertex 0.170858 3.73449 0
vertex 0.195267 3.75889 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.244083 3.75889 0
vertex 0.195267 3.75889 0
vertex 0.244083 3.7833 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.268492 3.7833 0
vertex 0.244083 3.7833 0
vertex 0.268492 3.80771 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.80771 0
vertex 0.268492 3.80771 0
vertex 0.781069 3.83212 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.829885 3.83212 0
vertex 0.781069 3.83212 0
vertex 0.829885 3.85653 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.854294 3.85653 0
vertex 0.829885 3.85653 0
vertex 0.854294 3.92975 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 0
vertex 0.854294 3.92975 0
vertex 0.878702 4.0762 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.927519 4.0762 0
vertex 0.878702 4.0762 0
vertex 0.927519 4.10061 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.951927 4.10061 0
vertex 0.927519 4.10061 0
vertex 0.951927 4.12502 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.00074 4.12502 0
vertex 0.951927 4.12502 0
vertex 1.00074 4.14943 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.02515 4.14943 0
vertex 1.00074 4.14943 0
vertex 1.02515 4.32029 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.04956 4.32029 0
vertex 1.02515 4.32029 0
vertex 1.04956 4.3447 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.04956 4.3447 0
vertex 1.07397 4.41792 0
vertex 1.07397 4.3447 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.02515 4.32029 0
vertex 1.07397 4.41792 0
vertex 1.04956 4.3447 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.07397 4.41792 0
vertex 1.02515 4.32029 0
vertex 1.07397 4.49115 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.07397 4.41792 0
vertex 1.09838 4.49115 0
vertex 1.09838 4.41792 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.09838 4.49115 0
vertex 1.07397 4.41792 0
vertex 1.07397 4.49115 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.09838 4.51556 0
vertex 1.07397 4.51556 0
vertex 1.09838 4.56437 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.12279 4.56437 0
vertex 1.09838 4.56437 0
vertex 1.12279 4.61319 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.14719 4.61319 0
vertex 1.12279 4.61319 0
vertex 1.14719 4.6376 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.19601 4.6376 0
vertex 1.14719 4.6376 0
vertex 1.19601 4.66201 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.22042 4.66201 0
vertex 1.19601 4.66201 0
vertex 1.22042 4.71082 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.0259 4.78405 0
vertex 2.00149 4.78405 0
vertex 2.0259 4.80846 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.0259 4.80846 0
vertex 2.05031 4.83286 0
vertex 2.05031 4.80846 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 5.12576 0
vertex 2.05031 4.83286 0
vertex 2.0259 4.80846 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 4.83286 0
vertex 2.00149 5.12576 0
vertex 2.05031 5.10136 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 5.12576 0
vertex 2.0259 4.80846 0
vertex 2.00149 4.78405 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 5.10136 0
vertex 2.00149 5.12576 0
vertex 2.05031 5.12576 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 4.83286 0
vertex 2.07471 4.85727 0
vertex 2.07471 4.83286 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.07471 4.85727 0
vertex 2.05031 4.83286 0
vertex 2.07471 5.07695 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 5.10136 0
vertex 2.07471 5.07695 0
vertex 2.05031 4.83286 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.07471 5.07695 0
vertex 2.05031 5.10136 0
vertex 2.07471 5.10136 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.07471 4.85727 0
vertex 2.09912 4.95491 0
vertex 2.09912 4.85727 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.07471 5.07695 0
vertex 2.09912 4.95491 0
vertex 2.07471 4.85727 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 4.95491 0
vertex 2.07471 5.07695 0
vertex 2.09912 5.02813 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 5.02813 0
vertex 2.07471 5.07695 0
vertex 2.09912 5.07695 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 4.95491 0
vertex 2.12353 5.02813 0
vertex 2.12353 4.95491 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.12353 5.02813 0
vertex 2.09912 4.95491 0
vertex 2.09912 5.02813 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.22042 4.71082 0
vertex 1.39128 4.73523 0
vertex 1.39128 4.71082 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.39128 4.73523 0
vertex 1.22042 4.71082 0
vertex 1.39128 7.63983 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 1.39128 7.63983 0
vertex 1.22042 4.71082 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 7.63983 0
vertex 0 8.10359 0
vertex 1.39128 7.66424 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 8.00596 0
vertex 1.36687 8.03037 0
vertex 1.39128 8.03037 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.36687 8.03037 0
vertex 1.34246 8.05477 0
vertex 1.36687 8.05477 0
endloop
endfacet
facet normal -0 -0 -1
outer loop
vertex 1.34246 8.05477 0
vertex 1.39128 7.66424 0
vertex 0 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 7.66424 0
vertex 1.36687 8.03037 0
vertex 1.39128 8.00596 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 7.66424 0
vertex 1.34246 8.05477 0
vertex 1.36687 8.03037 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.14719 4.6376 0
vertex 1.22042 4.71082 0
vertex 1.19601 4.66201 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.22042 4.71082 0
vertex 1.14719 4.6376 0
vertex 0 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 1.14719 4.6376 0
vertex 1.12279 4.61319 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.268492 3.80771 0
vertex 1.12279 4.61319 0
vertex 1.09838 4.56437 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.268492 3.80771 0
vertex 1.09838 4.56437 0
vertex 1.07397 4.51556 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.07397 4.49115 0
vertex 1.02515 4.32029 0
vertex 1.07397 4.51556 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.268492 3.80771 0
vertex 1.07397 4.51556 0
vertex 1.02515 4.32029 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.951927 4.12502 0
vertex 1.02515 4.32029 0
vertex 1.00074 4.14943 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0762 0
vertex 1.02515 4.32029 0
vertex 0.951927 4.12502 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0762 0
vertex 0.951927 4.12502 0
vertex 0.927519 4.10061 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.268492 3.80771 0
vertex 1.02515 4.32029 0
vertex 0.878702 4.0762 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.83212 0
vertex 0.878702 4.0762 0
vertex 0.854294 3.92975 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.83212 0
vertex 0.854294 3.92975 0
vertex 0.829885 3.85653 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0762 0
vertex 0.781069 3.83212 0
vertex 0.268492 3.80771 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.12279 4.61319 0
vertex 0.268492 3.80771 0
vertex 0 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.195267 3.75889 0
vertex 0.268492 3.80771 0
vertex 0.244083 3.7833 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.268492 3.80771 0
vertex 0.195267 3.75889 0
vertex 0 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.195267 3.75889 0
vertex 0.170858 3.73449 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.170858 3.73449 0
vertex 0.14645 3.71008 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.14645 3.71008 0
vertex 0.122042 3.68567 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.122042 3.68567 0
vertex 0.0976334 3.66126 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.0976334 3.66126 0
vertex 0.073225 3.63685 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 3.1975 0
vertex 0.073225 3.63685 0
vertex 0.0488167 3.31954 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 3.05105 0
vertex 0.073225 3.63685 0
vertex 0.0244083 3.1975 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.34246 8.05477 0
vertex 0 8.10359 0
vertex 1.34246 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 8.10359 0
vertex 0.073225 3.63685 0
vertex 0 3.05105 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 4.73523 0
vertex 1.51332 4.75964 0
vertex 1.51332 4.73523 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.51332 4.75964 0
vertex 1.39128 4.73523 0
vertex 1.51332 5.78479 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 5.78479 0
vertex 1.48891 5.8092 0
vertex 1.51332 5.8092 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 4.73523 0
vertex 1.48891 5.93124 0
vertex 1.48891 5.8092 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 5.93124 0
vertex 1.39128 4.73523 0
vertex 1.48891 6.00447 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 6.00447 0
vertex 1.39128 4.73523 0
vertex 1.48891 6.1021 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 6.1021 0
vertex 1.39128 4.73523 0
vertex 1.48891 6.22414 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 6.22414 0
vertex 1.39128 4.73523 0
vertex 1.48891 6.24855 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 6.24855 0
vertex 1.4645 7.5422 0
vertex 1.48891 7.51779 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 7.51779 0
vertex 1.4645 7.5422 0
vertex 1.48891 7.5422 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 7.5422 0
vertex 1.4401 7.59101 0
vertex 1.4645 7.59101 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 6.24855 0
vertex 1.39128 7.63983 0
vertex 1.4645 7.5422 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.51332 5.78479 0
vertex 1.39128 4.73523 0
vertex 1.48891 5.8092 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 6.24855 0
vertex 1.39128 4.73523 0
vertex 1.39128 7.63983 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 7.5422 0
vertex 1.39128 7.63983 0
vertex 1.4401 7.59101 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 7.59101 0
vertex 1.39128 7.63983 0
vertex 1.4401 7.63983 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 4.75964 0
vertex 2.00149 4.78405 0
vertex 2.00149 4.75964 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.00149 4.78405 0
vertex 1.51332 4.75964 0
vertex 2.00149 5.12576 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 5.12576 0
vertex 1.97708 5.19899 0
vertex 2.00149 5.19899 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.97708 5.19899 0
vertex 1.95267 5.2234 0
vertex 1.97708 5.2234 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1.87945 5.27222 0
vertex 2.00149 5.12576 0
vertex 1.51332 4.75964 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 5.2234 0
vertex 1.87945 5.27222 0
vertex 1.95267 5.27222 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 5.12576 0
vertex 1.95267 5.2234 0
vertex 1.97708 5.19899 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.87945 5.27222 0
vertex 1.85504 5.32103 0
vertex 1.87945 5.29662 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 5.12576 0
vertex 1.87945 5.27222 0
vertex 1.95267 5.2234 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.85504 5.32103 0
vertex 1.83063 5.34544 0
vertex 1.85504 5.34544 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1.75741 5.39426 0
vertex 1.87945 5.27222 0
vertex 1.51332 4.75964 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.83063 5.34544 0
vertex 1.80622 5.36985 0
vertex 1.83063 5.36985 0
endloop
endfacet
facet normal -0 -0 -1
outer loop
vertex 1.83063 5.34544 0
vertex 1.87945 5.27222 0
vertex 1.75741 5.39426 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.80622 5.36985 0
vertex 1.75741 5.39426 0
vertex 1.80622 5.39426 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.87945 5.27222 0
vertex 1.83063 5.34544 0
vertex 1.85504 5.32103 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.75741 5.39426 0
vertex 1.733 5.46748 0
vertex 1.75741 5.46748 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.733 5.46748 0
vertex 1.68418 5.49189 0
vertex 1.733 5.49189 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.75741 5.39426 0
vertex 1.68418 5.49189 0
vertex 1.733 5.46748 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.83063 5.34544 0
vertex 1.75741 5.39426 0
vertex 1.80622 5.36985 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.68418 5.49189 0
vertex 1.65977 5.54071 0
vertex 1.68418 5.54071 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.75741 5.39426 0
vertex 1.51332 4.75964 0
vertex 1.68418 5.49189 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.65977 5.54071 0
vertex 1.58655 5.56512 0
vertex 1.65977 5.56512 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1.58655 5.56512 0
vertex 1.68418 5.49189 0
vertex 1.51332 4.75964 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 5.63834 0
vertex 1.58655 5.58953 0
vertex 1.58655 5.56512 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 5.58953 0
vertex 1.56214 5.63834 0
vertex 1.58655 5.61393 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 5.61393 0
vertex 1.56214 5.63834 0
vertex 1.58655 5.63834 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 5.63834 0
vertex 1.53773 5.73598 0
vertex 1.56214 5.73598 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.68418 5.49189 0
vertex 1.58655 5.56512 0
vertex 1.65977 5.54071 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 4.75964 0
vertex 1.56214 5.63834 0
vertex 1.58655 5.56512 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 5.78479 0
vertex 1.56214 5.63834 0
vertex 1.51332 4.75964 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 5.63834 0
vertex 1.51332 5.78479 0
vertex 1.53773 5.73598 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.53773 5.73598 0
vertex 1.51332 5.78479 0
vertex 1.53773 5.78479 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.87945 5.29662 0
vertex 1.90386 5.32103 0
vertex 1.90386 5.29662 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.90386 5.32103 0
vertex 1.87945 5.29662 0
vertex 1.85504 5.32103 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 5.58953 0
vertex 1.61095 5.61393 0
vertex 1.61095 5.58953 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.61095 5.61393 0
vertex 1.58655 5.58953 0
vertex 1.58655 5.61393 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 5.93124 0
vertex 1.51332 6.00447 0
vertex 1.51332 5.93124 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.51332 6.00447 0
vertex 1.48891 5.93124 0
vertex 1.48891 6.00447 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 6.1021 0
vertex 1.51332 6.22414 0
vertex 1.51332 6.1021 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.51332 6.22414 0
vertex 1.48891 6.1021 0
vertex 1.48891 6.22414 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 6.24855 0
vertex 1.51332 6.32178 0
vertex 1.51332 6.24855 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 7.51779 0
vertex 1.51332 6.32178 0
vertex 1.48891 6.24855 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 6.32178 0
vertex 1.48891 7.51779 0
vertex 1.51332 7.49338 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 7.49338 0
vertex 1.48891 7.51779 0
vertex 1.51332 7.51779 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 6.32178 0
vertex 1.56214 6.46823 0
vertex 1.56214 6.32178 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.51332 7.49338 0
vertex 1.56214 6.46823 0
vertex 1.51332 6.32178 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 7.42016 0
vertex 1.53773 7.44456 0
vertex 1.56214 7.44456 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 6.46823 0
vertex 1.53773 7.44456 0
vertex 1.56214 7.42016 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 6.46823 0
vertex 1.51332 7.49338 0
vertex 1.53773 7.44456 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.53773 7.44456 0
vertex 1.51332 7.49338 0
vertex 1.53773 7.49338 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 6.46823 0
vertex 1.58655 6.56586 0
vertex 1.58655 6.46823 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.56214 7.42016 0
vertex 1.58655 6.56586 0
vertex 1.56214 6.46823 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 6.56586 0
vertex 1.56214 7.42016 0
vertex 1.58655 7.37134 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 7.37134 0
vertex 1.56214 7.42016 0
vertex 1.58655 7.42016 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 6.56586 0
vertex 1.61095 6.76113 0
vertex 1.61095 6.56586 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.58655 7.37134 0
vertex 1.61095 6.76113 0
vertex 1.58655 6.56586 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.61095 6.76113 0
vertex 1.58655 7.37134 0
vertex 1.61095 7.2493 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.61095 7.2493 0
vertex 1.58655 7.37134 0
vertex 1.61095 7.37134 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.61095 6.76113 0
vertex 1.63536 6.80995 0
vertex 1.63536 6.76113 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.61095 7.2493 0
vertex 1.63536 6.80995 0
vertex 1.61095 6.76113 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.63536 6.80995 0
vertex 1.61095 7.2493 0
vertex 1.63536 7.22489 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.63536 7.22489 0
vertex 1.61095 7.2493 0
vertex 1.63536 7.2493 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.63536 6.80995 0
vertex 1.65977 7.02962 0
vertex 1.65977 6.80995 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.63536 7.22489 0
vertex 1.65977 7.02962 0
vertex 1.63536 6.80995 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.65977 7.02962 0
vertex 1.63536 7.22489 0
vertex 1.65977 7.07844 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.65977 7.07844 0
vertex 1.63536 7.22489 0
vertex 1.65977 7.22489 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.65977 7.02962 0
vertex 1.68418 7.07844 0
vertex 1.68418 7.02962 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.68418 7.07844 0
vertex 1.65977 7.02962 0
vertex 1.65977 7.07844 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 7.66424 0
vertex 1.41569 8.00596 0
vertex 1.41569 7.66424 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.41569 8.00596 0
vertex 1.39128 7.66424 0
vertex 1.39128 8.00596 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0976334 0 0
vertex 0.073225 0.0244083 0
vertex 0.0976334 0.0244083 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 0
vertex 0.073225 0.0488167 0
vertex 0.073225 0.0244083 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.073225 0.0488167 0
vertex 0 0 0
vertex 0.073225 0.122042 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.073225 0.122042 0
vertex 0.0488167 0.341717 0
vertex 0.073225 0.341717 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 0
vertex 0.0488167 1.02515 0
vertex 0.0488167 0.341717 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0488167 1.02515 0
vertex 0 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0488167 1.04956 0
vertex 0.0244083 1.39128 0
vertex 0.0488167 1.39128 0
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0244083 1.48891 0
vertex 0.0244083 1.4645 0
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0244083 1.53773 0
vertex 0.0244083 1.48891 0
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0244083 1.56214 0
vertex 0.0244083 1.53773 0
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0244083 1.61095 0
vertex 0.0244083 1.56214 0
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 0.0244083 1.39128 0
vertex 0.0244083 1.65977 0
vertex 0.0244083 1.61095 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.51407 0
vertex 0.0244083 1.65977 0
vertex 0.0244083 1.39128 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.65977 0
vertex 0 2.51407 0
vertex 0.0244083 1.87945 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.87945 0
vertex 0 2.51407 0
vertex 0.0244083 1.90386 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.90386 0
vertex 0 2.51407 0
vertex 0.0244083 1.95267 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.95267 0
vertex 0 2.51407 0
vertex 0.0244083 1.97708 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.97708 0
vertex 0 2.51407 0
vertex 0.0244083 2.0259 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 2.0259 0
vertex 0 2.51407 0
vertex 0.0244083 2.44084 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 0 0
vertex 0.073225 0.0244083 0
vertex 0.0976334 0 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.073225 0.122042 0
vertex 0 0 0
vertex 0.0488167 0.341717 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0488167 1.02515 0
vertex 0.0244083 1.39128 0
vertex 0.0488167 1.04956 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.51407 0
vertex 0.0244083 1.39128 0
vertex 0 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 2.44084 0
vertex 0 2.51407 0
vertex 0.0244083 2.51407 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.073225 0.0488167 0
vertex 0.0976334 0.122042 0
vertex 0.0976334 0.0488167 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0976334 0.122042 0
vertex 0.073225 0.0488167 0
vertex 0.073225 0.122042 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0488167 1.02515 0
vertex 0.073225 1.04956 0
vertex 0.073225 1.02515 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.073225 1.04956 0
vertex 0.0488167 1.02515 0
vertex 0.0488167 1.04956 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.4645 0
vertex 0.0488167 1.48891 0
vertex 0.0488167 1.4645 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 1.48891 0
vertex 0.0244083 1.4645 0
vertex 0.0244083 1.48891 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.53773 0
vertex 0.0488167 1.56214 0
vertex 0.0488167 1.53773 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 1.56214 0
vertex 0.0244083 1.53773 0
vertex 0.0244083 1.56214 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.61095 0
vertex 0.0488167 1.65977 0
vertex 0.0488167 1.61095 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 1.65977 0
vertex 0.0244083 1.61095 0
vertex 0.0244083 1.65977 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.87945 0
vertex 0.0488167 1.90386 0
vertex 0.0488167 1.87945 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 1.90386 0
vertex 0.0244083 1.87945 0
vertex 0.0244083 1.90386 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 1.95267 0
vertex 0.0488167 1.97708 0
vertex 0.0488167 1.95267 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 1.97708 0
vertex 0.0244083 1.95267 0
vertex 0.0244083 1.97708 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 2.0259 0
vertex 0.0488167 2.44084 0
vertex 0.0488167 2.0259 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 2.44084 0
vertex 0.0244083 2.0259 0
vertex 0.0244083 2.44084 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.12279 2.56288 0
vertex 1.09838 2.73374 0
vertex 1.12279 2.75815 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.12279 2.56288 0
vertex 1.07397 2.63611 0
vertex 1.09838 2.73374 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.04956 2.56288 0
vertex 1.07397 2.63611 0
vertex 1.12279 2.56288 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.07397 2.63611 0
vertex 1.04956 2.56288 0
vertex 1.04956 2.63611 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.12279 2.56288 0
vertex 1.14719 2.53847 0
vertex 1.12279 2.53847 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.14719 2.53847 0
vertex 1.12279 2.56288 0
vertex 1.14719 2.78256 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.12279 2.75815 0
vertex 1.14719 2.78256 0
vertex 1.12279 2.56288 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.14719 2.78256 0
vertex 1.12279 2.75815 0
vertex 1.12279 2.78256 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.14719 2.53847 0
vertex 1.19601 2.51407 0
vertex 1.14719 2.51407 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.19601 2.51407 0
vertex 1.14719 2.53847 0
vertex 1.19601 2.80697 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.14719 2.78256 0
vertex 1.19601 2.80697 0
vertex 1.14719 2.53847 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.19601 2.80697 0
vertex 1.14719 2.78256 0
vertex 1.14719 2.80697 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.41569 1.63536 0
vertex 1.4401 1.733 0
vertex 1.4401 1.63536 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4401 1.733 0
vertex 1.41569 1.63536 0
vertex 1.41569 1.733 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.41569 1.14719 0
vertex 1.4401 1.1716 0
vertex 1.4401 1.14719 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4401 1.1716 0
vertex 1.41569 1.14719 0
vertex 1.41569 1.1716 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.48891 0
vertex 1.4645 1.53773 0
vertex 1.4645 1.48891 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4645 1.53773 0
vertex 1.4401 1.48891 0
vertex 1.4401 1.53773 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.39128 0
vertex 1.4401 1.4401 0
vertex 1.4645 1.4645 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.41569 1.39128 0
vertex 1.4401 1.4401 0
vertex 1.4645 1.39128 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4401 1.4401 0
vertex 1.41569 1.39128 0
vertex 1.41569 1.4401 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.14719 0
vertex 1.4645 0.878702 0
vertex 1.4401 0.878702 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 0.878702 0
vertex 1.4401 1.14719 0
vertex 1.4645 1.29364 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.1716 0
vertex 1.4645 1.29364 0
vertex 1.4401 1.14719 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4645 1.29364 0
vertex 1.4401 1.1716 0
vertex 1.4401 1.29364 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.56288 6.6635 0
vertex 2.58729 6.6879 0
vertex 2.58729 6.6635 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.58729 6.6879 0
vertex 2.56288 6.6635 0
vertex 2.56288 6.6879 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.66052 6.85876 0
vertex 2.70933 7.02962 0
vertex 2.70933 6.63909 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 7.02962 0
vertex 2.66052 6.85876 0
vertex 2.68492 7.00521 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.63909 0
vertex 2.6117 6.78554 0
vertex 2.66052 6.85876 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.58729 6.6635 0
vertex 2.70933 6.63909 0
vertex 2.58729 6.63909 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.58729 6.6879 0
vertex 2.70933 6.63909 0
vertex 2.58729 6.6635 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.63909 0
vertex 2.58729 6.6879 0
vertex 2.6117 6.78554 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.6117 6.78554 0
vertex 2.58729 6.6879 0
vertex 2.58729 6.78554 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.56586 0
vertex 2.68492 6.59027 0
vertex 2.70933 6.61468 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.66052 6.56586 0
vertex 2.68492 6.59027 0
vertex 2.70933 6.56586 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.68492 6.59027 0
vertex 2.66052 6.56586 0
vertex 2.66052 6.59027 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.56586 0
vertex 2.73374 6.54145 0
vertex 2.70933 6.54145 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.61468 0
vertex 2.73374 6.54145 0
vertex 2.70933 6.56586 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 6.63909 0
vertex 2.73374 6.54145 0
vertex 2.70933 6.61468 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 6.54145 0
vertex 2.70933 6.63909 0
vertex 2.73374 7.12725 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 7.02962 0
vertex 2.73374 7.12725 0
vertex 2.70933 6.63909 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.73374 7.12725 0
vertex 2.70933 7.02962 0
vertex 2.70933 7.12725 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 6.54145 0
vertex 2.75815 6.51705 0
vertex 2.73374 6.51705 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.75815 6.51705 0
vertex 2.73374 6.54145 0
vertex 2.75815 7.15166 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 7.12725 0
vertex 2.75815 7.15166 0
vertex 2.73374 6.54145 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.75815 7.15166 0
vertex 2.73374 7.12725 0
vertex 2.73374 7.15166 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.78256 4.19825 0
vertex 2.80697 4.22265 0
vertex 2.80697 4.19825 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.80697 4.22265 0
vertex 2.78256 4.19825 0
vertex 2.78256 4.22265 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.17384 0
vertex 2.83138 4.24706 0
vertex 2.85578 4.27147 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.80697 4.19825 0
vertex 2.85578 4.17384 0
vertex 2.80697 4.17384 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.17384 0
vertex 2.80697 4.19825 0
vertex 2.83138 4.24706 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.80697 4.22265 0
vertex 2.83138 4.24706 0
vertex 2.80697 4.19825 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.83138 4.24706 0
vertex 2.80697 4.22265 0
vertex 2.80697 4.24706 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.88019 6.395 0
vertex 2.92901 6.37059 0
vertex 2.88019 6.37059 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 6.41941 0
vertex 2.92901 6.37059 0
vertex 2.88019 6.395 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 6.41941 0
vertex 2.88019 6.395 0
vertex 2.85578 6.395 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.83138 6.44382 0
vertex 2.92901 6.37059 0
vertex 2.85578 6.41941 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.83138 6.44382 0
vertex 2.85578 6.41941 0
vertex 2.83138 6.41941 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.92901 6.37059 0
vertex 2.83138 6.44382 0
vertex 2.9046 7.17607 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.80697 6.46823 0
vertex 2.83138 6.44382 0
vertex 2.80697 6.44382 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.83138 6.44382 0
vertex 2.80697 6.46823 0
vertex 2.9046 7.17607 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.78256 6.49264 0
vertex 2.80697 6.46823 0
vertex 2.78256 6.46823 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.80697 6.46823 0
vertex 2.78256 6.49264 0
vertex 2.9046 7.17607 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.75815 6.51705 0
vertex 2.78256 6.49264 0
vertex 2.75815 6.49264 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.78256 6.49264 0
vertex 2.75815 6.51705 0
vertex 2.9046 7.17607 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.75815 7.15166 0
vertex 2.9046 7.17607 0
vertex 2.75815 6.51705 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.9046 7.17607 0
vertex 2.75815 7.15166 0
vertex 2.75815 7.17607 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.92901 6.37059 0
vertex 2.95342 6.32178 0
vertex 2.92901 6.32178 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 6.32178 0
vertex 2.92901 6.37059 0
vertex 2.95342 7.20048 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.9046 7.17607 0
vertex 2.95342 7.20048 0
vertex 2.92901 6.37059 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.95342 7.20048 0
vertex 2.9046 7.17607 0
vertex 2.9046 7.20048 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 6.32178 0
vertex 3.05105 6.29737 0
vertex 2.95342 6.29737 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.05105 6.29737 0
vertex 2.95342 6.32178 0
vertex 3.05105 7.22489 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 7.20048 0
vertex 3.05105 7.22489 0
vertex 2.95342 6.32178 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.05105 7.22489 0
vertex 2.95342 7.20048 0
vertex 2.95342 7.22489 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.12428 6.19974 0
vertex 3.14868 6.17533 0
vertex 3.12428 6.17533 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 6.27296 0
vertex 3.14868 6.17533 0
vertex 3.12428 6.19974 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 6.27296 0
vertex 3.12428 6.19974 0
vertex 3.09987 6.19974 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.14868 6.17533 0
vertex 3.09987 6.27296 0
vertex 3.14868 7.2493 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.05105 6.29737 0
vertex 3.09987 6.27296 0
vertex 3.05105 6.27296 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 6.27296 0
vertex 3.05105 6.29737 0
vertex 3.14868 7.2493 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.05105 7.22489 0
vertex 3.14868 7.2493 0
vertex 3.05105 6.29737 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.14868 7.2493 0
vertex 3.05105 7.22489 0
vertex 3.05105 7.2493 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.17309 6.15092 0
vertex 3.1975 6.12651 0
vertex 3.17309 6.12651 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 6.12651 0
vertex 3.17309 6.15092 0
vertex 3.1975 7.27371 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.14868 6.17533 0
vertex 3.17309 6.15092 0
vertex 3.14868 6.15092 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.17309 6.15092 0
vertex 3.14868 6.17533 0
vertex 3.1975 7.27371 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.14868 7.2493 0
vertex 3.1975 7.27371 0
vertex 3.14868 6.17533 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.1975 7.27371 0
vertex 3.14868 7.2493 0
vertex 3.14868 7.27371 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.24632 5.88243 0
vertex 3.34395 7.37134 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.24632 6.05328 0
vertex 3.34395 7.37134 0
vertex 3.24632 5.88243 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 6.12651 0
vertex 3.34395 7.37134 0
vertex 3.24632 6.05328 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 7.37134 0
vertex 3.1975 6.12651 0
vertex 3.31954 7.34693 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 5.32103 0
vertex 3.24632 5.88243 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.24632 5.88243 0
vertex 3.1975 5.76038 0
vertex 3.22191 5.85802 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.24632 5.88243 0
vertex 3.09987 5.32103 0
vertex 3.1975 5.76038 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 3.12428 5.49189 0
vertex 3.1975 5.76038 0
vertex 3.09987 5.32103 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 5.76038 0
vertex 3.14868 5.61393 0
vertex 3.17309 5.71157 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 5.76038 0
vertex 3.12428 5.49189 0
vertex 3.14868 5.61393 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 4.9305 0
vertex 3.09987 5.32103 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 5.32103 0
vertex 3.05105 5.15017 0
vertex 3.07546 5.29662 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 5.32103 0
vertex 3.00223 4.9305 0
vertex 3.05105 5.15017 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.05105 5.15017 0
vertex 3.00223 4.9305 0
vertex 3.02664 5.07695 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.14943 0
vertex 3.00223 4.9305 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 4.9305 0
vertex 2.95342 4.75964 0
vertex 2.97783 4.88168 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 4.9305 0
vertex 2.85578 4.14943 0
vertex 2.95342 4.75964 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.9046 4.53996 0
vertex 2.95342 4.75964 0
vertex 2.85578 4.14943 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 4.75964 0
vertex 2.9046 4.53996 0
vertex 2.92901 4.66201 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.9046 4.53996 0
vertex 2.85578 4.14943 0
vertex 2.88019 4.39351 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 3.88094 0
vertex 2.85578 4.14943 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.14943 0
vertex 2.73374 3.88094 0
vertex 2.80697 4.0762 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.75815 3.97857 0
vertex 2.80697 4.0762 0
vertex 2.73374 3.88094 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.80697 4.0762 0
vertex 2.75815 3.97857 0
vertex 2.78256 4.0518 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 3.80771 0
vertex 2.73374 3.88094 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 3.88094 0
vertex 2.68492 3.80771 0
vertex 2.70933 3.85653 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.34321 3.24632 0
vertex 2.68492 3.80771 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.39202 3.36836 0
vertex 2.68492 3.80771 0
vertex 2.34321 3.24632 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 3.80771 0
vertex 2.39202 3.36836 0
vertex 2.66052 3.7833 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.66052 3.7833 0
vertex 2.39202 3.36836 0
vertex 2.63611 3.75889 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.63611 3.75889 0
vertex 2.39202 3.36836 0
vertex 2.6117 3.73449 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.46525 3.56363 0
vertex 2.58729 3.71008 0
vertex 2.39202 3.36836 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.51407 3.66126 0
vertex 2.58729 3.71008 0
vertex 2.46525 3.56363 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.51407 3.66126 0
vertex 2.46525 3.56363 0
vertex 2.48966 3.63685 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.58729 3.71008 0
vertex 2.51407 3.66126 0
vertex 2.53847 3.68567 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.41643 3.46599 0
vertex 2.46525 3.56363 0
vertex 2.39202 3.36836 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.46525 3.56363 0
vertex 2.41643 3.46599 0
vertex 2.44084 3.53922 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.6117 3.73449 0
vertex 2.39202 3.36836 0
vertex 2.58729 3.71008 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.39202 3.36836 0
vertex 2.34321 3.24632 0
vertex 2.36761 3.31954 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.26998 3.09987 0
vertex 2.34321 3.24632 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 2.29439 3.17309 0
vertex 2.34321 3.24632 0
vertex 2.26998 3.09987 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.34321 3.24632 0
vertex 2.29439 3.17309 0
vertex 2.3188 3.22191 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 2.24557 3.07546 0
vertex 2.26998 3.09987 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.14794 3.00223 0
vertex 2.24557 3.07546 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.24557 3.07546 0
vertex 2.17235 3.02664 0
vertex 2.19676 3.05105 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.24557 3.07546 0
vertex 2.14794 3.00223 0
vertex 2.17235 3.02664 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.61095 0
vertex 2.14794 3.00223 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.14794 3.00223 0
vertex 1.4645 1.61095 0
vertex 2.09912 2.97783 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.733 0
vertex 2.09912 2.97783 0
vertex 1.4645 1.61095 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 2.07471 0
vertex 2.09912 2.97783 0
vertex 1.4401 1.733 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 2.97783 0
vertex 1.4401 2.07471 0
vertex 2.05031 2.95342 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 2.92901 0
vertex 1.85504 2.83138 0
vertex 1.95267 2.9046 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 2.9046 0
vertex 1.87945 2.85578 0
vertex 1.90386 2.88019 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.48891 1.36687 0
vertex 3.34395 0 0
vertex 1.48891 1.31805 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 0.878702 0
vertex 3.34395 0 0
vertex 1.4645 0.829885 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.4401 0.390534 0
vertex 1.4645 0.829885 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.41569 0.122042 0
vertex 1.4401 0.390534 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.39128 0.0976334 0
vertex 1.41569 0.122042 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.36687 0.073225 0
vertex 1.39128 0.0976334 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.34246 0.0488167 0
vertex 1.36687 0.073225 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.31805 0.0244083 0
vertex 1.34246 0.0488167 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.463759 0 0
vertex 1.31805 0.0244083 0
vertex 3.34395 0 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.31805 0.0244083 0
vertex 0.463759 0 0
vertex 0.463759 0.0244083 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.34395 7.37134 0
vertex 3.31954 7.34693 0
vertex 3.31954 7.37134 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.31954 7.34693 0
vertex 3.29513 7.32252 0
vertex 3.29513 7.34693 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.29513 7.32252 0
vertex 3.27073 7.29811 0
vertex 3.27073 7.32252 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.31954 7.34693 0
vertex 3.1975 6.12651 0
vertex 3.29513 7.32252 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.22191 6.07769 0
vertex 3.24632 6.05328 0
vertex 3.22191 6.05328 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 6.12651 0
vertex 3.24632 6.05328 0
vertex 3.22191 6.07769 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 6.12651 0
vertex 3.22191 6.07769 0
vertex 3.1975 6.07769 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.29513 7.32252 0
vertex 3.1975 6.12651 0
vertex 3.27073 7.29811 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 7.27371 0
vertex 3.27073 7.29811 0
vertex 3.1975 6.12651 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.27073 7.29811 0
vertex 3.1975 7.27371 0
vertex 3.1975 7.29811 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.24632 5.88243 0
vertex 3.22191 5.85802 0
vertex 3.22191 5.88243 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 5.8092 0
vertex 3.22191 5.85802 0
vertex 3.1975 5.76038 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.17309 5.83361 0
vertex 3.1975 5.8092 0
vertex 3.17309 5.8092 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 5.8092 0
vertex 3.17309 5.83361 0
vertex 3.22191 5.85802 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.14868 5.85802 0
vertex 3.17309 5.83361 0
vertex 3.14868 5.83361 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.17309 5.83361 0
vertex 3.14868 5.85802 0
vertex 3.22191 5.85802 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.1975 5.76038 0
vertex 3.17309 5.71157 0
vertex 3.17309 5.76038 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.17309 5.71157 0
vertex 3.14868 5.61393 0
vertex 3.14868 5.71157 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.12428 5.56512 0
vertex 3.14868 5.61393 0
vertex 3.12428 5.49189 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.09987 5.61393 0
vertex 3.12428 5.56512 0
vertex 3.09987 5.56512 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.12428 5.56512 0
vertex 3.09987 5.61393 0
vertex 3.14868 5.61393 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.12428 5.49189 0
vertex 3.09987 5.32103 0
vertex 3.09987 5.49189 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.09987 5.32103 0
vertex 3.07546 5.29662 0
vertex 3.07546 5.32103 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.07546 5.29662 0
vertex 3.05105 5.15017 0
vertex 3.05105 5.29662 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.05105 5.15017 0
vertex 3.02664 5.07695 0
vertex 3.02664 5.15017 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.02664 5.07695 0
vertex 3.00223 4.9305 0
vertex 3.00223 5.07695 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 3.00223 4.9305 0
vertex 2.97783 4.88168 0
vertex 2.97783 4.9305 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.97783 4.88168 0
vertex 2.95342 4.75964 0
vertex 2.95342 4.88168 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.95342 4.75964 0
vertex 2.92901 4.66201 0
vertex 2.92901 4.75964 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.92901 4.66201 0
vertex 2.9046 4.53996 0
vertex 2.9046 4.66201 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.9046 4.53996 0
vertex 2.88019 4.39351 0
vertex 2.88019 4.53996 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.17384 0
vertex 2.88019 4.39351 0
vertex 2.85578 4.14943 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.85578 4.27147 0
vertex 2.88019 4.39351 0
vertex 2.85578 4.17384 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.88019 4.39351 0
vertex 2.85578 4.27147 0
vertex 2.85578 4.39351 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.85578 4.27147 0
vertex 2.83138 4.24706 0
vertex 2.83138 4.27147 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.85578 4.14943 0
vertex 2.80697 4.0762 0
vertex 2.80697 4.14943 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.80697 4.0762 0
vertex 2.78256 4.0518 0
vertex 2.78256 4.0762 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.78256 4.0518 0
vertex 2.75815 3.97857 0
vertex 2.75815 4.0518 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.75815 3.97857 0
vertex 2.73374 3.88094 0
vertex 2.73374 3.97857 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.73374 3.88094 0
vertex 2.70933 3.85653 0
vertex 2.70933 3.88094 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.70933 3.85653 0
vertex 2.68492 3.80771 0
vertex 2.68492 3.85653 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.70933 6.61468 0
vertex 2.68492 6.59027 0
vertex 2.68492 6.61468 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.70933 7.02962 0
vertex 2.68492 7.00521 0
vertex 2.68492 7.02962 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.68492 3.80771 0
vertex 2.66052 3.7833 0
vertex 2.66052 3.80771 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.68492 7.00521 0
vertex 2.66052 6.85876 0
vertex 2.66052 7.00521 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.66052 3.7833 0
vertex 2.63611 3.75889 0
vertex 2.63611 3.7833 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.63611 3.75889 0
vertex 2.6117 3.73449 0
vertex 2.6117 3.75889 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.66052 6.85876 0
vertex 2.6117 6.78554 0
vertex 2.6117 6.85876 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.6117 3.73449 0
vertex 2.58729 3.71008 0
vertex 2.58729 3.73449 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.58729 3.71008 0
vertex 2.53847 3.68567 0
vertex 2.53847 3.71008 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.53847 3.68567 0
vertex 2.51407 3.66126 0
vertex 2.51407 3.68567 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.51407 3.66126 0
vertex 2.48966 3.63685 0
vertex 2.48966 3.66126 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.48966 3.63685 0
vertex 2.46525 3.56363 0
vertex 2.46525 3.63685 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.46525 3.56363 0
vertex 2.44084 3.53922 0
vertex 2.44084 3.56363 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.44084 3.53922 0
vertex 2.41643 3.46599 0
vertex 2.41643 3.53922 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.41643 3.46599 0
vertex 2.39202 3.36836 0
vertex 2.39202 3.46599 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.39202 3.36836 0
vertex 2.36761 3.31954 0
vertex 2.36761 3.36836 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.36761 3.31954 0
vertex 2.34321 3.24632 0
vertex 2.34321 3.31954 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.34321 3.24632 0
vertex 2.3188 3.22191 0
vertex 2.3188 3.24632 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.3188 3.22191 0
vertex 2.29439 3.17309 0
vertex 2.29439 3.22191 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.29439 3.17309 0
vertex 2.26998 3.09987 0
vertex 2.26998 3.17309 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.26998 3.09987 0
vertex 2.24557 3.07546 0
vertex 2.24557 3.09987 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.24557 3.07546 0
vertex 2.19676 3.05105 0
vertex 2.19676 3.07546 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.19676 3.05105 0
vertex 2.17235 3.02664 0
vertex 2.17235 3.05105 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.17235 3.02664 0
vertex 2.14794 3.00223 0
vertex 2.14794 3.02664 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.14794 3.00223 0
vertex 2.09912 2.97783 0
vertex 2.09912 3.00223 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.09912 2.97783 0
vertex 2.05031 2.95342 0
vertex 2.05031 2.97783 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.05031 2.95342 0
vertex 2.00149 2.92901 0
vertex 2.00149 2.95342 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.00149 2.92901 0
vertex 1.95267 2.9046 0
vertex 1.95267 2.92901 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.95267 2.9046 0
vertex 1.90386 2.88019 0
vertex 1.90386 2.9046 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.90386 2.88019 0
vertex 1.87945 2.85578 0
vertex 1.87945 2.88019 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.87945 2.85578 0
vertex 1.85504 2.83138 0
vertex 1.85504 2.85578 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.61095 0
vertex 3.34395 0 0
vertex 1.48891 1.36687 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.39128 0
vertex 1.48891 1.36687 0
vertex 1.4645 1.36687 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.4645 0
vertex 1.48891 1.36687 0
vertex 1.4645 1.39128 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.48891 0
vertex 1.48891 1.36687 0
vertex 1.4645 1.4645 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.53773 0
vertex 1.48891 1.36687 0
vertex 1.4645 1.48891 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.61095 0
vertex 1.48891 1.36687 0
vertex 1.4645 1.53773 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 2.9046 0
vertex 1.85504 2.83138 0
vertex 1.87945 2.85578 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.63536 0
vertex 1.4645 1.61095 0
vertex 1.4401 1.61095 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 1.733 0
vertex 1.4645 1.61095 0
vertex 1.4401 1.63536 0
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 1.85504 2.83138 0
vertex 2.05031 2.95342 0
vertex 1.4401 2.07471 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 2.95342 0
vertex 1.85504 2.83138 0
vertex 2.00149 2.92901 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.41569 2.19676 0
vertex 1.4401 2.07471 0
vertex 1.41569 2.07471 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4401 2.07471 0
vertex 1.41569 2.19676 0
vertex 1.85504 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 2.24557 0
vertex 1.41569 2.19676 0
vertex 1.39128 2.19676 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.41569 2.19676 0
vertex 1.39128 2.24557 0
vertex 1.85504 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.36687 2.26998 0
vertex 1.39128 2.24557 0
vertex 1.36687 2.24557 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.39128 2.24557 0
vertex 1.36687 2.26998 0
vertex 1.85504 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.34246 2.29439 0
vertex 1.36687 2.26998 0
vertex 1.34246 2.26998 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.36687 2.26998 0
vertex 1.34246 2.29439 0
vertex 1.85504 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.29364 2.3188 0
vertex 1.34246 2.29439 0
vertex 1.29364 2.29439 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.26924 2.34321 0
vertex 1.34246 2.29439 0
vertex 1.29364 2.3188 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.26924 2.34321 0
vertex 1.29364 2.3188 0
vertex 1.26924 2.3188 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.22042 2.41643 0
vertex 1.34246 2.29439 0
vertex 1.26924 2.34321 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.24483 2.36761 0
vertex 1.26924 2.34321 0
vertex 1.24483 2.34321 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.22042 2.41643 0
vertex 1.26924 2.34321 0
vertex 1.24483 2.36761 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.22042 2.41643 0
vertex 1.24483 2.36761 0
vertex 1.22042 2.36761 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.34246 2.29439 0
vertex 1.22042 2.41643 0
vertex 1.19601 2.51407 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.19601 2.51407 0
vertex 1.22042 2.41643 0
vertex 1.19601 2.41643 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.34246 2.29439 0
vertex 1.19601 2.51407 0
vertex 1.85504 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.19601 2.80697 0
vertex 1.85504 2.83138 0
vertex 1.19601 2.51407 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.85504 2.83138 0
vertex 1.19601 2.80697 0
vertex 1.19601 2.83138 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 0 0
vertex 1.4645 0.878702 0
vertex 1.48891 1.31805 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.4645 1.29364 0
vertex 1.48891 1.31805 0
vertex 1.4645 0.878702 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.48891 1.31805 0
vertex 1.4645 1.29364 0
vertex 1.4645 1.31805 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4645 0.829885 0
vertex 1.4401 0.390534 0
vertex 1.4401 0.829885 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4645 1.4645 0
vertex 1.4401 1.4401 0
vertex 1.4401 1.4645 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4401 0.390534 0
vertex 1.41569 0.122042 0
vertex 1.41569 0.390534 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.41569 0.122042 0
vertex 1.39128 0.0976334 0
vertex 1.39128 0.122042 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.39128 0.0976334 0
vertex 1.36687 0.073225 0
vertex 1.36687 0.0976334 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.36687 0.073225 0
vertex 1.34246 0.0488167 0
vertex 1.34246 0.073225 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.34246 0.0488167 0
vertex 1.31805 0.0244083 0
vertex 1.31805 0.0488167 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.12279 2.75815 0
vertex 1.09838 2.73374 0
vertex 1.09838 2.75815 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.09838 2.73374 0
vertex 1.07397 2.63611 0
vertex 1.07397 2.73374 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.29513 7.61542 0
vertex 3.34395 7.59101 0
vertex 3.29513 7.59101 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.27073 7.63983 0
vertex 3.34395 7.59101 0
vertex 3.29513 7.61542 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.27073 7.63983 0
vertex 3.29513 7.61542 0
vertex 3.27073 7.61542 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.34395 7.59101 0
vertex 3.27073 7.63983 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 7.66424 0
vertex 3.27073 7.63983 0
vertex 3.1975 7.63983 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.27073 7.63983 0
vertex 3.1975 7.66424 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.07546 7.68865 0
vertex 3.1975 7.66424 0
vertex 3.07546 7.66424 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.1975 7.66424 0
vertex 3.07546 7.68865 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.02664 7.71306 0
vertex 3.07546 7.68865 0
vertex 3.02664 7.68865 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 7.73746 0
vertex 3.07546 7.68865 0
vertex 3.02664 7.71306 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 7.73746 0
vertex 3.02664 7.71306 0
vertex 3.00223 7.71306 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.07546 7.68865 0
vertex 3.00223 7.73746 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 7.76187 0
vertex 3.00223 7.73746 0
vertex 2.95342 7.73746 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 3.00223 7.73746 0
vertex 2.95342 7.76187 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.9046 7.78628 0
vertex 2.95342 7.76187 0
vertex 2.9046 7.76187 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.95342 7.76187 0
vertex 2.9046 7.78628 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.83138 7.81069 0
vertex 2.9046 7.78628 0
vertex 2.83138 7.78628 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.9046 7.78628 0
vertex 2.83138 7.81069 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 7.8351 0
vertex 2.83138 7.81069 0
vertex 2.73374 7.81069 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 7.85951 0
vertex 2.83138 7.81069 0
vertex 2.73374 7.8351 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 7.85951 0
vertex 2.73374 7.8351 0
vertex 2.70933 7.8351 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 7.88392 0
vertex 2.83138 7.81069 0
vertex 2.70933 7.85951 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 7.88392 0
vertex 2.70933 7.85951 0
vertex 2.68492 7.85951 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.83138 7.81069 0
vertex 2.68492 7.88392 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.6117 7.90832 0
vertex 2.68492 7.88392 0
vertex 2.6117 7.88392 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.56288 7.93273 0
vertex 2.68492 7.88392 0
vertex 2.6117 7.90832 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.56288 7.93273 0
vertex 2.6117 7.90832 0
vertex 2.56288 7.90832 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 7.88392 0
vertex 2.56288 7.93273 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.46525 7.95714 0
vertex 2.56288 7.93273 0
vertex 2.46525 7.93273 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.56288 7.93273 0
vertex 2.46525 7.95714 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.34321 7.98155 0
vertex 2.46525 7.95714 0
vertex 2.34321 7.95714 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 8.00596 0
vertex 2.46525 7.95714 0
vertex 2.34321 7.98155 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 8.00596 0
vertex 2.34321 7.98155 0
vertex 2.29439 7.98155 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.46525 7.95714 0
vertex 2.29439 8.00596 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.19676 8.03037 0
vertex 2.29439 8.00596 0
vertex 2.19676 8.00596 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 8.00596 0
vertex 2.19676 8.03037 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.0259 8.05477 0
vertex 2.19676 8.03037 0
vertex 2.0259 8.03037 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 8.07918 0
vertex 2.19676 8.03037 0
vertex 2.0259 8.05477 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 8.07918 0
vertex 2.0259 8.05477 0
vertex 1.95267 8.05477 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.19676 8.03037 0
vertex 1.95267 8.07918 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.68418 8.10359 0
vertex 1.95267 8.07918 0
vertex 1.68418 8.07918 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 8.07918 0
vertex 1.68418 8.10359 0
vertex 3.34395 8.10359 0
endloop
endfacet
facet normal -0 0 1
outer loop
vertex 1.34246 8.128 0
vertex 1.4401 8.10359 0
vertex 1.4401 8.128 0
endloop
endfacet
facet normal 0 0 1
outer loop
vertex 1.4401 8.10359 0
vertex 1.34246 8.128 0
vertex 1.34246 8.10359 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.73374 0
vertex 0.0244083 2.75815 0
vertex 0.0244083 2.73374 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0244083 2.75815 0
vertex 0 2.73374 0
vertex 0 2.75815 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.6117 0
vertex 0.0244083 2.66052 0
vertex 0.0244083 2.6117 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0244083 2.66052 0
vertex 0 2.6117 0
vertex 0 2.66052 0
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.53847 0
vertex 0.0244083 2.58729 0
vertex 0.0244083 2.53847 0
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0244083 2.58729 0
vertex 0 2.53847 0
vertex 0 2.58729 0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.073225 0.0244083 -3.38991
vertex 0.0976334 0.0244083 0
vertex 0.073225 0.0244083 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0976334 0.0244083 0
vertex 0.073225 0.0244083 -3.38991
vertex 0.0976334 0.0244083 -3.38991
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.463759 0.0244083 -3.38991
vertex 1.31805 0.0244083 0
vertex 0.463759 0.0244083 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.31805 0.0244083 0
vertex 0.463759 0.0244083 -3.38991
vertex 1.31805 0.0244083 -3.38991
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.34246 8.10359 -31.75
vertex 1.4401 8.128 -31.75
vertex 1.4401 8.10359 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 1.4401 8.128 -31.75
vertex 1.34246 8.10359 -31.75
vertex 1.34246 8.128 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.0244083 3.05105 -31.75
vertex 1.85504 2.85578 -31.75
vertex 1.85504 2.85394 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.85504 2.85578 -31.75
vertex 0.854294 3.85653 -31.75
vertex 0.878702 3.92975 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.85504 2.85578 -31.75
vertex 0.829885 3.83212 -31.75
vertex 0.854294 3.85653 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.85504 2.85578 -31.75
vertex 0.781069 3.80771 -31.75
vertex 0.829885 3.83212 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.85504 2.85578 -31.75
vertex 0.0244083 3.05105 -31.75
vertex 0.781069 3.80771 -31.75
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 0.244083 3.75889 -31.75
vertex 0.781069 3.80771 -31.75
vertex 0.073225 3.31954 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.80771 -31.75
vertex 0.244083 3.75889 -31.75
vertex 0.268492 3.7833 -31.75
endloop
endfacet
facet normal 0 -0 -1
outer loop
vertex 0.14645 3.68567 -31.75
vertex 0.244083 3.75889 -31.75
vertex 0.073225 3.31954 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.244083 3.75889 -31.75
vertex 0.170858 3.71008 -31.75
vertex 0.195267 3.73449 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.244083 3.75889 -31.75
vertex 0.14645 3.68567 -31.75
vertex 0.170858 3.71008 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.14645 3.68567 -31.75
vertex 0.073225 3.31954 -31.75
vertex 0.122042 3.66126 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.122042 3.66126 -31.75
vertex 0.073225 3.31954 -31.75
vertex 0.0976334 3.63685 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.80771 -31.75
vertex 0.0488167 3.1975 -31.75
vertex 0.073225 3.31954 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.781069 3.80771 -31.75
vertex 0.0244083 3.05105 -31.75
vertex 0.0488167 3.1975 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0 2.85394 -31.75
vertex 0.0244083 3.05105 -31.75
vertex 1.85504 2.85394 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0244083 3.05105 -31.75
vertex 0 2.85394 -31.75
vertex 0 3.05105 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.87945 2.85578 -31.75
vertex 1.85504 2.85578 -31.75
vertex 1.87945 2.88019 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.90386 2.88019 -31.75
vertex 1.87945 2.88019 -31.75
vertex 1.90386 2.9046 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 1.95267 2.9046 -31.75
vertex 1.90386 2.9046 -31.75
vertex 1.95267 2.92901 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 2.92901 -31.75
vertex 1.95267 2.92901 -31.75
vertex 2.00149 2.95342 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 2.95342 -31.75
vertex 2.00149 2.95342 -31.75
vertex 2.05031 2.97783 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 2.97783 -31.75
vertex 2.05031 2.97783 -31.75
vertex 2.09912 3.00223 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.14794 3.00223 -31.75
vertex 2.09912 3.00223 -31.75
vertex 2.14794 3.02664 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.17235 3.02664 -31.75
vertex 2.14794 3.02664 -31.75
vertex 2.17235 3.05105 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.19676 3.05105 -31.75
vertex 2.17235 3.05105 -31.75
vertex 2.19676 3.07546 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.24557 3.07546 -31.75
vertex 2.19676 3.07546 -31.75
vertex 2.24557 3.09987 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.26998 3.09987 -31.75
vertex 2.24557 3.09987 -31.75
vertex 2.26998 3.17309 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 3.17309 -31.75
vertex 2.26998 3.17309 -31.75
vertex 2.29439 3.22191 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.3188 3.22191 -31.75
vertex 2.29439 3.22191 -31.75
vertex 2.3188 3.24632 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.34321 3.24632 -31.75
vertex 2.3188 3.24632 -31.75
vertex 2.34321 3.31954 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.36761 3.31954 -31.75
vertex 2.34321 3.31954 -31.75
vertex 2.36761 3.36836 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.39202 3.36836 -31.75
vertex 2.36761 3.36836 -31.75
vertex 2.39202 3.46599 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.41643 3.46599 -31.75
vertex 2.39202 3.46599 -31.75
vertex 2.41643 3.53922 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.44084 3.53922 -31.75
vertex 2.41643 3.53922 -31.75
vertex 2.44084 3.56363 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.46525 3.56363 -31.75
vertex 2.44084 3.56363 -31.75
vertex 2.46525 3.63685 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.48966 3.63685 -31.75
vertex 2.46525 3.63685 -31.75
vertex 2.48966 3.66126 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.51407 3.66126 -31.75
vertex 2.48966 3.66126 -31.75
vertex 2.51407 3.68567 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.53847 3.68567 -31.75
vertex 2.51407 3.68567 -31.75
vertex 2.53847 3.71008 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.58729 3.71008 -31.75
vertex 2.53847 3.71008 -31.75
vertex 2.58729 3.73449 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.6117 3.73449 -31.75
vertex 2.58729 3.73449 -31.75
vertex 2.6117 3.75889 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.63611 3.75889 -31.75
vertex 2.6117 3.75889 -31.75
vertex 2.63611 3.7833 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.66052 3.7833 -31.75
vertex 2.63611 3.7833 -31.75
vertex 2.66052 3.80771 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 3.80771 -31.75
vertex 2.66052 3.80771 -31.75
vertex 2.68492 3.85653 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.70933 3.85653 -31.75
vertex 2.68492 3.85653 -31.75
vertex 2.70933 3.88094 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 3.88094 -31.75
vertex 2.70933 3.88094 -31.75
vertex 2.73374 3.97857 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.73374 3.97857 -31.75
vertex 2.75815 4.0518 -31.75
vertex 2.75815 3.97857 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.68492 3.85653 -31.75
vertex 2.73374 3.97857 -31.75
vertex 2.70933 3.88094 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.53847 3.71008 -31.75
vertex 2.73374 3.97857 -31.75
vertex 2.68492 3.85653 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.63611 3.7833 -31.75
vertex 2.68492 3.85653 -31.75
vertex 2.66052 3.80771 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.53847 3.71008 -31.75
vertex 2.68492 3.85653 -31.75
vertex 2.63611 3.7833 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.53847 3.71008 -31.75
vertex 2.63611 3.7833 -31.75
vertex 2.6117 3.75889 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.53847 3.71008 -31.75
vertex 2.6117 3.75889 -31.75
vertex 2.58729 3.73449 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.73374 3.97857 -31.75
vertex 2.53847 3.71008 -31.75
vertex 2.75815 4.0518 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.51407 3.68567 -31.75
vertex 2.75815 4.0518 -31.75
vertex 2.53847 3.71008 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0518 -31.75
vertex 2.51407 3.68567 -31.75
vertex 2.48966 3.66126 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0518 -31.75
vertex 2.48966 3.66126 -31.75
vertex 2.46525 3.63685 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.41643 3.53922 -31.75
vertex 2.46525 3.63685 -31.75
vertex 2.44084 3.56363 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.34321 3.31954 -31.75
vertex 2.39202 3.46599 -31.75
vertex 2.36761 3.36836 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 3.22191 -31.75
vertex 2.34321 3.31954 -31.75
vertex 2.3188 3.24632 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.00149 2.95342 -31.75
vertex 2.34321 3.31954 -31.75
vertex 2.29439 3.22191 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 2.34321 3.31954 -31.75
vertex 2.00149 2.95342 -31.75
vertex 2.39202 3.46599 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.05031 2.97783 -31.75
vertex 2.29439 3.22191 -31.75
vertex 2.26998 3.17309 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.19676 3.07546 -31.75
vertex 2.26998 3.17309 -31.75
vertex 2.24557 3.09987 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 3.00223 -31.75
vertex 2.26998 3.17309 -31.75
vertex 2.19676 3.07546 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 3.00223 -31.75
vertex 2.19676 3.07546 -31.75
vertex 2.17235 3.05105 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.29439 3.22191 -31.75
vertex 2.05031 2.97783 -31.75
vertex 2.00149 2.95342 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.09912 3.00223 -31.75
vertex 2.17235 3.05105 -31.75
vertex 2.14794 3.02664 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.26998 3.17309 -31.75
vertex 2.09912 3.00223 -31.75
vertex 2.05031 2.97783 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 2.39202 3.46599 -31.75
vertex 2.00149 2.95342 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.39202 3.46599 -31.75
vertex 0.878702 3.92975 -31.75
vertex 2.41643 3.53922 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 2.00149 2.95342 -31.75
vertex 1.95267 2.92901 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.41643 3.53922 -31.75
vertex 0.878702 3.92975 -31.75
vertex 2.46525 3.63685 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 1.95267 2.92901 -31.75
vertex 1.90386 2.9046 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 1.90386 2.9046 -31.75
vertex 1.87945 2.88019 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 1.87945 2.88019 -31.75
vertex 1.85504 2.85578 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 0.878702 4.0518 -31.75
vertex 2.46525 3.63685 -31.75
vertex 0.878702 3.92975 -31.75
endloop
endfacet
facet normal 0 0 -1
outer loop
vertex 2.51407 3.68567 -31.75
vertex 0.878702 4.0518 -31.75
vertex 2.75815 4.0518 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.878702 3.92975 -31.75
vertex 0.854294 3.85653 -31.75
vertex 0.854294 3.92975 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.854294 3.85653 -31.75
vertex 0.829885 3.83212 -31.75
vertex 0.829885 3.85653 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.829885 3.83212 -31.75
vertex 0.781069 3.80771 -31.75
vertex 0.781069 3.83212 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.781069 3.80771 -31.75
vertex 0.268492 3.7833 -31.75
vertex 0.268492 3.80771 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.268492 3.7833 -31.75
vertex 0.244083 3.75889 -31.75
vertex 0.244083 3.7833 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.244083 3.75889 -31.75
vertex 0.195267 3.73449 -31.75
vertex 0.195267 3.75889 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.195267 3.73449 -31.75
vertex 0.170858 3.71008 -31.75
vertex 0.170858 3.73449 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.170858 3.71008 -31.75
vertex 0.14645 3.68567 -31.75
vertex 0.14645 3.71008 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.14645 3.68567 -31.75
vertex 0.122042 3.66126 -31.75
vertex 0.122042 3.68567 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.122042 3.66126 -31.75
vertex 0.0976334 3.63685 -31.75
vertex 0.0976334 3.66126 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0976334 3.63685 -31.75
vertex 0.073225 3.31954 -31.75
vertex 0.073225 3.63685 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.073225 3.31954 -31.75
vertex 0.0488167 3.1975 -31.75
vertex 0.0488167 3.31954 -31.75
endloop
endfacet
facet normal -0 0 -1
outer loop
vertex 0.0488167 3.1975 -31.75
vertex 0.0244083 3.05105 -31.75
vertex 0.0244083 3.1975 -31.75
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0976334 0 -3.3655
vertex 0.463759 0 0
vertex 0.0976334 0 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.463759 0 0
vertex 0.0976334 0 -3.3655
vertex 0.463759 0 -3.3655
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0976334 0 0
vertex 0 0 0.0030508
vertex 0 0 0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.463759 0 0
vertex 0 0 0.0030508
vertex 0.0976334 0 0
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0 0 0.0030508
vertex 0.463759 0 0
vertex 3.34395 0 0.0030508
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 3.34395 0 0.0030508
vertex 0.463759 0 0
vertex 3.34395 0 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.463759 0 -3.3655
vertex 0.463759 0.0244083 0
vertex 0.463759 0 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 0.463759 0.0244083 0
vertex 0.463759 0 -3.3655
vertex 0.463759 0.0244083 -3.38991
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 0.0244083 -3.38991
vertex 0.073225 0.0488167 0
vertex 0.073225 0.0488167 -3.41432
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.073225 0.0488167 0
vertex 0.073225 0.0244083 -3.38991
vertex 0.073225 0.0244083 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.31805 0.0244083 -3.38991
vertex 1.31805 0.0488167 0
vertex 1.31805 0.0244083 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.31805 0.0488167 0
vertex 1.31805 0.0244083 -3.38991
vertex 1.31805 0.0488167 -3.41432
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.0976334 0.0488167 -3.41432
vertex 0.073225 0.0488167 0
vertex 0.0976334 0.0488167 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.073225 0.0488167 0
vertex 0.0976334 0.0488167 -3.41432
vertex 0.073225 0.0488167 -3.41432
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.31805 0.0488167 -3.41432
vertex 1.34246 0.0488167 0
vertex 1.31805 0.0488167 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.34246 0.0488167 0
vertex 1.31805 0.0488167 -3.41432
vertex 1.34246 0.0488167 -3.41432
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0976334 0.0488167 -3.41432
vertex 0.0976334 0.122042 0
vertex 0.0976334 0.122042 -3.48754
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.0976334 0.122042 0
vertex 0.0976334 0.0488167 -3.41432
vertex 0.0976334 0.0488167 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.34246 0.0488167 -3.41432
vertex 1.34246 0.073225 0
vertex 1.34246 0.0488167 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.34246 0.073225 0
vertex 1.34246 0.0488167 -3.41432
vertex 1.34246 0.073225 -3.43872
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.34246 0.073225 -3.43872
vertex 1.36687 0.073225 0
vertex 1.34246 0.073225 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.36687 0.073225 0
vertex 1.34246 0.073225 -3.43872
vertex 1.36687 0.073225 -3.43872
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.36687 0.073225 -3.43872
vertex 1.36687 0.0976334 0
vertex 1.36687 0.073225 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.36687 0.0976334 0
vertex 1.36687 0.073225 -3.43872
vertex 1.36687 0.0976334 -3.46313
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.36687 0.0976334 -3.46313
vertex 1.39128 0.0976334 0
vertex 1.36687 0.0976334 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.39128 0.0976334 0
vertex 1.36687 0.0976334 -3.46313
vertex 1.39128 0.0976334 -3.46313
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.39128 0.0976334 -3.46313
vertex 1.39128 0.122042 0
vertex 1.39128 0.0976334 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.39128 0.122042 0
vertex 1.39128 0.0976334 -3.46313
vertex 1.39128 0.122042 -3.48754
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.073225 0.122042 -3.48754
vertex 0.0976334 0.122042 0
vertex 0.073225 0.122042 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0976334 0.122042 0
vertex 0.073225 0.122042 -3.48754
vertex 0.0976334 0.122042 -3.48754
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.39128 0.122042 -3.48754
vertex 1.41569 0.122042 0
vertex 1.39128 0.122042 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.41569 0.122042 0
vertex 1.39128 0.122042 -3.48754
vertex 1.41569 0.122042 -3.48754
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 0.122042 -3.48754
vertex 0.073225 0.341717 0
vertex 0.073225 0.341717 -3.70722
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.073225 0.341717 0
vertex 0.073225 0.122042 -3.48754
vertex 0.073225 0.122042 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 0.122042 -3.48754
vertex 1.41569 0.390534 0
vertex 1.41569 0.122042 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 0.390534 0
vertex 1.41569 0.122042 -3.48754
vertex 1.41569 0.390534 -3.75603
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 0.341717 -3.70722
vertex 0.073225 0.341717 0
vertex 0.0488167 0.341717 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 0.341717 0
vertex 0.0488167 0.341717 -3.70722
vertex 0.073225 0.341717 -3.70722
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 0.952501 -4.318
vertex 0.0488167 1.02515 -6.61315
vertex 0.0488167 0.952501 -5.588
endloop
endfacet
facet normal -1 0 -0
outer loop
vertex 0.0488167 0.952501 -5.588
vertex 0.0488167 1.02515 -6.61315
vertex 0.0488167 0.47625 -6.06425
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -6.61315
vertex 0.0488167 0.952501 -4.318
vertex 0.0488167 1.02515 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 0.341717 -3.70722
vertex 0.0488167 1.02515 0
vertex 0.0488167 0.952501 -4.318
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.0488167 1.02515 0
vertex 0.0488167 0.341717 -3.70722
vertex 0.0488167 0.341717 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -29.9212
vertex 0.0488167 0.569722 -29.4658
vertex 0.0488167 1.02515 -29.0103
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -26.6157
vertex 0.0488167 0.47625 -26.0667
vertex 0.0488167 1.02515 -25.5178
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -22.4882
vertex 0.0488167 0.9525 -22.4155
vertex 0.0488167 1.02515 -22.3428
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -11.3757
vertex 0.0488167 0.79375 -11.1442
vertex 0.0488167 1.02515 -10.9128
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.02515 -13.9157
vertex 0.0488167 0.9525 -13.843
vertex 0.0488167 1.02515 -13.7703
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 0.390534 -3.75603
vertex 1.4401 0.390534 0
vertex 1.41569 0.390534 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 0.390534 0
vertex 1.41569 0.390534 -3.75603
vertex 1.4401 0.390534 -3.75603
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.390534 -3.75603
vertex 1.4401 0.829885 0
vertex 1.4401 0.390534 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.829885 0
vertex 1.4401 0.390534 -3.75603
vertex 1.4401 0.829885 -4.19539
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.829885 -29.2056
vertex 1.4401 0.569722 -29.4658
vertex 1.4401 0.829885 -29.7259
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.829885 -25.7131
vertex 1.4401 0.47625 -26.0667
vertex 1.4401 0.829885 -26.4204
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.829885 -11.1081
vertex 1.4401 0.79375 -11.1442
vertex 1.4401 0.829885 -11.1804
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.829885 -5.71061
vertex 1.4401 0.47625 -6.06425
vertex 1.4401 0.829885 -6.41789
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 0.829885 -4.19539
vertex 1.4645 0.829885 0
vertex 1.4401 0.829885 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 0.829885 0
vertex 1.4401 0.829885 -4.19539
vertex 1.4645 0.829885 -4.19539
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 0.829885 -29.7259
vertex 1.4645 0.829885 -29.2056
vertex 1.4401 0.829885 -29.2056
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 0.829885 -29.2056
vertex 1.4401 0.829885 -29.7259
vertex 1.4645 0.829885 -29.7259
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 0.829885 -26.4204
vertex 1.4645 0.829885 -25.7131
vertex 1.4401 0.829885 -25.7131
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 0.829885 -25.7131
vertex 1.4401 0.829885 -26.4204
vertex 1.4645 0.829885 -26.4204
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 0.829885 -11.1804
vertex 1.4645 0.829885 -11.1081
vertex 1.4401 0.829885 -11.1081
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 0.829885 -11.1081
vertex 1.4401 0.829885 -11.1804
vertex 1.4645 0.829885 -11.1804
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 0.829885 -6.41789
vertex 1.4645 0.829885 -5.71061
vertex 1.4401 0.829885 -5.71061
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 0.829885 -5.71061
vertex 1.4401 0.829885 -6.41789
vertex 1.4645 0.829885 -6.41789
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.829885 -4.19539
vertex 1.4645 0.878702 0
vertex 1.4645 0.829885 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.878702 0
vertex 1.4645 0.829885 -4.19539
vertex 1.4645 0.878702 -4.2442
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 0.829885 -29.2056
vertex 1.4645 0.878702 -29.7748
vertex 1.4645 0.878702 -29.1568
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.878702 -29.7748
vertex 1.4645 0.829885 -29.2056
vertex 1.4645 0.829885 -29.7259
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 0.829885 -25.7131
vertex 1.4645 0.878702 -26.4692
vertex 1.4645 0.878702 -25.6643
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.878702 -26.4692
vertex 1.4645 0.829885 -25.7131
vertex 1.4645 0.829885 -26.4204
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 0.829885 -11.1081
vertex 1.4645 0.878702 -11.2292
vertex 1.4645 0.878702 -11.0593
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.878702 -11.2292
vertex 1.4645 0.829885 -11.1081
vertex 1.4645 0.829885 -11.1804
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 0.829885 -5.71061
vertex 1.4645 0.878702 -6.4667
vertex 1.4645 0.878702 -5.6618
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 0.878702 -6.4667
vertex 1.4645 0.829885 -5.71061
vertex 1.4645 0.829885 -6.41789
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4645 0.878702 -4.2442
vertex 1.4401 0.878702 0
vertex 1.4645 0.878702 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4401 0.878702 0
vertex 1.4645 0.878702 -4.2442
vertex 1.4401 0.878702 -4.2442
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4645 0.878702 -29.7748
vertex 1.4401 0.878702 -29.1568
vertex 1.4645 0.878702 -29.1568
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4401 0.878702 -29.1568
vertex 1.4645 0.878702 -29.7748
vertex 1.4401 0.878702 -29.7748
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4645 0.878702 -26.4692
vertex 1.4401 0.878702 -25.6643
vertex 1.4645 0.878702 -25.6643
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4401 0.878702 -25.6643
vertex 1.4645 0.878702 -26.4692
vertex 1.4401 0.878702 -26.4692
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4645 0.878702 -11.2292
vertex 1.4401 0.878702 -11.0593
vertex 1.4645 0.878702 -11.0593
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4401 0.878702 -11.0593
vertex 1.4645 0.878702 -11.2292
vertex 1.4401 0.878702 -11.2292
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4645 0.878702 -6.4667
vertex 1.4401 0.878702 -5.6618
vertex 1.4645 0.878702 -5.6618
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4401 0.878702 -5.6618
vertex 1.4645 0.878702 -6.4667
vertex 1.4401 0.878702 -6.4667
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 0
vertex 1.4401 0.952501 -4.318
vertex 1.4401 1.14719 -6.73519
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.878702 -4.2442
vertex 1.4401 1.14719 0
vertex 1.4401 0.878702 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 0
vertex 1.4401 0.878702 -4.2442
vertex 1.4401 0.952501 -4.318
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 0.952501 -5.588
vertex 1.4401 1.14719 -6.73519
vertex 1.4401 0.952501 -4.318
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.878702 -6.4667
vertex 1.4401 0.952501 -5.588
vertex 1.4401 0.878702 -5.6618
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 0.952501 -5.588
vertex 1.4401 0.878702 -6.4667
vertex 1.4401 1.14719 -6.73519
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 0.878702 -29.1568
vertex 1.4401 1.14719 -30.0433
vertex 1.4401 1.14719 -28.8883
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 -30.0433
vertex 1.4401 0.878702 -29.1568
vertex 1.4401 0.878702 -29.7748
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 0.878702 -25.6643
vertex 1.4401 1.14719 -26.7377
vertex 1.4401 1.14719 -25.3958
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 -26.7377
vertex 1.4401 0.878702 -25.6643
vertex 1.4401 0.878702 -26.4692
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 -22.2208
vertex 1.4401 0.9525 -22.4155
vertex 1.4401 1.14719 -22.6102
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 0.878702 -11.0593
vertex 1.4401 1.14719 -11.4977
vertex 1.4401 1.14719 -10.7908
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 -11.4977
vertex 1.4401 0.878702 -11.0593
vertex 1.4401 0.878702 -11.2292
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.14719 -13.6483
vertex 1.4401 0.9525 -13.843
vertex 1.4401 1.14719 -14.0377
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -6.61315
vertex 0.0488167 1.02515 0
vertex 0.073225 1.02515 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 0
vertex 0.073225 1.02515 -6.61315
vertex 0.0488167 1.02515 -6.61315
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -29.9212
vertex 0.0488167 1.02515 -29.0103
vertex 0.073225 1.02515 -29.0103
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 -29.0103
vertex 0.073225 1.02515 -29.9212
vertex 0.0488167 1.02515 -29.9212
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -26.6157
vertex 0.0488167 1.02515 -25.5178
vertex 0.073225 1.02515 -25.5178
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 -25.5178
vertex 0.073225 1.02515 -26.6157
vertex 0.0488167 1.02515 -26.6157
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -22.4882
vertex 0.0488167 1.02515 -22.3428
vertex 0.073225 1.02515 -22.3428
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 -22.3428
vertex 0.073225 1.02515 -22.4882
vertex 0.0488167 1.02515 -22.4882
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -11.3757
vertex 0.0488167 1.02515 -10.9128
vertex 0.073225 1.02515 -10.9128
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 -10.9128
vertex 0.073225 1.02515 -11.3757
vertex 0.0488167 1.02515 -11.3757
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 0.073225 1.02515 -13.9157
vertex 0.0488167 1.02515 -13.7703
vertex 0.073225 1.02515 -13.7703
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 0.0488167 1.02515 -13.7703
vertex 0.073225 1.02515 -13.9157
vertex 0.0488167 1.02515 -13.9157
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -6.61315
vertex 0.073225 1.04956 0
vertex 0.073225 1.04956 -6.63756
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.073225 1.04956 0
vertex 0.073225 1.02515 -6.61315
vertex 0.073225 1.02515 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -29.9212
vertex 0.073225 1.04956 -28.9859
vertex 0.073225 1.04956 -29.9456
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.04956 -28.9859
vertex 0.073225 1.02515 -29.9212
vertex 0.073225 1.02515 -29.0103
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -26.6157
vertex 0.073225 1.04956 -25.4934
vertex 0.073225 1.04956 -26.6401
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.04956 -25.4934
vertex 0.073225 1.02515 -26.6157
vertex 0.073225 1.02515 -25.5178
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -22.4882
vertex 0.073225 1.04956 -22.3184
vertex 0.073225 1.04956 -22.5126
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.04956 -22.3184
vertex 0.073225 1.02515 -22.4882
vertex 0.073225 1.02515 -22.3428
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -11.3757
vertex 0.073225 1.04956 -10.8884
vertex 0.073225 1.04956 -11.4001
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.04956 -10.8884
vertex 0.073225 1.02515 -11.3757
vertex 0.073225 1.02515 -10.9128
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.02515 -13.9157
vertex 0.073225 1.04956 -13.7459
vertex 0.073225 1.04956 -13.9401
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.073225 1.04956 -13.7459
vertex 0.073225 1.02515 -13.9157
vertex 0.073225 1.02515 -13.7703
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -6.63756
vertex 0.073225 1.04956 0
vertex 0.0488167 1.04956 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 0
vertex 0.0488167 1.04956 -6.63756
vertex 0.073225 1.04956 -6.63756
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -29.9456
vertex 0.073225 1.04956 -28.9859
vertex 0.0488167 1.04956 -28.9859
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 -28.9859
vertex 0.0488167 1.04956 -29.9456
vertex 0.073225 1.04956 -29.9456
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -26.6401
vertex 0.073225 1.04956 -25.4934
vertex 0.0488167 1.04956 -25.4934
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 -25.4934
vertex 0.0488167 1.04956 -26.6401
vertex 0.073225 1.04956 -26.6401
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -22.5126
vertex 0.073225 1.04956 -22.3184
vertex 0.0488167 1.04956 -22.3184
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 -22.3184
vertex 0.0488167 1.04956 -22.5126
vertex 0.073225 1.04956 -22.5126
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -11.4001
vertex 0.073225 1.04956 -10.8884
vertex 0.0488167 1.04956 -10.8884
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 -10.8884
vertex 0.0488167 1.04956 -11.4001
vertex 0.073225 1.04956 -11.4001
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0488167 1.04956 -13.9401
vertex 0.073225 1.04956 -13.7459
vertex 0.0488167 1.04956 -13.7459
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.073225 1.04956 -13.7459
vertex 0.0488167 1.04956 -13.9401
vertex 0.073225 1.04956 -13.9401
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -6.63756
vertex 0.0488167 1.39128 0
vertex 0.0488167 1.39128 -6.97928
endloop
endfacet
facet normal -1 -0 0
outer loop
vertex 0.0488167 1.39128 0
vertex 0.0488167 1.04956 -6.63756
vertex 0.0488167 1.04956 0
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -29.9456
vertex 0.0488167 1.39128 -28.6442
vertex 0.0488167 1.39128 -30.2873
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.39128 -28.6442
vertex 0.0488167 1.04956 -29.9456
vertex 0.0488167 1.04956 -28.9859
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -26.6401
vertex 0.0488167 1.39128 -25.1517
vertex 0.0488167 1.39128 -26.9818
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.39128 -25.1517
vertex 0.0488167 1.04956 -26.6401
vertex 0.0488167 1.04956 -25.4934
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -22.5126
vertex 0.0488167 1.39128 -21.9767
vertex 0.0488167 1.39128 -22.8543
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.39128 -21.9767
vertex 0.0488167 1.04956 -22.5126
vertex 0.0488167 1.04956 -22.3184
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -11.4001
vertex 0.0488167 1.39128 -10.5467
vertex 0.0488167 1.39128 -11.7418
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.39128 -10.5467
vertex 0.0488167 1.04956 -11.4001
vertex 0.0488167 1.04956 -10.8884
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.04956 -13.9401
vertex 0.0488167 1.39128 -13.4042
vertex 0.0488167 1.39128 -14.2818
endloop
endfacet
facet normal -1 0 0
outer loop
vertex 0.0488167 1.39128 -13.4042
vertex 0.0488167 1.04956 -13.9401
vertex 0.0488167 1.04956 -13.7459
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -6.73519
vertex 1.41569 1.14719 0
vertex 1.4401 1.14719 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 0
vertex 1.4401 1.14719 -6.73519
vertex 1.41569 1.14719 -6.73519
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -30.0433
vertex 1.41569 1.14719 -28.8883
vertex 1.4401 1.14719 -28.8883
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 -28.8883
vertex 1.4401 1.14719 -30.0433
vertex 1.41569 1.14719 -30.0433
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -26.7377
vertex 1.41569 1.14719 -25.3958
vertex 1.4401 1.14719 -25.3958
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 -25.3958
vertex 1.4401 1.14719 -26.7377
vertex 1.41569 1.14719 -26.7377
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -22.6102
vertex 1.41569 1.14719 -22.2208
vertex 1.4401 1.14719 -22.2208
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 -22.2208
vertex 1.4401 1.14719 -22.6102
vertex 1.41569 1.14719 -22.6102
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -11.4977
vertex 1.41569 1.14719 -10.7908
vertex 1.4401 1.14719 -10.7908
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 -10.7908
vertex 1.4401 1.14719 -11.4977
vertex 1.41569 1.14719 -11.4977
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.4401 1.14719 -14.0377
vertex 1.41569 1.14719 -13.6483
vertex 1.4401 1.14719 -13.6483
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.41569 1.14719 -13.6483
vertex 1.4401 1.14719 -14.0377
vertex 1.41569 1.14719 -14.0377
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.14719 -6.73519
vertex 1.41569 1.1716 0
vertex 1.41569 1.14719 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 0
vertex 1.41569 1.14719 -6.73519
vertex 1.41569 1.1716 -6.7596
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.41569 1.14719 -28.8883
vertex 1.41569 1.1716 -30.0677
vertex 1.41569 1.1716 -28.8639
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 -30.0677
vertex 1.41569 1.14719 -28.8883
vertex 1.41569 1.14719 -30.0433
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.41569 1.14719 -25.3958
vertex 1.41569 1.1716 -26.7621
vertex 1.41569 1.1716 -25.3714
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 -26.7621
vertex 1.41569 1.14719 -25.3958
vertex 1.41569 1.14719 -26.7377
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.41569 1.14719 -22.2208
vertex 1.41569 1.1716 -22.6346
vertex 1.41569 1.1716 -22.1964
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 -22.6346
vertex 1.41569 1.14719 -22.2208
vertex 1.41569 1.14719 -22.6102
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.41569 1.14719 -10.7908
vertex 1.41569 1.1716 -11.5221
vertex 1.41569 1.1716 -10.7664
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 -11.5221
vertex 1.41569 1.14719 -10.7908
vertex 1.41569 1.14719 -11.4977
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.41569 1.14719 -13.6483
vertex 1.41569 1.1716 -14.0621
vertex 1.41569 1.1716 -13.6239
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.41569 1.1716 -14.0621
vertex 1.41569 1.14719 -13.6483
vertex 1.41569 1.14719 -14.0377
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -6.7596
vertex 1.4401 1.1716 0
vertex 1.41569 1.1716 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 0
vertex 1.41569 1.1716 -6.7596
vertex 1.4401 1.1716 -6.7596
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -30.0677
vertex 1.4401 1.1716 -28.8639
vertex 1.41569 1.1716 -28.8639
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 -28.8639
vertex 1.41569 1.1716 -30.0677
vertex 1.4401 1.1716 -30.0677
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -26.7621
vertex 1.4401 1.1716 -25.3714
vertex 1.41569 1.1716 -25.3714
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 -25.3714
vertex 1.41569 1.1716 -26.7621
vertex 1.4401 1.1716 -26.7621
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -22.6346
vertex 1.4401 1.1716 -22.1964
vertex 1.41569 1.1716 -22.1964
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 -22.1964
vertex 1.41569 1.1716 -22.6346
vertex 1.4401 1.1716 -22.6346
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -11.5221
vertex 1.4401 1.1716 -10.7664
vertex 1.41569 1.1716 -10.7664
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 -10.7664
vertex 1.41569 1.1716 -11.5221
vertex 1.4401 1.1716 -11.5221
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.41569 1.1716 -14.0621
vertex 1.4401 1.1716 -13.6239
vertex 1.41569 1.1716 -13.6239
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4401 1.1716 -13.6239
vertex 1.41569 1.1716 -14.0621
vertex 1.4401 1.1716 -14.0621
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.1716 -6.7596
vertex 1.4401 1.29364 0
vertex 1.4401 1.1716 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 0
vertex 1.4401 1.1716 -6.7596
vertex 1.4401 1.29364 -6.88164
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 1.1716 -28.8639
vertex 1.4401 1.29364 -30.1897
vertex 1.4401 1.29364 -28.7419
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 -30.1897
vertex 1.4401 1.1716 -28.8639
vertex 1.4401 1.1716 -30.0677
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 1.1716 -25.3714
vertex 1.4401 1.29364 -26.8841
vertex 1.4401 1.29364 -25.2494
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 -26.8841
vertex 1.4401 1.1716 -25.3714
vertex 1.4401 1.1716 -26.7621
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 1.1716 -22.1964
vertex 1.4401 1.29364 -22.7566
vertex 1.4401 1.29364 -22.0744
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 -22.7566
vertex 1.4401 1.1716 -22.1964
vertex 1.4401 1.1716 -22.6346
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 1.1716 -10.7664
vertex 1.4401 1.29364 -11.6441
vertex 1.4401 1.29364 -10.6444
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 -11.6441
vertex 1.4401 1.1716 -10.7664
vertex 1.4401 1.1716 -11.5221
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4401 1.1716 -13.6239
vertex 1.4401 1.29364 -14.1841
vertex 1.4401 1.29364 -13.5019
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4401 1.29364 -14.1841
vertex 1.4401 1.1716 -13.6239
vertex 1.4401 1.1716 -14.0621
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -6.88164
vertex 1.4645 1.29364 0
vertex 1.4401 1.29364 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 0
vertex 1.4401 1.29364 -6.88164
vertex 1.4645 1.29364 -6.88164
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -30.1897
vertex 1.4645 1.29364 -28.7419
vertex 1.4401 1.29364 -28.7419
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 -28.7419
vertex 1.4401 1.29364 -30.1897
vertex 1.4645 1.29364 -30.1897
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -26.8841
vertex 1.4645 1.29364 -25.2494
vertex 1.4401 1.29364 -25.2494
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 -25.2494
vertex 1.4401 1.29364 -26.8841
vertex 1.4645 1.29364 -26.8841
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -22.7566
vertex 1.4645 1.29364 -22.0744
vertex 1.4401 1.29364 -22.0744
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 -22.0744
vertex 1.4401 1.29364 -22.7566
vertex 1.4645 1.29364 -22.7566
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -11.6441
vertex 1.4645 1.29364 -10.6444
vertex 1.4401 1.29364 -10.6444
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 -10.6444
vertex 1.4401 1.29364 -11.6441
vertex 1.4645 1.29364 -11.6441
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4401 1.29364 -14.1841
vertex 1.4645 1.29364 -13.5019
vertex 1.4401 1.29364 -13.5019
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.4645 1.29364 -13.5019
vertex 1.4401 1.29364 -14.1841
vertex 1.4645 1.29364 -14.1841
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.29364 -6.88164
vertex 1.4645 1.31805 0
vertex 1.4645 1.29364 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 0
vertex 1.4645 1.29364 -6.88164
vertex 1.4645 1.31805 -6.90605
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.29364 -28.7419
vertex 1.4645 1.31805 -30.2141
vertex 1.4645 1.31805 -28.7174
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 -30.2141
vertex 1.4645 1.29364 -28.7419
vertex 1.4645 1.29364 -30.1897
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.29364 -25.2494
vertex 1.4645 1.31805 -26.9086
vertex 1.4645 1.31805 -25.2249
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 -26.9086
vertex 1.4645 1.29364 -25.2494
vertex 1.4645 1.29364 -26.8841
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.29364 -22.0744
vertex 1.4645 1.31805 -22.7811
vertex 1.4645 1.31805 -22.0499
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 -22.7811
vertex 1.4645 1.29364 -22.0744
vertex 1.4645 1.29364 -22.7566
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.29364 -10.6444
vertex 1.4645 1.31805 -11.6686
vertex 1.4645 1.31805 -10.6199
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 -11.6686
vertex 1.4645 1.29364 -10.6444
vertex 1.4645 1.29364 -11.6441
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.29364 -13.5019
vertex 1.4645 1.31805 -14.2086
vertex 1.4645 1.31805 -13.4774
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.31805 -14.2086
vertex 1.4645 1.29364 -13.5019
vertex 1.4645 1.29364 -14.1841
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -6.90605
vertex 1.48891 1.31805 0
vertex 1.4645 1.31805 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 0
vertex 1.4645 1.31805 -6.90605
vertex 1.48891 1.31805 -6.90605
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -30.2141
vertex 1.48891 1.31805 -28.7174
vertex 1.4645 1.31805 -28.7174
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 -28.7174
vertex 1.4645 1.31805 -30.2141
vertex 1.48891 1.31805 -30.2141
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -26.9086
vertex 1.48891 1.31805 -25.2249
vertex 1.4645 1.31805 -25.2249
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 -25.2249
vertex 1.4645 1.31805 -26.9086
vertex 1.48891 1.31805 -26.9086
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -22.7811
vertex 1.48891 1.31805 -22.0499
vertex 1.4645 1.31805 -22.0499
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 -22.0499
vertex 1.4645 1.31805 -22.7811
vertex 1.48891 1.31805 -22.7811
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -11.6686
vertex 1.48891 1.31805 -10.6199
vertex 1.4645 1.31805 -10.6199
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 -10.6199
vertex 1.4645 1.31805 -11.6686
vertex 1.48891 1.31805 -11.6686
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 1.4645 1.31805 -14.2086
vertex 1.48891 1.31805 -13.4774
vertex 1.4645 1.31805 -13.4774
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 1.48891 1.31805 -13.4774
vertex 1.4645 1.31805 -14.2086
vertex 1.48891 1.31805 -14.2086
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.31805 -6.90605
vertex 1.48891 1.36687 0
vertex 1.48891 1.31805 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 0
vertex 1.48891 1.31805 -6.90605
vertex 1.48891 1.36687 -6.95487
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.48891 1.31805 -28.7174
vertex 1.48891 1.36687 -30.2629
vertex 1.48891 1.36687 -28.6686
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 -30.2629
vertex 1.48891 1.31805 -28.7174
vertex 1.48891 1.31805 -30.2141
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.48891 1.31805 -25.2249
vertex 1.48891 1.36687 -26.9574
vertex 1.48891 1.36687 -25.1761
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 -26.9574
vertex 1.48891 1.31805 -25.2249
vertex 1.48891 1.31805 -26.9086
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.48891 1.31805 -22.0499
vertex 1.48891 1.36687 -22.8299
vertex 1.48891 1.36687 -22.0011
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 -22.8299
vertex 1.48891 1.31805 -22.0499
vertex 1.48891 1.31805 -22.7811
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.48891 1.31805 -10.6199
vertex 1.48891 1.36687 -11.7174
vertex 1.48891 1.36687 -10.5711
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 -11.7174
vertex 1.48891 1.31805 -10.6199
vertex 1.48891 1.31805 -11.6686
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.48891 1.31805 -13.4774
vertex 1.48891 1.36687 -14.2574
vertex 1.48891 1.36687 -13.4286
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.48891 1.36687 -14.2574
vertex 1.48891 1.31805 -13.4774
vertex 1.48891 1.31805 -14.2086
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -6.95487
vertex 1.4645 1.36687 0
vertex 1.48891 1.36687 0
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 0
vertex 1.48891 1.36687 -6.95487
vertex 1.4645 1.36687 -6.95487
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -30.2629
vertex 1.4645 1.36687 -28.6686
vertex 1.48891 1.36687 -28.6686
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 -28.6686
vertex 1.48891 1.36687 -30.2629
vertex 1.4645 1.36687 -30.2629
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -26.9574
vertex 1.4645 1.36687 -25.1761
vertex 1.48891 1.36687 -25.1761
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 -25.1761
vertex 1.48891 1.36687 -26.9574
vertex 1.4645 1.36687 -26.9574
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -22.8299
vertex 1.4645 1.36687 -22.0011
vertex 1.48891 1.36687 -22.0011
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 -22.0011
vertex 1.48891 1.36687 -22.8299
vertex 1.4645 1.36687 -22.8299
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -11.7174
vertex 1.4645 1.36687 -10.5711
vertex 1.48891 1.36687 -10.5711
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 -10.5711
vertex 1.48891 1.36687 -11.7174
vertex 1.4645 1.36687 -11.7174
endloop
endfacet
facet normal 0 1 -0
outer loop
vertex 1.48891 1.36687 -14.2574
vertex 1.4645 1.36687 -13.4286
vertex 1.48891 1.36687 -13.4286
endloop
endfacet
facet normal 0 1 0
outer loop
vertex 1.4645 1.36687 -13.4286
vertex 1.48891 1.36687 -14.2574
vertex 1.4645 1.36687 -14.2574
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.36687 -6.95487
vertex 1.4645 1.39128 0
vertex 1.4645 1.36687 0
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 0
vertex 1.4645 1.36687 -6.95487
vertex 1.4645 1.39128 -6.97928
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.36687 -28.6686
vertex 1.4645 1.39128 -30.2873
vertex 1.4645 1.39128 -28.6442
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 -30.2873
vertex 1.4645 1.36687 -28.6686
vertex 1.4645 1.36687 -30.2629
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.36687 -25.1761
vertex 1.4645 1.39128 -26.9818
vertex 1.4645 1.39128 -25.1517
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 -26.9818
vertex 1.4645 1.36687 -25.1761
vertex 1.4645 1.36687 -26.9574
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.36687 -22.0011
vertex 1.4645 1.39128 -22.8543
vertex 1.4645 1.39128 -21.9767
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 -22.8543
vertex 1.4645 1.36687 -22.0011
vertex 1.4645 1.36687 -22.8299
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.36687 -10.5711
vertex 1.4645 1.39128 -11.7418
vertex 1.4645 1.39128 -10.5467
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 -11.7418
vertex 1.4645 1.36687 -10.5711
vertex 1.4645 1.36687 -11.7174
endloop
endfacet
facet normal 1 -0 0
outer loop
vertex 1.4645 1.36687 -13.4286
vertex 1.4645 1.39128 -14.2818
vertex 1.4645 1.39128 -13.4042
endloop
endfacet
facet normal 1 0 0
outer loop
vertex 1.4645 1.39128 -14.2818
vertex 1.4645 1.36687 -13.4286
vertex 1.4645 1.36687 -14.2574
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.39128 -6.97928
vertex 0.0488167 1.39128 0
vertex 0.0244083 1.39128 0
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0488167 1.39128 0
vertex 0.0244083 1.39128 -6.97928
vertex 0.0488167 1.39128 -6.97928
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.39128 -30.2873
vertex 0.0488167 1.39128 -28.6442
vertex 0.0244083 1.39128 -28.6442
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0488167 1.39128 -28.6442
vertex 0.0244083 1.39128 -30.2873
vertex 0.0488167 1.39128 -30.2873
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.39128 -26.9818
vertex 0.0488167 1.39128 -25.1517
vertex 0.0244083 1.39128 -25.1517
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0488167 1.39128 -25.1517
vertex 0.0244083 1.39128 -26.9818
vertex 0.0488167 1.39128 -26.9818
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.39128 -22.8543
vertex 0.0488167 1.39128 -21.9767
vertex 0.0244083 1.39128 -21.9767
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0488167 1.39128 -21.9767
vertex 0.0244083 1.39128 -22.8543
vertex 0.0488167 1.39128 -22.8543
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.39128 -11.7418
vertex 0.0488167 1.39128 -10.5467
vertex 0.0244083 1.39128 -10.5467
endloop
endfacet
facet normal 0 -1 -0
outer loop
vertex 0.0488167 1.39128 -10.5467
vertex 0.0244083 1.39128 -11.7418
vertex 0.0488167 1.39128 -11.7418
endloop
endfacet
facet normal 0 -1 0
outer loop
vertex 0.0244083 1.
gitextract_hw6po8ej/
├── Automated-Keyway-Modeling/
│ ├── Generic-Key.jscad
│ ├── Generic-Key.scad
│ ├── Keyway-Detection-JSCAD.py
│ ├── KeywayDetection.py
│ ├── README
│ ├── Sample_Output.scad
│ └── Sample_Output.stl
├── README.md
├── Schlage SC1.scad
├── custom-models/
│ ├── BEST G.scad
│ ├── Kwikset KW1.scad
│ ├── Medeco Biaxial.scad
│ ├── Medeco Keymark.scad
│ ├── SEB-145.ipt
│ └── SED-v5.ipt
└── data/
├── CEDAR DID04.py
├── bestg-cud-1.out
├── bestg-cud-2.out
├── bestg-mp-1.out
├── bestg-mp-2.out
├── bestg-mp-3.out
├── bestg-mp-4.out
├── bestg-wsfp-1.out
├── bestg-wsfp-2.out
├── bestg-wsfp-3.out
├── bestg-wsfp-4.out
├── kw1-cud-1.out
├── kw1-cud-2.out
├── kw1-mp-1.out
├── kw1-mp-2.out
├── kw1-mp-3.out
├── kw1-mp-4.out
├── kw1-ns-1.out
├── kw1-rbs-1-bent.out
├── kw1-rbs-1.out
├── kw1-rbs-2.out
├── kw1-rbz-1.out
├── kw1-rbz-2.out
├── kw1-ss-1.out
├── kw1-ss-2-no-springs.out
├── kw1-ss-2-opened.out
├── kw1-ss-2.out
├── kw1-wsfp-1.out
├── kw1-wsfp-2.out
├── kw1-wsfp-3.out
├── kw1-wsfp-4.out
├── notes
├── sc1-cud-1.out
├── sc1-cud-2.out
├── sc1-mp-1.out
├── sc1-mp-2.out
├── sc1-mp-3.out
├── sc1-mp-4.out
├── sc1-wsfp-1.out
├── sc1-wsfp-2.out
├── sc1-wsfp-3.out
└── sc1-wsfp-4.out
Condensed preview — 57 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,100K chars).
[
{
"path": "Automated-Keyway-Modeling/Generic-Key.jscad",
"chars": 3893,
"preview": "function mm(i) {\n return i*25.4;\n}\nfunction pixel(i) {\n return mm(i*###SCALE_FACTOR###);\n}\nfunction channels(blade"
},
{
"path": "Automated-Keyway-Modeling/Generic-Key.scad",
"chars": 3553,
"preview": "$fn=100;\n\nfunction mm(i) = i*25.4;\n###SCALE_FACTOR###\n\n//Auto generated channels\nmodule channels(blade_length)\n{\n ###"
},
{
"path": "Automated-Keyway-Modeling/Keyway-Detection-JSCAD.py",
"chars": 11831,
"preview": "import argparse\nimport cv2\nimport exifread\nimport os.path\nimport subprocess\nimport sys\nfrom skimage import measure\nfrom "
},
{
"path": "Automated-Keyway-Modeling/KeywayDetection.py",
"chars": 11847,
"preview": "import argparse\nimport cv2\nimport exifread\nimport os.path\nimport subprocess\nimport sys\nfrom skimage import measure\nfrom "
},
{
"path": "Automated-Keyway-Modeling/README",
"chars": 318,
"preview": "\n\nDependencies\n---\nsudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pand"
},
{
"path": "Automated-Keyway-Modeling/Sample_Output.scad",
"chars": 23495,
"preview": "\n$fn=100;\n\nfunction mm(i) = i*25.4;\nfunction pixel(i) = mm(i*0.000960960961); \n\n//Auto generated channels\nmodule channel"
},
{
"path": "Automated-Keyway-Modeling/Sample_Output.stl",
"chars": 890638,
"preview": "solid OpenSCAD_Model\n facet normal -1 0 0\n outer loop\n vertex 0.0976334 0 -3.3655\n vertex 0.0976334 0.0244"
},
{
"path": "README.md",
"chars": 260,
"preview": "Replication Prohibited: Attacking Restricted Keyways with 3D Printing\n====\n\nThis repo contains a few hand-created models"
},
{
"path": "Schlage SC1.scad",
"chars": 3244,
"preview": "//BEST G - Model\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
},
{
"path": "custom-models/BEST G.scad",
"chars": 3099,
"preview": "//BEST G - Model\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
},
{
"path": "custom-models/Kwikset KW1.scad",
"chars": 3245,
"preview": "//Kwikset KW1\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t{\n\t"
},
{
"path": "custom-models/Medeco Biaxial.scad",
"chars": 3517,
"preview": "//Medeco Biaxial\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
},
{
"path": "custom-models/Medeco Keymark.scad",
"chars": 4006,
"preview": "//Medeco Keymark\n\n$fn=100;\n\nfunction mm(i) = i*25.4;\n\nmodule bow(bow_length, bow_width, bow_thickness)\n{\n\tdifference()\n\t"
},
{
"path": "data/CEDAR DID04.py",
"chars": 562,
"preview": "#!/usr/bin/python\n\nimport serial\n\ndev = '/dev/ttyUSB0'\nspeed = 19200\n\n\ns = serial.Serial(dev, speed)\n\nwhile (s.read(1) !"
},
{
"path": "data/bestg-cud-1.out",
"chars": 1360,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n"
},
{
"path": "data/bestg-cud-2.out",
"chars": 1260,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n"
},
{
"path": "data/bestg-mp-1.out",
"chars": 1120,
"preview": "-0.010000\n+0.000000\n-0.010000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/bestg-mp-2.out",
"chars": 1430,
"preview": "+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/bestg-mp-3.out",
"chars": 1300,
"preview": "+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/bestg-mp-4.out",
"chars": 910,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n-0.010000\n"
},
{
"path": "data/bestg-wsfp-1.out",
"chars": 750,
"preview": "+0.020000\n+0.020000\n+0.020000\n+0.020000\n+0.000000\n+0.020000\n+0.010000\n+0.030000\n+0.020000\n+0.030000\n+0.030000\n+0.080000\n"
},
{
"path": "data/bestg-wsfp-2.out",
"chars": 1050,
"preview": "+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/bestg-wsfp-3.out",
"chars": 1320,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/bestg-wsfp-4.out",
"chars": 770,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.030000\n+0.030000\n+0.040000\n+0.040000\n+0.030000\n"
},
{
"path": "data/kw1-cud-1.out",
"chars": 1120,
"preview": "+0.030000\n+0.030000\n+0.020000\n+0.000000\n+0.000000\n+0.020000\n+0.000000\n+0.010000\n+0.010000\n+0.010000\n+0.010000\n+0.000000\n"
},
{
"path": "data/kw1-cud-2.out",
"chars": 1370,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-mp-1.out",
"chars": 2020,
"preview": "-0.030000\n-0.030000\n-0.000000\n-0.020000\n-0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-mp-2.out",
"chars": 3480,
"preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-mp-3.out",
"chars": 3190,
"preview": "+0.030000\n+0.020000\n+0.030000\n+0.040000\n+0.150000\n+0.180000\n+0.130000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-mp-4.out",
"chars": 1720,
"preview": "-0.010000\n+0.000000\n+0.000000\n-0.030000\n-0.090000\n+0.000000\n-0.010000\n-0.120000\n-0.230000\n-0.290000\n-0.340000\n-0.320000\n"
},
{
"path": "data/kw1-ns-1.out",
"chars": 2340,
"preview": "-0.020000\n-0.010000\n-0.020000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-rbs-1-bent.out",
"chars": 4774,
"preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n-0.010000\n"
},
{
"path": "data/kw1-rbs-1.out",
"chars": 3259,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-rbs-2.out",
"chars": 3287,
"preview": "-0.010000\n-0.030000\n-0.030000\n-0.000000\n-0.030000\n-0.000000\n-0.010000\n-0.030000\n-0.020000\n-0.030000\n-0.020000\n-0.020000\n"
},
{
"path": "data/kw1-rbz-1.out",
"chars": 2347,
"preview": "+0.290000\n+0.300000\n+0.330000\n+0.340000\n+0.350000\n+0.300000\n+0.270000\n+0.280000\n+0.260000\n+0.270000\n+0.250000\n+0.250000\n"
},
{
"path": "data/kw1-rbz-2.out",
"chars": 2118,
"preview": "+0.020000\n+0.100000\n+0.190000\n+0.360000\n+0.430000\n+0.430000\n+0.300000\n+0.230000\n+0.210000\n+0.230000\n+0.260000\n+0.190000\n"
},
{
"path": "data/kw1-ss-1.out",
"chars": 4027,
"preview": "-0.030000\n-0.040000\n-0.040000\n-0.050000\n-0.050000\n-0.050000\n-0.050000\n-0.050000\n-0.040000\n-0.050000\n-0.060000\n-0.040000\n"
},
{
"path": "data/kw1-ss-2-no-springs.out",
"chars": 2375,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n"
},
{
"path": "data/kw1-ss-2-opened.out",
"chars": 3505,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.020000\n+0.000000\n-0.010000\n+0.000000\n+0.000000\n-0.010000\n-0.010000\n-0.010000\n"
},
{
"path": "data/kw1-ss-2.out",
"chars": 2417,
"preview": "+0.000000\n+0.000000\n-0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-wsfp-1.out",
"chars": 5140,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/kw1-wsfp-2.out",
"chars": 2990,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.030000\n"
},
{
"path": "data/kw1-wsfp-3.out",
"chars": 1840,
"preview": "+0.020000\n+0.020000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.030000\n+0.030000\n+0.000000\n+0.010000\n"
},
{
"path": "data/kw1-wsfp-4.out",
"chars": 1690,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n-0.020000\n-0.010000\n-0.010000\n-0.010000\n"
},
{
"path": "data/notes",
"chars": 2631,
"preview": "=======\nKW1\n=======\n\nwhite strong flexible plastic\nkw1-wsfp-1: eric turned, first turn did not have full key in the slot"
},
{
"path": "data/sc1-cud-1.out",
"chars": 1040,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/sc1-cud-2.out",
"chars": 2330,
"preview": "+0.000000\n-0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.020000\n-0.010000\n-0.020000\n-0.010000\n"
},
{
"path": "data/sc1-mp-1.out",
"chars": 1570,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/sc1-mp-2.out",
"chars": 1020,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.030000\n+0.000000\n+0.030000\n+0.020000\n-0.010000\n-0.030000\n-0.000000\n"
},
{
"path": "data/sc1-mp-3.out",
"chars": 1150,
"preview": "+0.000000\n-0.030000\n-0.030000\n+0.000000\n+0.000000\n-0.030000\n-0.030000\n-0.020000\n-0.030000\n-0.020000\n-0.010000\n-0.030000\n"
},
{
"path": "data/sc1-mp-4.out",
"chars": 1380,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n-0.010000\n+0.000000\n-0.020000\n"
},
{
"path": "data/sc1-wsfp-1.out",
"chars": 2850,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n"
},
{
"path": "data/sc1-wsfp-2.out",
"chars": 1640,
"preview": "+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"
},
{
"path": "data/sc1-wsfp-3.out",
"chars": 2690,
"preview": "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n+0.010000\n"
},
{
"path": "data/sc1-wsfp-4.out",
"chars": 1140,
"preview": "+0.000000\n+0.000000\n+0.030000\n+0.020000\n+0.000000\n+0.000000\n+0.000000\n+0.010000\n+0.000000\n+0.000000\n+0.010000\n+0.010000\n"
}
]
// ... and 2 more files (download for full content)
About this extraction
This page contains the full source code of the ewust/keys GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 57 files (1.0 MB), approximately 464.6k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.