-
Notifications
You must be signed in to change notification settings - Fork 0
/
unpuzzler.html
executable file
·113 lines (97 loc) · 4.23 KB
/
unpuzzler.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html>
<html lang="en">
<head>
<link href='style.css' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Oswald:400,700,300' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Playfair+Display:400,700,900' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Vidaloka' rel='stylesheet' type='text/css'>
<script src="fahmina.js" type="text/javascript"></script>
<title>
Fahmina Ahmed
</title>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-53208724-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div class='topbar'>
<span class='mainTitle'>Fahmina Ahmed</span>
<div id='nav'>
<span id='navCursor' class='projects'></span>
<span class='navItem'><a href='index.html' id='navProjects'>PROJECTS</a></span>
<span class='navItem'><a href='bio.html' id='navBio'>BIO</a></span>
<span class='navItem'><a href='resume.html' id='navResume'>RESUME</a></span>
</div>
</div>
<div class='content'>
<div class="projectHeader">
<div class="title">Unpuzzler</div>
<div class="medium">Python script for Blender</div>
<div class="date">January 2014</div>
</div>
</div>
<div class='content fullwidth'>
<div class="slide">
<div class="slideFull">
<img src="img/unpuzzler/u1.png"></img>
</div>
</div>
<div class="fullWidthText" style='margin-bottom: 80px;'>
The unpuzzler is a script I wrote to automate part of my job at Shapeways. It takes as input any STL file and outputs HTML that shows the count of each unique object in the input file.
</div>
<div class="slide nomargin">
<h2>Need for Automation</h2>
<div class="right needSpacer">
<img src="img/unpuzzler/u2_a.jpg"></img>
<img src="img/unpuzzler/u2_b.jpg"></img>
</div>
<div class="left">
<p>
I wrote the unpuzzler to streamline a particularly slow and tedious part of post-processing at a 3d printing factory; sorting out orders.
</p>
<p>
Post Processing includes cleaning and/or polishing and dyeing an order. When one order is comprised of many seperate parts, it is often hard to keep track of them throughout the factory. Before they reach the customer, someone has to sort and regroup all the parts of each order to bag and ship them.
</p>
<p>
We used to have to look at a 3d file of each model and count out the parts in the 3d model and make sure we had each corresponding physical object.
</p>
<p>
This was slow and error prone because it relied on the operator panning around an STL file. It got especially confusing as there could be multiple instances of the same geometry in an order.
</p>
</div>
</div>
<div class="slide">
<div class="slideFull">
<img src="img/unpuzzler/u3.png"></img>
</div>
</div>
<div class="slide">
<div class="slideInner">
<h2>Solution</h2>
<p>
My solution was to write a python script for blender that counts each unique object in a customers STL file. It then spits out an HTML page that presents multiple views of each unique object as well as a count of the number of instances that object appears in the customer's order. The parts appear in order of largest to smallest to make it easier for the sorter to identify.
</p>
<p>
I made a simple GUI that allows the sorting operator to upload the STL file of the customer order they are sorting and run it through the script. When the script is done running, the HTML file automatically pops open in their browser tab. This allows for much faster sorting times.
</p>
</div>
</div>
<div class="slide">
<div class="slideFull">
<img src="img/unpuzzler/u4.jpg"></img>
</div>
</div>
<div class="slide">
<div class="slideFull">
<img src="img/unpuzzler/u5.png"></img>
</div>
<p style='padding-left: 20px;'>For more information about the Unpuzzler, visit my <a href="https://github.com/fahmina">GitHub</a> page.</p>
</div>
</div>
</body>
</html>