FDM Fabrication For Displacement Mapping

----- Weaving a woolen sweater for the Bunny

Ling Huang                 Chen Shen

 

Abstract

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.

Introduction

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)

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:  

Model fabrication

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:

  1. The size and complexity of the model will directly affect the amount of time required for building.
  2. The FDM has limited space, or envelope size. In most case it is 10in x 10in x 10in envelope. The size of the model should be small than machine¡¯s envelope size. 

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.

Data optimization

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.

Creation of STL file

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.

Processing SML file in QuickSlice

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.

Model orientation

Two things should be considered in this step:

  1. Reduce the deformation of the part during fabrication; QuickSlice will cut the STL file model into horizontal slices. Each slice is extruded as a single layer of material by the FDM hardware to create a physical model. So the part is built layer by layer in Z direction on a horizon base. Every layer will be dropped and bond on each other from a low ¡°Z-lever¡± to a high ¡°Z-level¡±. As shown Figure 4, if the part is oriented in such a direction that is ¡°narrow¡± on horizontal direction and large in Z direction, the part will have a salient deformation when the upper level is dropping and presses the lower level. For this consideration, we should orient the model so that the biggest dimension is in horizontal direction.

Figure 4. Orientation selection of the model
Left: Horizontal configuration; Right: Vertical configuration;

  1. Support structures should be easily removed. Support structures must be designed and fabricated for any overhanging geometries and are later removed in secondary operations. We improved our design by orienting the part in the direction so that minimum support structure was built. Moreover, it is also a heavy task to remove support materials from complex surface parts of the object.

Create slices through the STL file

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.

Create support and base

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.

Create roads

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.

FDM machine operation

There are four basic steps to preparing the FDM machine for running a part.

  1. Set proper temperatures for the FDM nozzle and envelope.
  2. Loading material
  3. Setting the start origin
  4. Build the part  

Getting up to temperature

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. 

Loading Material

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.

Load ¡®Model¡¯ material:

Load ¡®Support¡¯ material:

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. 

Setting the start origin and running the part

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.  

Finishing

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.


Conclusion

 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.