You are on page 1of 8

7th IFAC Symposium on Mechatronic Systems

7th
7th IFAC
IFAC Symposium
September on
on Mechatronic
5-8, 2016. Loughborough
Symposium Systems
MechatronicUniversity,
Systems UK
7th IFAC
SeptemberSymposium
5-8, 2016. on Mechatronic
Loughborough Systems
University, UK
September 5-8, 2016. Loughborough University,online
September 5-8, 2016. Loughborough Available
University, UK at www.sciencedirect.com
UK

ScienceDirect
IFAC-PapersOnLine 49-21 (2016) 583–590
3D
3D Printing
Printing onto
onto Unknown
Unknown Uneven
Uneven
3D
3D Printing
Printing onto
onto Unknown
Unknown
⋆ Uneven
Uneven
Surfaces
Surfaces ⋆

Surfaces
Surfaces ⋆
Nils Bausch ∗∗ David P. Dawkins ∗∗ Regina Frei ∗∗
Nils
Nils Bausch ∗∗ DavidDavid P. Dawkins ∗∗ Regina Frei ∗∗
Nils Bausch
Bausch David Susanne
Susanne
P.
P. Dawkins
Klein ∗∗
Dawkins
Klein ∗∗
Regina
Regina Frei Frei
Susanne
Susanne KleinKlein ∗∗
∗∗

∗ University of Portsmouth, Faculty of Technology, School of



