Ling Huang Chen Shen
In this report, we summarize what we have done in the CS294,
Rapid Prototyping, course project --- Uniform Displacement Mapping. Our main
objective is to fabricate a complex model with tiny detail on it. To achieve
this aim, we first generated a uniform quadrilateral mesh for the input model
and then used Displacement mapping techniques to add the tiny details (woolen
pattern) onto the surface. The technical details about mesh generation and
Displacement mapping are described in CS284 course project report. Differently,
this report will focus on the fabrication techniques. Compared with rendering,
fabrication has much more limitation for the input geometry model. To make our
Displacement mapping results suitable for the fabrication, we tried to reduce
the amount of data, select more proper parameters in QuickSlice, and finally
fabricated some interesting models with tiny details.
In Rapid Prototyping course, we learned how to fabricate a geometry model in a Rapid Prototyping pipeline. We also learned to operate the FDM machine and its corresponding software, QuickSlice. We got to familiar with the STL, SSL, and SML data format. After a semester¡¯s study, we know the whole process of the Rapid Prototyping fabrication.
One of the main objectives for this course is to fabricate complex model on the Rapid Prototyping machine. There have already been a number of studies on how to generate elaborate geometry model by complex computation and equations. However, no one has tried to push the Rapid Prototyping pipeline in a different way which is to add tiny details on an ordinary object. Our basic idea for this course project is from this direction.
In our real life, most objects can be regarded as having smooth or piecewise smooth surface. Current techniques of Rapid Prototyping can successfully to simulate those surfaces. However, most objects in real world don¡¯t have actually perfect smooth surfaces, but with tiny details on them. In computer graphics, for the purpose of rendering, three techniques are used to simulate such kind of surfaces, Texture mapping, Bump mapping and Displacement mapping. However, Texture mapping and Bump mapping are only for the purpose of rendering. Displacement mapping is actually changing the geometry model by adding new vertexes and facets into it. So it¡¯s a suitable technique for our Rapid Prototyping purpose.
We created a height
field of woolen pattern by a triangular patch. Based on this basic patch, we
developed algorithms for patch deformation and seam blending. To map this basic
patch onto the surface of input model, our solution is first to generate a
uniform quadrilateral mesh of the original model, and than translate, rotate
and deform the basic height map patch to each quadrilateral facet. Our
algorithm to generate the uniform quadrilateral mesh is based on the boundary
voxelization of the original model. We tried two different schemes to convert voxel
representation to the quadrilateral mesh. Compared with global optimization
solution for mesh generation, our algorithm is efficient and automatic,
although neither of them is perfect uniform.
The technical details about mesh generation and Displacement
mapping are described in CS284 course project report. In this report, we focus
on the fabrication issues, especially on the problems of data amount reduction,
parameter selection and fabrication operations.
Fused Deposition Modelling (FDM) is a rapid prototyping process to fabricate three-dimensional objects directly from a CAD model.
Our FDM system comes from Stratasys Company. It consists of a main 3-D Modeller unit and the slicing software---Quickslice. In the 3-D Modeller unit there is a double extruder head. One nozzle carries the build material, the other carries a support materials which can easily be removed afterwards. When the nozzle moves over the table according the required geometry, it deposits a thin string of plastic to form each layer. The plastic hardens immediately and bonds to the layer below. String by string and layer by layer, the model will be built in a few hours.
The models are created from some CAD system, for example from Slide or SolidWorks, as a solid or surface model. The model is then converted into an .STL file and sent to the Quickslice. Quickslice slices and orients the conceptual model into horizontal layers for the build process, creating an .SSL file. Supports are created if required by the geometry and sliced as well. Then roads that the head will move through are created. The road converted into an .SML file that contains actual instruction codes for the FDM machine. The nozzles, controlled by a computer along three axes, guide the specific material to build the model
Our project,
fabricating Bunny with woolen sweater by FDM machine can be decomposed into the
following sections:
The first step in operating the Fused Deposition Modeling (FDM) machine is to prepare an appropriate model. Following things we should consider when selecting model:
Start with a simple model, a torus, we experimented our displacement mapping results on the Rapid Prototyping pipeline. Figure 1 shows the torus model with tiny detail by our displacement mapping scheme.


Figure 1. Torus model with tiny detail by displacement mapping.
All the following descriptions are based on this torus model. From CS284 course project report, we know that we created a number of different models which can be fabricated using the same steps.
The FDM machine is driven by a computer. All the models to be built should be transferred to the computer. The hard disk and memory of the computer are limited. The model to be built should be no more than 30M in storage.
We should elaborately set size of the model: if the model is too small, the tiny detail on the model cannot be observed clearly; if the model is too large, it will cost a long time for the FDM machine to built it. And it will consume a great deal of material.
As shown in Figure 2., we first used 18x18 point array to describe the height field of the woolen sweater pattern. This height field consists of 17x17x2 = 578 triangles. After displacement mapping, the height field will be mapped onto every patch. If a model consists of 100 patches (certainly, it¡¯s a small and rough surface), the data of the result will be 57800 triangles! Moreover, there are only perpendicular edges which look too sharp to simulate the woolen sweater pattern in the real world.


Figure 2. Height Field composed of 18x18 points
After we got the advice from professor Carlo Sequin and carefully analyzed the height field, we reduced the point array describing the height field to 12x12 and the angles between triangles are 0 or 45, as shown in Figure 3. Those make the height field have smaller data and look more like woolen sweater pattern.