∗∗ University of Portsmouth, Faculty of Technology, School of
University
University of
Engineering, Portsmouth,
Anglesea
ofAnglesea
Portsmouth, Faculty
Building, of
of Technology,
Anglesea
Faculty School
School of
Road, Portsmouth,
Technology, of
Engineering,
Engineering, Anglesea Building,
Hampshire,PO1 3DJ, Anglesea
Building, Anglesea
United Kingdom Road,
Road, Portsmouth,
Portsmouth,
Engineering, Anglesea
Hampshire,PO1 Building, Anglesea Road,
3DJ,david.dawkins@port.ac.uk;
United Kingdom Portsmouth,
Hampshire,PO1
Hampshire,PO1 3DJ,
(e-mail: work@nilsbausch.net; United
United Kingdom
3DJ,david.dawkins@port.ac.uk;
Kingdom
(e-mail:
(e-mail: work@nilsbausch.net;
work@nilsbausch.net; david.dawkins@port.ac.uk;
work@reginafrei.ch)
(e-mail: work@nilsbausch.net; david.dawkins@port.ac.uk;
work@reginafrei.ch)
∗∗ Security and Manageability
∗∗ work@reginafrei.ch)
Lab, Hewlett Packard Labs, Long Down
work@reginafrei.ch)
∗∗ Security and Manageability Lab, Hewlett Packard Labs, Long Down
∗∗ Security
Ave,and
Security and
Stoke Manageability Lab, BS34
Gifford, Bristol
Manageability Lab, Hewlett
Hewlett8QZ, Packard Labs,
UnitedLabs,
Packard Kingdom Long Down
Long Down
Ave,
Ave, Stoke (e-mail:
Gifford, Bristol BS34 8QZ, United Kingdom
Ave, Stoke Gifford, Bristol BS34 8QZ,
Gifford, susanne.klein@hpe.com)
Stoke (e-mail: Bristol BS34 8QZ,
susanne.klein@hpe.com)
United
United Kingdom
Kingdom
(e-mail:
(e-mail: susanne.klein@hpe.com)
susanne.klein@hpe.com)
Abstract: Since its inception, 3D printing has seen a wide area of applications, but a general
Abstract:
Abstract: toSince
Since its
its inception, 3D printing
objectshashasseen
not aaabeen
wide area ofyet.
applications,
Nowadaysbut 3D aaascanning
general
approach
Abstract:
approach to its inception,
printing
Since
printing
onto unknown
inception,
onto unknown
3D
3D printing
printing
objects
has
has
has
seen
seen
not
wide
been
area
area of
widetackled
tackled
applications,
ofyet.
applications,
Nowadays
but
but
3D
general
general
scanning
approach
technology
approach to
to canprinting
be
printing usedonto
onto forunknown
reverse
unknown objects has
engineering.
objects has not been
Multiple
not been tackled
axis
tackled yet.
machines
yet. Nowadays
enable
Nowadays 3D
the
3D scanning
creation
scanning
technology
technology
of object layerscan
can at be used
used for
be different reverse
reverse engineering.
for deposition angles, andMultiple
engineering. printing axis
Multiple axis machines
machines
on uneven enable
enableis the
surfaces the creation
creation
achieved by
technology
of object can
layers be
at used
different for reverse
deposition engineering.
angles, and Multiple
printing axis
on machines
uneven enable
surfaces is the creation
achieved by
of
of object
conformal
object layers
printing.
layers at
at different
In this
different deposition
paper, a
depositionnew angles, and
methodology
angles, and printing
is presented,
printing on
on uneven
which
uneven surfaces
combines
surfaces is
is3Dachieved
scanning,
achieved by
by
conformal
conformal
multiple printing.
printing.
axis 3D In
In this
this
printing, paper,
paper,
and a
a new
new
conformal methodology
methodology
printing to is
is presented,
presented,
create an which
which
affordable combines
combines
3D 3D
3D
printing scanning,
scanning,
system,
conformal
multiple printing.
axis 3D In this paper, a new methodology is presented, which combines 3D scanning,
multiple
which
multiple canaxis
axis 3D printing,
deposit
3D materialand
printing,
printing, and
andontoconformal
a priori printing
conformal
conformal unknownto
printing
printing to
create
create an
touneven
create an affordable
affordable
objects.
an
3D
3D printing
A prototype
affordable 3D printing
printingsystem system,
system,
was
system,
which
which can
developed,can deposit
can deposit
deposit
which can material
material
print aontoonto
onto
firstaa priori
alayer unknown
priorionunknown
unknown uneven
uneven
top of a uneven
previously objects.
objects.
unknown A prototype
A prototype
prototype
object. The system
system was
was
creation
which
developed, which material
can print a first priori
layer on top of aa previously objects.
unknown A object. system
The was
creation
developed,
of further
developed, which
layers
which iscan
work
can print
print in a
a first
progress.
first layer
layerTheon
on top of
application
top of a previously
areas
previously for unknown
such
unknown a object.
method
object. The
could
The creation
include
creation
of
of further
further layers
layers is work in progress. The application
printing areas for such aa method could include
repairing
of
repairing layers is
further structures,
structures,is work
workproduct
product
in
in progress.
progress. The
The application
customization,
customization, application
printing
areas
security
areas
security
for
for such
features
such
features a method
on existing
method
on
could include
could objects,
existing include
objects,
repairing
adding
repairing structures, by,
functionality
structures, product customization,
for example,
product printing
printing printing
customization, security
antennassecurity on items, features on existing
and modifying
features on existing objects,
prosthetics
objects,
adding
adding functionality
functionality by,
by, for example, printing antennas on items, and modifying prosthetics
to
to
fit individual
adding
fit functionality
individual
patients.
patients.by, for
for example,
example, printing
printing antennas
antennas on on items,
items, and and modifying
modifying prosthetics
prosthetics
to
to fit
fit individual
individual patients.
patients.
© 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved.
Keywords: 3D printing, 3D scanning, conformal printing, sensors, robotics, control,
Keywords: 3D 3Dsystem
printing, 3D
printing, 3D scanning, conformalconformal printing, sensors, sensors, robotics, control, control,
Keywords:
mechatronic
Keywords:
mechatronic printing, 3D scanning,
3Dsystem scanning, conformal printing,
printing, sensors, robotics, robotics, control,
mechatronic
mechatronic system system
1. INTRODUCTION usual Computer Aided Design software does; for instance,
1. INTRODUCTION
1. INTRODUCTION usual Computer
usual point
using Computer clouds. Aided
One Design
Aided Design software
software does;
of the challenges is to for
does; for instance,
instance,
specify a 3D
1. INTRODUCTION usual
using Computer
point clouds. Aided
One Design
of the software
challenges does;
is to for instance,
specify a the
3D
3D printers generally create objects built from even hor- using point clouds. One of the challenges is to specify a
using
object point
as a clouds.
point One
cloud, of the
which challenges
typically is
onlyto specify
describes 3D
a the
3D
3D printers generally create objects built from even hor- object
object
surface as
as
as a
a point
point
an cloud,
cloud,
object. The which
which
other typically
typically
challenge only
only
is describes
describes
to generate thea
3D
3D printers
izontal layers.
printers generally
Only few
generally create
create objects
very objects
expensive built
built from
andfrom even
sophisticated
even hor-
hor- object as a point cloud, which typically only describes the
izontal layers.
layers. Only few verymaterial
expensive and sophisticated surface
surface
tool path as
as an
an
based object.
object.
on The
The
the pointother
othercloudchallenge
challenge
data. is
is to
to generate
generate a
a
izontal
systems
izontal are
layers. Only
able
Onlyto few
few very
deposit expensive
verymaterial
expensive in and
and sophisticated
uneven and non-
sophisticated surface as an object. The other challenge is to generate a
systems are able to deposit in uneven and non- tool
tool path
path based
based on
on the
the point
point cloud
cloud data.
data.
systems
horizontal
systems are able
layers.
arelayers. to
Most
able Most deposit
of
to deposit material
these systems
material in
inareuneven
are used
uneven and
for non-
print- tool path based on the point cloud data.
horizontal
horizontal layers. Most of these systems used and
for non- The digitisation of an a priori unknown object into a point
print-
ing
ing
electronic
horizontal layers.
electronic Most of
circuits
circuits
and
of
and
these
these systems
similar
systems
similar
are
are used
applications,
applications,used for and
for
and
print-
are The
print-
are The The digitisation
cloud digitisation
can be realised
digitisation
of
of an
of
aa priori
anwith
an priori
a priori
unknown
unknownmethods.
3D scanning
unknown
object
object into
object into
The
into
a point
a point
a point
ing
hence
ing electronic
suitable circuits
electronic circuits and
for high-precision
and similar
similar applications,
small
applications, and
scale structures.
and are
are cloud
cloud can
can be
be realised
realised with
with 3D
3D scanning
scanning methods.
methods. The
The point
point
hence suitable for high-precision small scale structures. cloud databecan
can thenwith
realised be used
3D for further
scanning processing
methods. The and
point
hence suitable
Additionally,
suitablethesefor
for high-precision
systems require small scale
scale structures.
an electronic model cloud
hence
Additionally, these high-precision
systems require smallan structures.
electronic model cloud
aid
cloud in data
data
printing
data
can
can
can
then
onto be
then
then an used
be
be used
object’s
used
for
for
for
further
further
surface.
further
processing
Dependingand
processing
processing and
on
and
Additionally,
of the object these
Additionally, to-be systems
these printed on,
systems require
requirefor thean
an electronic
tool path model
electronic to be aid
model aid in
in printing
printing onto
onto an
an object’s
object’s surface.
surface. Depending
Depending on
on
of the
the object
object to-be printed
printed on, for fordescribes
the tooltoolthepath be aid
to be the budget,
in printing commercially
onto an object’s available 3D
surface. scanning solutions
Depending on
of
generated
of the object to-be
in advance.
to-be printed on,
This paper
on, for the
the tool path
path to
progress
to be the budget,
the budget,
budget, commercially
commercially available
available 3D scanning
3D scanning
scanning line solutions
solutions
generated in advance. This paper describes the progress range
the from simple single-point
commercially availableto sophisticated
3D laser
solutions
generated
made in
generated a in advance.
project focused
in advance. This
Thison paper
building describes
a
paper describes low-cost the progress
system
thesystem for
progress range from simple single-point
single-point to sophisticated
sophisticated line laser
laser
made in
made in aa project
conformal project
printing, focused
focused
able to ondeposit
on building
building aa
layers low-cost
low-cost system
of material for range
for
onto
usuallyfrom
range
usually
simple
accompanied
from
accompanied
by a detector
simple single-point
by aaconvert
detector
to or camera module
to sophisticated
or camera
line
module
and
line laser
and
made in
conformal a project
printing, focused
able toon building
deposit a
layers low-cost
of system
material for
onto usually
a software
usually accompanied
package
accompanied by
to
by a detector
detector theor
or camera
gathered
camera module
data
module and
into
and
conformal
any (unknown)
conformal printing,
printing, able
object.
able to
The
to deposit
idea
deposit is layers
to be
layers of
able
of material
to work
material onto
with
onto a
a software
software package
package to
to convert
convert the
the gathered
gathered data
data into
into
any (unknown) object. The idea is to be able to work with 3D
a surface
software definitions.
package to The accuracy
convert the of these
gathered scans
data is in
into
any
unique
any (unknown)
(unknown) object.
objects, rather
object.thanThe idea
idea is
The working is to be
be able
towith largeto
able work
work with
toproduction
with 3D 3D surface
surface definitions.
definitions. The accuracy
The speed,
accuracy of
of these scans
scans is
these colour, in
isand
in
unique objects, rather than working with large production part
3D dependant
surface on scanning
definitions. The accuracy reflectivity,
of these scans is in
unique
series.
unique Toobjects,
objects, rather
this purpose,
rather than
than working
the system
working with
combines
with large
large3Dproduction
scanning, part
production part dependant
dependant on
on scanning
scanning speed,
speed, reflectivity,
reflectivity, colour,
colour, and
and
series. To this purpose, the system combines 3D scanning, object
part orientation
dependant on in regard speed,
scanning to the reflectivity,
laser and camera. colour, and
series.
data
series. To
To this
this purpose,
processing and Fused
purpose, the
the system
Deposition
system combines
combines 3D
3D scanning,
Modelling (FDM) object
scanning, orientation
orientation in regard to the laser and camera.
data
data
in processing
processing
uneven and Fused
and
non-horizontal Fused Deposition
Deposition
layers, Modelling
Modelling
using varying (FDM) object
(FDM)
deposition object
Turningorientation
objects into
in
in regard
regard
point clouds
to
to the laser
laser and
the makes and camera.
the camera.
object avail-
data processing
in uneven and
uneven non-horizontal Fused
non-horizontal layers, Deposition
layers, using Modelling
using varying (FDM)
deposition Turning
varying deposition objects into point clouds makes the object avail-
in
angles.
in uneven non-horizontal layers, using varying deposition Turning
able for further
Turning objects
objects into
into point
processing
point clouds
clouds makes
and modifications
makes the
the object
object avail-
in software
avail-
angles.
angles. able
able for
for
programs. further
further
The processing
processing
ability to andand
and modifications
modifications
create a digital in
in software
software
object were
angles.
The essence of freeform manufacturing is the ability to cre- programs. able for further
The processing
ability to andand modifications
create aa the
digital in software
object were
Theshapes
essencethat of freeform
freeform manufacturing is usual
the ability
ability programs.
crucial
cre- programs.
to cre- to The
this ability
project,
The project,
ability to to
as and
this
and create
meant
create digital
a the
digital object
transition
object fromwere
from
were
The
ate
The essence
essence of
of freeform from theis
manufacturing
are not derived
manufacturing is the
the ability to
geometrical
to cre- crucial
crucial to this
to this
this project, as this
as this
this meant
meant the transition
transition from
ate shapes that are not derived from the usual geometrical an a priori
crucial to unknown
project, objectas to ameant
knownthe object. Point cloud
transition from
ate
ate shapes
elements
shapeslikethat
like
that are not
rectangles, derived
cuboids,
are not derived from
from the
circles, usual
spheres,
the spheres, geometrical
cylinders
usual geometrical an a priori
an aa priori unknown
unknown object
object to a known object. Point cloud
elements
elements
and such,like rectangles,
rectangles,
whilst still usingcuboids,
cuboids, circles,
circles,
numerically spheres,
controlled tools. an
cylinders
cylinders
data
data
is normally
priori
is unknown
normally object to
transformed
transformed to aainto
known
known
into
object.
meshes,
object.
meshes,
Point
which
Pointis
which is
cloud
then
cloud
then
elements like rectangles, cuboids, circles, spheres, cylinders data
used is
to normally
create tool transformed
paths. into
into meshes, which is then
meshes, which is
and such,
and
This
and
such,
requires
such,
whilst
whilst still using
still
the objects
whilst still
using
using
numerically
to benumerically
numerically
controlled
specified incontrolled than data
tools.
other waystools.
controlled tools. used is normally
to create tool transformed
paths. then
This requires
This requires thethe objects
objects to to be
be specified
specified in in other
other ways than used
ways than The
to
to create
usedpurpose createoftooltool
this
paths.
paths.
project is to develop a proof-of-concept
⋆This requires the objects to be specified in other ways than The purpose of this project is to develop a proof-of-concept
⋆ This work is supported by the University of Portsmouth – Research The
system
The purpose
purposewith of this
this project
ofreduced project is
is to
to develop
capabilities: develop onlyaa proof-of-concept
cylindrical and
proof-of-concept
This work is
⋆ This work
Development isFramework
supported by by the University
(RDF) University
2015. of Portsmouth
Portsmouth – – Research
Research system
system with reduced capabilities: only cylindrical and
⋆ This work is supported
supported by
Development Framework (RDF) 2015.
the
the University of
of Portsmouth – Research system with reduced capabilities: only cylindrical
with reduced capabilities: only cylindrical and and
Development
Development Framework
Framework (RDF)
(RDF) 2015.
2015.
Copyright © 2016 IFAC
2405-8963 © 2016, IFAC (International Federation of Automatic Control) 583 Hosting by Elsevier Ltd. All rights reserved.
Copyright
Copyright
Peer review©
© 2016
2016
under IFAC
IFAC
responsibility of International Federation of 583
583
Automatic
Copyright © 2016 IFAC 583Control.
10.1016/j.ifacol.2016.10.664
2016 IFAC MECHATRONICS
584 Nils Bausch
September 5-8, 2016. Loughborough University, UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590

hemispherical surfaces will be considered. Once successful, tion and tool path generation (Lasemi et al., 2012). The
randomly shaped surfaces will be included, and the idea machined surface is inspected to compare it with the
of on the fly conformal printing may be applied to dif- designed surface to identify errors and then generate tool
ferent additive manufacturing technologies, using a wider paths suitable to eradicate them. Three methods are fre-
range of materials, achieving higher accuracy and faster quently used to generate tool paths: iso-parametric, iso-
production rates. At this stage, the focus is purely on planar and iso-scallop. Lasemi et al. (2012) introduce iso-
feasibility. phote partitioning as an alternative. Generally, the two
most important parameters when generating tool paths
The main steps achieved so far include: modifying a
for freeform surfaces are the path interval (also called side
robotic platform for concurrent sensing and deposition
step / stepover) and the forward step. Optimizing a tool
of 3D printing material using several degrees of freedom;
path also affects the print head alignment in relation to
creating a fixation device able to hold diverse objects in
the object and can lead to a reduction in the number
place; control and programming of the platform; as well as
of commands and path necessary to carry out the same
sensor data acquisition and processing.
action.
The paper is organized as follows: The state of the art in
the research areas of interest is presented in section 2. A
jargon-free introduction to the methodology in section 3 2.3 3D scanning
is followed by an in-depth description in section 4. The
results and lessons learnt from the current system are
Levoy et al. (2000) described a hardware and software
described in section 5, followed by an outlook in section 6.
solution to scan large statues. The researchers employed
laser triangulation and laser time-of-flight rangefinders,
2. STATE OF THE ART
and aligning, merging, and viewing underpinned by soft-
ware. They developed their own software algorithms and
2.1 Conformal printing
hardware set ups and created renderings of large size (up
to 250 GiB) per statue. The laser scanning methods took
It appears that there is currently no solution for conformal
hours or days depending on the surface geometry and
printing onto unknown uneven surfaces or 3D objects,
complexity.
at any scale. The only commercially available solutions
for printing onto known uneven surfaces – aerosol jet Tam et al. (2013) surveyed 3D scanning technology for
printers (Paulsen et al., 2012) – are made for printing small objects, differing between rigid and non-rigid regis-
electronic circuits and requires inks to be transformed into tration. Gathered data can be represented as point clouds
aerosols. Starting at $250k, the printer is not accessible for or meshes commonly composed of triangular shapes of
those with a smaller budget. Moreover, for most industrial varying size, angle and orientation.
applications, not only accuracy but also speed is critical.
Hence the printing technology needs to be scalable for The DAVID laser scanner (Winkelbach et al., 2006;
applications on bigger surfaces than those in electrical DAVID, 2015) utilises a technique called structured light
circuits while maintaining accuracy and repeatability. triangulation (SLS). In principle, this method can use a
single laser line, video camera, the object, and behind it a
Adams et al. (2011) present conformal printing of small calibration panel with a 90° angle as a reference geometry,
electrical antennae onto hemispherical substrates using a including printed control points for distance calculations.
system as previously mentioned. Multiple sweeps, either manually or automated, of the
laser line across the object, will reflect light to the cam-
Choi et al. (2011) modified an industrial FDM system to
era. The scanned object’s surface geometry can then be
increase its degrees of freedom, allowing the machine to
calculated (Aydar et al., 2011), which is carried out by the
perform freeform manufacturing including complex curved
DAVID4 software package. An advanced version of this
shapes and deposition orientations other than horizontal.
replaces the laser with a projector, which projects a line
The system is also able to print onto existing parts.
pattern at close distance onto the object.
However, as with existing aerosol printers, the part surface
needs to be known to generate the tool path.