Figure 3. Optimized Height Field composed of 12x12 points.
The STL file format is used in the FDM software, QuickSlice, to build parts. The STL file format breaks part features into small triangles. These triangles are translated into surfaces by the FDM software. In our case, all our model and the tiny details on it are represented by little triangles. Those triangles are resulted from patch generation and displacement mapping. The size of those triangles is suitable to balance the overall shape and tiny details. What we need to do is to output all triangles in the format of STL. Although we were familiar with SLIDE which can create STL files, our models are too huge for SLIDE to handle. So we wrote a STL converter from our own data format by ourselves.
SML file consists of codes produced by QuickSlice guiding the extruding head to build the part. Building times on the FDM may vary considerably depending on the part size, complexity, and software configuration. For the purpose of Rapid Prototyping which should be efficient and economical, we should build the part with as little time and material as possible.
Two things should be considered in this step:

Figure 4.
Orientation selection of the model
Left: Horizontal configuration; Right: Vertical configuration;
The geometry of a part can be read into QuickSlice by STL
file. It will be sliced with a given resolution. Each slice consists of one or
more curves that follow the shape of the part at that particular height. The default slice height is 0.01 inch, which is
the vertical spacing of successive layers. After slicing, we can check each of
the slices created by clicking on the Z level arrows to look for potential
problems. There are no curves will be displayed in yellow. Those slices are
ready for creating road. Then the part can be saved as an SSL file. Figure 5
shows the slices of the torus.


Figure 5. Slices of the torus.
Because our models have a lot of tiny details on the surface, the support structure will be very complex and ¡°weave together¡±. It takes a long time for QuickSlice to calculate the supports (for the torus, it took 4 hours). We think it will also be very difficult for us to remove the support. See to the support and based of the torus in Figure 6.



Figure 6. Support and Base of the torus.
Roads are the FDM¡¯s version of toolpaths. They are the actual paths that the head of the FDM will go through in building a particular geometry. These roads follow the shapes of slice curves. The parameter to create road may be modified extensively for the entire file or for discreet sections of the file.
For our model, we would like it have beautiful shape, with tiny detail on the surface. We care nothing about what is the interior of the model. So we can use loose pattern to fill inside of the model. This method can help us reduce both the building time and the material used. Figure 7 shows the roads created with two different configurations, one is loose fill pattern and the other is dense.






Figure 7.
Roads configuration for torus.
Upper: loose fill pattern inside; Lower: dense fill pattern inside;
Table 1 illustrates the compare of fabricating time and consuming material between loose and dense configuration.
Table 1.
|
|
Time |
Filament Usage |
Material Used |
|
Dense pattern |
17 hr. 58 min. |
310 inch |
1.19 cubic inch |
|
Loose Pattern |
11 hr. 26 min. |
116 inch |
0.45 cubic inch |
From the Table 1, we can easily find that loose pattern configuration has much more advantage than dense configuration. It¡¯s wise for us to setup the roads pattern as the loose one.
Figure 8 is the parameter setup for the loose fill pattern.

Figure 8. Parameter setup for the loose fill pattern.
We should go through each layer to view the created roads to
check whether the road is good enough for fabrication. Once
the roads are satisfactory, we can save them by writing the SML file.
There are four basic steps to preparing the FDM machine for running a part.
When the nozzle moves over according the required geometry, the material is heated and melted in the nozzle. The nozzle deposits a thin string of plastic to form each layer. The plastic hardens immediately and bonds to the layer below. For this reason, it is fundamental for the FDM machine to keep its temperature at a given value. The FDM running temperatures are dependent on the respective materials being used.
Every time when we open the door of the coven, the temperature will decrees and we should be careful to wait until the temperature come back.
The FDM material should still be loaded properly after the previous user. But we should follow the routine to verify that the materials are loaded and ready to go.
After doing this, use the brush to clean the expelled
material from both nozzle tips. The materials are now loaded and ready for part
building.
After the file has been downloaded to the machine, the FDM will remain idle (pause button flashing), waiting us to initiate the origin set-up routine. We should move the head with the manual x-y-control to a initial origin, which is the front left corner of our actual build area
Press the ¡®Pause¡¯ button one last time to start the part.
If the FDM does not begin a cleaning and running sequence
after pressing the Pause button, wait a few seconds and press the Pause button
again.
Use fingers, scraping tools, picks, pliers, and/or clippers to gently pry and break the support material away. We finally got a perfect object with tiny detail.
From this course project, we learned the basic idea of Rapid Prototyping much more deeply and solid. By using uniform quadrilateral mesh generation and displacement mapping techniques, we created some interesting models with tiny details. To fabricate these kinds of models is a new trying to push the Rapid Prototyping pipeline with complex objects. Because the amount of data in our displacement results is extremely huge, we tried a number of special solutions to reduce the data amount and configure the parameters in QuickSlice with suitable values. Finally, we successfully fabricate our models with tiny detail. After those interesting experiments, we are more familiar with the whole pipeline of Rapid Prototyping, especially with its basic purpose of efficiency and economy.
Unfortunately, we didn¡¯t create the Bunny model with the woolen sweater pattern within the due date. Mainly because, there are some big holes on the Bunny surface and we couldn¡¯t find a proper solution to fix them up. However, QuickSlice cannot build slices for an open object. So we were stopped at the SSL creation step of the pipeline. If we haven enough time, we¡¯d like to fix up the holes on the Bunny surface. Hopefully, the Bunny can ware a woolen sweater after that.