2.2 Freeform manufacturing 2.4 Point cloud data and mesh conversion

The term freeform manufacturing is often used in conjunc- The output of a 3D scan, or a CAD system for CAM/CNC
tion with 3D printing and additive manufacturing (AM) applications is in general a mesh or point cloud. From this
technologies, as they allow the user to create freeform data, a tool path is generated for the actual machining.
objects. However, these objects are always processed and Chen and Shi (2008) presented a method for tool path
built in (usually) flat horizontal layers, and will therefore generation based on triangular meshes and the proposed
not be reviewed here. Nevertheless, not only AM is used for method can be used to augment and automate freeform
creating objects with unusual shapes. Other technologies surface machining.
used include diamond cutters steered on paths defined by
point clouds Scheiding et al. (2011). Heidrich et al. (2011) Chui et al. (2008) proposed a simple algorithm to generate
use laser ablation and polishing to create freeform optics. a multi-axis tool path for machining. This direct method
for constructing a 3D triangular mesh from the point cloud
To achieve narrower tolerances, freeform manufacturing data created mesh points based on where the machining
using CNC machining has been combined with inspec- tool would contact the object.

584
2016 IFAC MECHATRONICS
September 5-8, 2016. Loughborough University,
Nils Bausch
UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590 585

3. METHODOLOGY

This section describes an ideal workflow to arrive at the


desired outcome: 3D printing an object onto a previously
unknown surface (object). The processes to achieve this
can be broken down into following steps:
(1) Place and fasten an unknown object into a 3D printer.
(2) Scan the unknown object.
(3) Extract point cloud data.
(4) Superimpose the point cloud data with a to-be-
printed new object.
(5) Generate the toolpaths for the 3D printer. Fig. 1. Superimposing a scanned and new object: the black
(6) Print the new object on top of the previously unknown mesh represents the surface of a scanned object, the
object. coloured cone is the surface of a new object to be
printed on top. Clockwise from top left: both objects
In the current state, many of these steps require manual are arranged to intersect; the green line marks the
intervention and the workflow is therefore not fully auto- point of intersection; only the top part of the cone is
mated. The following subsections will detail the approach left to be printed.
taken for each step, without going into minute detail. The
detailed implementation is described in section 4. This step requires a second bespoke software system, which
will carry out superimposing of the objects.
3.1 Placing the object
3.4 Generating tool path data and printing
An unknown object could be of any form and shape and
therefore restrictions are necessary, to conform with the The second bespoke software system is then used to
available overall space of the machine as well as the neces- generate the necessary tool path data required to control
sary printing space for the new object. The unknown ob- the 3D printer. For reasons of simplicity, only printing on
ject should be mounted appropriately, so that the scanning top of an object was considered, ensuring that the print
as well as printing either do not need any further human head does not collide with other printer components.
intervention or as less disturbance as possible. This is in
order to minimise misalignment that could occur due to 4. SETUP AND DEVELOPMENT
scanning and subsequent printing.
Before going into the details of the methodology, the
selected 3D printer and initial setup is introduced.
3.2 Scanning and point cloud data
Several commercially available 3D printing systems were
The unknown object will be scanned inside the 3D printer identified as suitable for this project. These include the
and if necessary rotated to capture all the surfaces that will ‘5AxisMaker’, ‘The BigOne’ and the ‘Ormerod’. The Prusa
be printed on or to improve the scanning procedure. The RepRap i3 was chosen for several reasons: to shorten the
scanning could be carried out by a line-laser or a pattern process of building the prototype, improve its ease of
projected onto the object. A camera captures the reflected use, keep costs low and to benefit from the possibility to
laser light from the object and a bespoke software system modify pre-existing firmware. The printer was converted
is then used to transform this input into point cloud data. to include seven Degrees Of Freedom (DOF) for FDM.
Depending on the scanning method, accuracy and elapsed The DOF include linear movements along the 𝑋𝑋, 𝑌𝑌, and
time can vary. Objects that were considered for scanning 𝑍𝑍 axes as well as angular movements around these in
were limited to hemispherical and cylindrical shapes, as 𝛼𝛼, 𝛽𝛽, and 𝛾𝛾 direction and the extruder output. Further
these shapes were uneven and did not have any concealed benefits of using RepRap 3D printers are open sourced
corners or edges, that could go undetected by the scanning CAD design files, compatible open source firmware, and
method. hardware with a wealth of available information, backed
by a large community.
3.3 Superimposing object data
4.1 Axes and DOF
The previously unknown object data - available as point
cloud data after scanning and turned into a triangular The conversion to a 7 DOF machine was realised by cre-
mesh - is then superimposed with an existing design for ating new and adjusting existing parts of the printer. The
an object that is supposed to be 3D printed, see fig. 1. new parts where designed using FDM rapid prototyping
The remaining parts to be printed of the new object methods, resulting in a stable design with a relatively
are determined by using a boolean intersection operation, high rigidity. The machine layout was adjusted to house
whereby areas of intersection will form the boundaries another three stepper motors for the additional DOF.
from where parts of the new object remain or are deleted The controller hardware driving the stepper motors was
accordingly. The mathematical description of this boolean replaced with a Duet and Duex4, which could control up
operation is: to 9 DOF (𝑋𝑋, 𝑌𝑌, 𝑍𝑍, 𝛼𝛼, 𝛽𝛽, 𝛾𝛾, plus three extruders) and
the firmware replaced with RepRap DC42 and adjusted to
scanned ∩ newcomplete = newintersected (1) operate the 3 rotary DOF about 𝛼𝛼, 𝛽𝛽, and 𝛾𝛾.

585
2016 IFAC MECHATRONICS
586 Nils Bausch
September 5-8, 2016. Loughborough University, UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590

As the system uses the Cartesian coordinate system, the 4.3 Placing the object and calibration
elemental rotations about axis 𝛼𝛼, 𝛽𝛽, and 𝛾𝛾 are obtained
using the arctangent function. New coordinates, for exam- Due to the underlying technique of structured light tri-
ple 𝑥𝑥′ and 𝑦𝑦′ can be decomposed from the rotational axis’ angulation, and how the DAVID4 software determines the
angles and then the offsets obtained from two dimensional surface geometry using a line laser, a removable calibration
rotational matrices: panel was incorporated into to the printer design. This
𝑥𝑥′ cos(𝜃𝜃𝜃 𝜃 𝜃𝜃𝜃𝜃𝜃𝜃𝜃 𝑥𝑥 panel remains in place throughout the scanning procedure.
𝑅𝑅𝑅𝑅𝑅𝑅 𝑅 𝑅 ′ ] =[ ][ ] (2) The main advantage of using this type of 3D scanner
𝑦𝑦 sin(𝜃𝜃𝜃𝜃𝜃𝜃𝜃𝜃𝜃𝜃 𝑦𝑦
and software is the possibility to reproduce the surface
If 5 DOF for a single transformation were used, the geometry quickly and to a high standard precision and
new coordinates and angels could be easily parsed to G- repeatability, ±0.02 mm, using the modified Prusa i3’s
code format, which is a simple and effective method of rotational and linear axes. After initial calibration using
communication for CNC and 3D printers alike (Bourell the calibration panel and the DAVID4 software, the user
et al., 2011; Brown and De Beer, 2013). Although the places an object into the printer’s gripper and secures it
prototype 3D printer has 6 DOF available in the current by fastening the bolts.
implementation (the 7th being material extrusion), it only
supports 5 concurrent DOF at this stage. This means that 4.4 Scanning and point cloud data
one of the rotary axes must always be in its home position
to ensure a perpendicular orientation of the print head in
Once the calibration of the scanner and object placement
relation to the object surface. Currently the user specifies
is complete, the user can semi-automate the scanning
which rotational axes to use, and defaults to 𝛼𝛼 and 𝛽𝛽 if
procedure by using the custom GUI host program to
none are selected.
connect, scan, manipulate, and send toolpaths. After the
The minimum distance to travel on the linear axes 𝑋𝑋, 𝑌𝑌, user clicked ‘setupScan’ the printer returns to its home
and 𝑍𝑍 per stepper motor step are 12.5 μm, 12.5 μm and position and then moves to a suitable location where
0.25 μm respectively. The minimum degrees per step on the user can either start a manual scan (where the user
the rotary axes 𝛼𝛼, 𝛽𝛽, and 𝛾𝛾 are 0.012°, 0.056° and 0.111° controls the laser scanner with manual G-code commands)
respectively. or an automated ‘one click scan’ ,providing DAVID4
is set up as well. If the automated scan method has
The axis speed varies, with the slowest maximum speed been activated the printer will traverse across the 𝑋𝑋 axis
being the 𝑍𝑍 axis at 2 mm s−1 (120 mm min−1 ) with sta- while preforming small rotations around the 𝑌𝑌 axis. This
ble operation, and an acceleration of 50 mm s− 2. The method yields better results from the laser scan than the
fastest axis is the 𝑋𝑋 axis, with a speed of 420 mm s−1 alternative procedure, which was to just traverse across
(25 000 mm min−1 ) over long lengths >100 mm, and an the 𝑋𝑋 axis at a fixed angle, see section 5.4.
acceleration of 2500 mm s−2 . The feed-rate, a G-code pa-
rameter, specifies the maximum speed at which the motors After each scanning procedure has finished, the user can
can move per command, which must be less than the check for satisfactory surface geometry, by visual inspec-
permitted maximum speed and is heavily dependant on tion of the data that was recorded by the DAVID4 soft-
the distance travelled as well as the acceleration used. The ware. The user then decides whether more/better surface
stepper motor control maintains a velocity that ensures all data has to be captured, in which case the scanning proce-
motors arrive at the desired destination at the same time. dure is repeated. Rerunning the scan can enhance the al-
ready captured data. Once multiple scans were performed,
the DAVID4 software fused these different scans into one
coherent object.
4.2 3D scanner and GUI Assuming satisfactory surface geometry was captured, the
user must then ensure no irrelevant artefacts have been
The 3D scanner was integrated into the new 3D printer captured. This is done by visual inspection of the scanned
design and consists of a blue line laser and a monochrome object within the DAVID4 software. Wrongly included
camera, backed by the DAVID4 software. Sweeping mo- artefacts are selected and the points representing them
tions of the laser line across an object’s surface are removed.
recorded by the camera and processed to form point clouds
in the DAVID4 software. The point cloud data obtained from the scanning is
smoothed and averaged during this process using DAVID4
A new host controller software Graphical User Interface software, which is necessary to account for reflected scat-
(GUI) was developed in C# to simplify setup and com- tered light from the object surface. Tests showed, see
munication with the Prusa i3 printer. Other controller section 5.4, that by selecting the appropriate smoothing
software is available, but most included safety features that and averaging filters, DAVID4 was able to reproduce basic
prevented non-standard operation: For example, when ex- geometry to a high standard. The aperture setting on
ecuting print manoeuvres, the 𝑍𝑍 axis will not advance the camera may need to be adjusted to suit the ambient
downwards, or in other cases the G-code format string was light conditions; similarly the absorption, reflectivity and
not recognised. The GUI control software also enables easy emissivity of the object being scanned affect the camera’s
‘one click’ operations to setup/perform for the printer: ability to pick up the laser light. For example, luminous
scanning, printing, slicing, homing, serial enumeration, yellow objects prevent the scanner from working efficiently
offsetting, testing, and manoeuvring. with a blue line laser. This in turn affects the interpreted

586
2016 IFAC MECHATRONICS
September 5-8, 2016. Loughborough University,
Nils Bausch
UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590 587

Fig. 3. The green intersection plane as a result of superim-


Fig. 2. Alignment of the green reference gripper with posing the yellow object to-be printed and the black
the black scanned object and the yellow cone-shaped previously scanned object.
surface mesh of the object to-be printed viewed from
the 𝑍𝑍𝑍𝑍 and 𝑍𝑍𝑍𝑍 plane. forms the first object, and a combined stack of layers from
the scanned object’s surface forms the second object. A
laser line produced via the software, meaning less of the
bounding box enveloping the ‘new’ object is created to
surface is captured.
capture height, width, and depth. The number of layers
At this stage in the project, the scanned objects are limited in the stack is dependant on the printed layer height,
to simple shapes to allow fast prototyping and precision which depends on the 3D printer setup, and the ‘new’
testing. Moreover, the printer and scanner currently has object’s bounding box as limits. Once the layer stack, now
limitations to the angles that can be scanned, brought representing a volume, is created, a boolean intersection
about by the calibration panel remaining in place through- is performed, whereby the common parts of both objects
out the scan, limiting the movement of the object. Another are kept and results, in this case, in a sliced mesh that
limitation is the print head size, which hinders approaches conforms to the object’s surface and forms the new base
to concave corners with sharp angles. of the object to-be printed, as can be seen in fig. 3. The
described method can currently only operate with scanned
Ultimately, after the surface geometry has been captured, surfaces that have no holes in the area of intersection with
the user exports the file as a high density STereoLithog- the to-be printed object, which was visually verified by the
raphy (STL) mesh file, with facets selected in DAVID4 no user.
greater than 0.5 mm.
The remaining components contain the data parameters
4.5 Superimposing object data of the intersection line’s geometry and position (including
length, extrusion width and layer height to calculate ex-
The superposition (or positioning of the object to-be trusion volume) and additional infill data was generated
printed with reference to the scanned object) is carried out as support. Distinct differences to traditional 3D printing
in Rhino/Grasshopper, allowing for easy manipulation and were addressed in intermediate steps. At first, the normal
control. The imported geometries could be, for example, vectors of each point to be printed are calculated to en-
complex planes, complex meshes, surfaces, or point clouds. sure perpendicular material deposition. Then a print ma-
The main function of Rhino/Grasshopper is to slice the noeuvre tool path is created and amended with so-called
to-be printed object and obtain tool path coordinates, in- ISO-hops, non-print manoeuvres, including advancing to
cluding facets and vertices normals, lengths and volume, as a next layer, designed to avoid collisions with the scanned
a part of the object surface geometry. The overall outcome object or previously printed paths. In a last step, polylines
is a tool path consisting of positional coordinates, length consisting of closest points combine print and non-print
of the line segment, and the vertices’ normal coordinates, manoeuvres are smoothed by distributing points with a
and from this the volumetric extrusion can be computed. minimal move distance to eliminate jagged print head
By importing both the object to-be printed and the pre- movements. A simulated 3D printer output can be seen
viously scanned object into Rhino as STL files, one can in fig. 4.
manipulate the scanned object to match up with the
printer’s grippers, which are used as an alignment (see 4.6 Generating tool path data and printing
fig. 2). Importing the gripped object into the workflow of
Rhino allows for visual inspection and alignment, where A second bespoke software program in Python was created
the home (origin) position is unified between the soft- to generate the tool path data required to control the 3D
ware and printer. The tool path is generated relative to printer. This program converts the exported files from
these coordinates. Hence aligning the scanned part with Rhino/Grasshopper into a usable form for 3D printing
the printer’s gripper in Rhino is essential and currently and the GUI program uploads the resulting G-code to the
manually operated. 3D printer. This step translates the generated tool path’s
coordinates into the one used by the 3D printer.
When the scanned object is in position, the user needs to
define a suitable location for the object to-be printed, or The Rhino/Grasshopper exported tool path contains lists
‘new’ object, such that it intersects the scanned object. with the appropriate tool path and data of the normal
Before a boolean intersection can be performed, two vol- vectors. The tool path coordinates (polycurve coordinates)
umetric objects are created: the ‘new’ object’s envelope are looked up in the decomposed mesh list which also

587
2016 IFAC MECHATRONICS
588 Nils Bausch
September 5-8, 2016. Loughborough University, UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590

Fig. 4. A simulated toolpath output used for development


purposes, showing the scanned object as smooth sur-
face and the layers of the ‘new’ object printed on top.
contains the coordinates of all the points in the interested
mesh vertices and their normal coordinates. Normal coor-
dinates are then extracted. These are the normals for each
vertex related to the point on the tool path. Each time
a match is found, atan2, a modified arctangent function
of two parameters 𝑋𝑋 and 𝑌𝑌 is used to obtain the angle of
the vertices’ normal vector. The normal vectors are then
mapped to the printer’s geometry and orientation for each
rotational axis by adding or subtracting 𝜋𝜋 or 𝜋𝜋2 , depending Fig. 5. Modifications (in colour) made to the Prusa i3 to
on the quadrant found by atan2. support 7 DOF.

Using the anti-clockwise rotation matrix in eq. (2) the to create the multi-DOF capabilities. Initially all of these
offsets are then determined (eqs. (5) and (6)) as each axis’ parts were made by FDM to reduce the time from design
rotational angle was known and mapped to the printers to manufacturing for the necessary changes to the Prusa
rotational axis; by determining the quadrant in which i3’s original design. This includes the rotational 𝛽𝛽 axis’
the normal vector lies, the algorithm ensures the printer coupling to the stepper motor. However, the material’s low
rotates in the direction closest to align to the object. rigidity caused the print head to oscillate during normal
The angle about the rotational axis 𝛾𝛾 was calculated with print manoeuvres. The affected parts were then replaced
eq. (4). with machined aluminium parts.
𝜓𝜓 𝜓 𝜓𝜓𝜓𝜓𝜓𝜓𝜓𝜓normal , 𝑥𝑥normal ) (3) Initial concerns with the 𝛼𝛼 axis not providing enough
torque were overcome with the addition of a gear set with
⎧−𝜓𝜓 if 0° ≤ |𝜓𝜓𝜓𝜓 𝜓𝜓°,
{ a ratio of 4.6:1. The 𝛼𝛼 axis is driven by one stepper motor
𝛾𝛾 𝛾 ⎨180° − 𝜓𝜓 if 90° < 𝜓𝜓 𝜓𝜓𝜓𝜓°, (4) installed by the side of the orange base plate (see fig. 5) and
{−180° − 𝜓𝜓 if − 90° > 𝜓𝜓 𝜓 𝜓𝜓𝜓𝜓° actuates the green curved ‘swing’, which carries the motor

𝑥𝑥offset = 𝑥𝑥′ − 𝑥𝑥 (5) for the 𝛾𝛾 axis with the gripper and object. The axis is able
𝑦𝑦offset =𝑦𝑦′ − 𝑦𝑦 (6) to be held securely at 90 ∘ angles using only 50% of the
maximum current. The curved design of this axis gives it a
At this point, it suffices to determine the change of 𝑋𝑋, 𝑌𝑌, relatively high stability, and there is no significant warping
and 𝑍𝑍, after which, depending on the users selection of or angular drift between the motorised side of the 𝛼𝛼 axis
which rotary axes to use, the sum of the user selected and the non-motorised side.
rotational offset coordinates are added to the relative
coordinates on the tool path. 5.2 3D scanner and GUI
By iterating over each point on the tool path in this
manner, the G-code is then saved before being processed The 3D scanning camera was mounted onto the frame
through the printer’s GUI program to upload it. (light blue top left in fig. 5) and the manually switched
blue line laser was mounted onto the 𝑋𝑋 axis (dark blue top
5. RESULTS AND INTERPRETATION right in fig. 5). Tests were performed to determine at what
height the laser would need to be mounted. A distance of
Subsequently, practical aspects of implementation are de- 100 mm showed the cleanest and clearest part of the laser
scribed. A range of encountered issues are reported and line drawn on a flat surface with a length of 173 mm and
current / future improvements explained. therefore resulted in a good coverage of objects mounted in
the gripper. As the distance of the line laser to the object
5.1 Axes and DOF is small, once the laser line focus is calibrated, no further
interaction is necessary. For a fully automated 3D printer,
Figure 5 depicts the outcome of the Prusa i3’s conversion the focus should be fixed, and the line laser controlled by
to a 7 DOF printer. All coloured objects were designed the host controller software.

588
2016 IFAC MECHATRONICS
September 5-8, 2016. Loughborough University,
Nils Bausch
UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590 589

Fig. 7. Detected gripper surface after 3D scanning with a


combined linear and rotary line laser sweep.
instead. Figure 7 shows the results after the interpreted
geometry was smoothed and averaged in DAVID4.
Fig. 6. The calibration panel mounted onto the printer, The camera exposure setting needs to be such that it
showing the gripper in light grey in between. removes noise and is dependent on the ambient light, laser
brightness, distance, beam width, and surface type. A
The GUI software, developed to communicate with the shorter exposure is usually better for noise removal but
modified printer, is work in progress. The current fea- in turn less of the object is captured. Tests in the current
tures include: Connect, open, display available COM ports, setup found 1/640 s to be ideal for fast scans for simple
print, home, home offset, go to home offset, setup scan, shapes, whereas for slower more detailed scans with many
scan, slice (including which additional DOF to print with), passes, the exposure can be set to 1/4480 s.
Cartesian increments in all directions, send line command,
recall previous command, display of current G-code file to 5.5 Superimposing object data
send, printer communication terminal, and temperature
demand. The software addresses, for example, discrepan- The alignment of the scanned part with the reference
cies due to bugs found in the firmware and overcomes gripper in Rhino was carried out manually and was a
restrictions imposed by other 3D printer control software. task that required time and patience. In the future, an
A future version will include the following features: 3D algorithm could be developed to automate the alignment
printing progress, displaying of the tool path, sliced layer of scanned part with gripper in a Grasshoppers workflow.
display for error checking, printing simulation, and current Here the rotation tools and detection of the grippers
temperature graph. shape could be linked together in such a way that the
scanned object gets placed using a ‘best fit’ method, with
5.3 Placing the object and calibration minimal user interaction. In comparison to aligning the
scanned part with the reference gripper, the orientation
The calibration panel for the 3D scan was redesigned for and positioning of the object to-be printed is easy to
easy removal and mounting for the scan procedure, see execute.
fig. 6. The DAVID4 software uses a patterned geometry
to correctly determine the size of the scanned object and The perimeter, that is edge of the intersection, is currently
must be precisely arranged at a 90° angle to determine generated by specifying each point on the tool path from
the correct object surface distances. As the calibration vertices of the mesh line. Therefore high density meshes
pattern is not in the centre, it allowed space for a small have to be used due to the nature of operation. The overall
cutaway enabling rotation about the 𝑍𝑍 axis, 𝛼𝛼, but only if results were accurate.
the gripped object is small enough.
5.6 Generating tool path data and printing
Three manual grippers were designed for object sizes from
approximately 120 × 60 × 50 mm to 40 × 20 × 10 mm.
Once the tool path perimeter has been generated, the
Furthermore, due to the gripper arrangement, the current
print head comes within printing distance of the object,
to drive the 𝛼𝛼 axis’ stepper motor decreased due to a
which is 0.2±0.04 mm. A downside of the current printer
shift in the centre of mass for that axis. In the future,
firmware are jerky movements relating to the acceleration
the construction of the gripper could be further improved,
change rate. With a route / path planner, this could be
ideally with automated object gripping.
limited. The implementation in another firmware (Marlin)
uses the instantaneous change in velocity (the initial and
5.4 Scanning and point cloud data
final speed of a vector in path planning) to generate the
same principle, which could be adopted for future firmware
While scanning, preliminary tests were performed. The
improvements.
mounted laser was tested with two different methods
of scanning: The first method was a linear sweep, with Printing extensive lengths with a single G-code command
the laser angled at −30° on the 𝛽𝛽 axis. The 𝑋𝑋 carriage whilst doing rotary movements does currently not lead to
would traverse and the camera would erroneously capture ideal results. If the movement was to follow a straight line
artefacts and produce steps within the surface topology, whilst rotating around the 𝛽𝛽 axis, the print head nozzle
which occurred at all feed rates. As the linear scanning could dip below or raise above the selected line. This led
method produced anomalies, a second method consisting to the design decision to use very small increments between
of a combination of a rotary and linear sweep was used tool path points, which in turn prevents the nozzle from

589
2016 IFAC MECHATRONICS
590 Nils Bausch
September 5-8, 2016. Loughborough University, UK et al. / IFAC-PapersOnLine 49-21 (2016) 583–590

crashing into the object or going off path. Again, the of a mobile fused deposition modeling system with
firmware could be modified to automatically generate the enhanced manufacturing flexibility. Journal of materials
offsets for the print head if a specific G-code command processing technology, 211(3), 424–432.
was to be used. This way the print head tip would always Chui, K., Chiu, W., and Yu, K. (2008). Direct
remain at the specified Cartesian coordinate. 5-axis toolpath generation from point cloud input
using 3d biarc fitting. Robotics and Computer-
Also in the future, after calibration of the printer, the print Integrated Manufacturing, 24(2), 270 – 286. doi:
head should follow a ‘keep out’ boundary box during the http://dx.doi.org/10.1016/j.rcim.2006.11.004.
movements from its home position to the start of tool path DAVID (2015). DAVID - SLS-2. URL
which would prevent object collisions. http://www.david-3d.com/en/products/sls-2.
Heidrich, S., Willenborg, E., and Richmann, A. (2011).
6. CONCLUSION Development of a laser based process chain for manu-
facturing freeform optics. Physics Procedia, 12, 519–528.
Whilst conformal printing onto previously unknown ob- Lasemi, A., Xue, D., and Gu, P. (2012). A freeform surface
jects is theoretically feasible because all required technolo- manufacturing approach by integration of inspection
gies are available, it is a challenge to compose an affordable and tool path generation. Int. Journal of Production
system that combines all involved elements. This paper Research, 50(23), 6709–6725.
reports on the progress made in an ongoing project aimed Levoy, M., Pulli, K., Curless, B., Rusinkiewicz, S., Koller,
at creating a desk-top printer with all required capabili- D., Pereira, L., Ginzton, M., Anderson, S., Davis, J.,
ties. After explaining the adopted methodology, technical Ginsberg, J., et al. (2000). The digital michelangelo
details of the solution are described, and practical issues project: 3d scanning of large statues. In Proceedings of
are presented together with workarounds. The prototype the 27th annual conference on Computer graphics and
is able to scan an unknown object to gather point cloud interactive techniques, 131–144. ACM Press/Addison-
data, superimpose the data with the object to be created Wesley Publishing Co.
on top, generate a tool path, and print the first layer of Paulsen, J., Renn, M., Christenson, K., and Plourde, R.
the new object onto the existing object. Currently, the (2012). Printing conformal electronics on 3d structures
project team is working on the subsequent layers and with aerosol jet technology. In IEEE Future of Instru-
technical refinements. Future work will include filling in mentation International Workshop (FIIW), 2012, 1–4.
the currently produced perimeter, much in the same way Scheiding, S., Yi, A., Gebhardt, A., Li, L., Risse, S.,
of conventional slicing, using iso-curves, the utilisation of Eberhardt, R., and Tünnermann, A. (2011). Freeform
a SLS projector scanner, and the inclusion of Euclidean manufacturing of a microoptical lens array on a steep
/ Tait-Bryan rotational angle calculations to utilise all 6 curved substrate by use of a voice coil fast tool servo.
DOF. Optics express, 19(24), 23938–23951.
Tam, G., Cheng, Z., Lai, Y., Langbein, F., Liu, Y., Mar-
ACKNOWLEDGEMENTS shall, D., Martin, R., Sun, X., and Rosin, P. (2013). Reg-
istration of 3d point clouds and meshes: a survey from
Our sincere thanks go to the DC42 firmware developer rigid to nonrigid. IEEE Transactions on Visualization
David Crocker from the RepRap community. and Computer Graphics, 19(7), 1199–1217.
Winkelbach, S., Molkenstruck, S., and Wahl, F.M. (2006).
REFERENCES Low-cost laser range scanner and fast surface regis-
tration approach. In Pattern Recognition, 718–728.
Adams, J., Duoss, E., Malkowski, T., Motala, M., Ahn, Springer.
B., Nuzzo, R., Bernhard, J., and Lewis, J. (2011).
Conformal printing of electrically small antennas on
three-dimensional surfaces. Advanced Materials, 23(11),
1335–1340.
Aydar, U., Akyol, O., and Duran, Z. (2011). A low-cost
laser scanning system design. In XXIIIth International
CIPA Symposium, Prague.
Bourell, D., Stucker, B., Chen, Y., Zhou, C., and Lao,
J. (2011). A layerless additive manufacturing process
based on cnc accumulation. Rapid Prototyping Journal,
17(3), 218–227.
Brown, A.C. and De Beer, D. (2013). Development of
a stereolithography (stl) slicing and g-code generation
algorithm for an entry level 3-d printer. In AFRICON,
2013, 1–5. IEEE.
Chen, T. and Shi, Z. (2008). A tool path gen-
eration strategy for three-axis ball-end milling of
free-form surfaces. Journal of Materials Pro-
cessing Technology, 208(1–3), 259 – 263. doi:
http://dx.doi.org/10.1016/j.jmatprotec.2007.12.142.
Choi, J., Medina, F., Kim, C., Espalin, D., Rodriguez,
D., Stucker, B., and Wicker, R. (2011). Development

590

You might also like