[go: up one dir, main page]

0% found this document useful (0 votes)
306 views16 pages

Adaptive Direct Slicing

The document discusses direct slicing of solid models for rapid prototyping without using an intermediate file format. It proposes that directly slicing the solid model avoids issues with tessellation approximations and reduces file size and preprocessing time compared to current methods that use STL files. Adaptive slicing is also proposed to vary the layer thickness based on surface curvature to reduce staircase effects and number of layers. The process of adaptively directly slicing a solid model from AutoCAD is presented.

Uploaded by

Balu Zerofour
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
306 views16 pages

Adaptive Direct Slicing

The document discusses direct slicing of solid models for rapid prototyping without using an intermediate file format. It proposes that directly slicing the solid model avoids issues with tessellation approximations and reduces file size and preprocessing time compared to current methods that use STL files. Adaptive slicing is also proposed to vary the layer thickness based on surface curvature to reduce staircase effects and number of layers. The process of adaptively directly slicing a solid model from AutoCAD is presented.

Uploaded by

Balu Zerofour
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Adaptive Direct Slicing of the Solid Model for Rapid Prototyping Zhiwen Zhao and Luc Laperrire Universit

du Qubec Trois-Rivires C.P.500, Trois-Rivires, Qubec, Canada G9A 5H7 Luc_Laperriere@uqtr.uquebec.ca Zhiwen_Zhao@uqtr.uquebec.ca Abstract The geometric description used to represent solid objects significantly affects the accuracy and quality of the final parts produced with Rapid Prototyping (RP) technology. The current most common description is a rather straightforward and crude geometric tessellated representation format, known as the STL file. But with the rapid growth of the RP industry, particularly RP toward rapid manufacturing and rapid tooling, there has been a growing dissatisfaction with this format among the RP community. This paper discusses the alternative method of adaptive direct slicing for RP. Direct slicing generates precise contours for each layer from the solid model and avoids an intermediate representation. Adaptive slicing modifies the layer thickness to take into account the curvature of the surface of the solid model in the vertical direction, to alleviate the staircase effect, and to decrease the number of layers. The process for adaptive direct slicing of the solid model from an AutoCAD file is also presented. 1. Introduction Rapid Prototyping, also called Solid Freeform Fabrication (SFF), or Layered Manufacturing (LM), automatically generates physical objects layer-by-layer directly from 3-D CAD data, without conventional manufacturing and tooling processes. Figure 1 shows some possible transferring ways from the CAD model to the RP systems. Geometric information processing for RP consists of two major steps: slicing the geometric description of the part into layers to generate the contours of the part for each layer, and then generating scan paths in each layer in a manner dependent upon the particular RP process. This paper discusses a novel approach to the former step (grayed boxes in figure 1).

In current RP practice, a 3-D CAD model is usually triangulated into an intermediate form, the STL file, which is then sliced in a uniform layer thickness. Each slice becomes the input to algorithms for generation of the paths for material deposition /solidification. This process contributes to two important accuracy issues: tessellation and staircase effect.

Surface Representation Scanning paths RP systems

Solid CAD Model

Slicing

Tessellated Representation

Figure 1: Transfer from the CAD model to RP systems. 1.1 Tesselation

Tessellation is concerned with the unordered set of planar triangles as well as the outward pointing normals of these triangles as found in the STL file. It approximates the surface of the CAD model (figure 2, left). The disadvantages of tessellation are: It is a first-order approximation of the original CAD model and often loses the intent of original design as well as any geometric and topological robustness that the original data might once have had. It is a list of triangles with no topological information, which often induces errors such as: gaps, mixed normals, overlaps, etc. This format carries a high degree of redundancy since each triangle is individually recorded and shared ordinates are duplicated within a file. There is therefore a need to recreate the topology of the CAD model. This has given rise to "verify and repair software which needs more human intervention and slows the production cycle time. The user needs to input the acceptable chordal tolerance (figure 2b, right) which is the distance between the plane of a triangle and the surface it is approximating. Increasing the number of triangles smoothes the surface, but also leads to much larger data files. The user has to balance the accuracy issue with the file size issue, especially for highly non-linear surfaces such as turbine blades or manifolds.

The subsequent slicing of large STL files could take many hours and create numerous small segments to represent the contour of the cross section. These small segments are harmful to laser or nozzle scanning and result in low surface finish and low productivity.

Methods for directly slicing the solid model without going through an intermediate format need to be developed.
Chordal tolerance

Figure 2: Tessellation of a sphere (right) and chordal distance (left). 1.2 Staircase effect

After tessellation, the model is usually sliced into a stack of layers with a plane parallel to the horizontal plane. The boundary of the RP part is then a stepped approximation of the boundary of the original CAD model. Each physical layer is generated as laser/forming head scans the planar profile on the interior of a 2-D slice. As a result of this, all RP parts exhibit a staircase effect along the vertical direction.

Figure 3: Staircase effect.

The slicing procedure directly affects the extent of the staircase effect. The widespread uniform slicing procedure may result in a large staircase effect since it neglects the change in geometry curvature in the vertical direction of the CAD model. For controlling the accuracy of the model and for reducing the staircase effect, adaptive slicing needs to be performed. 2. Review of related work Accuracy was not a significant issue in the early days of RP simply because the parts could only be used for prototyping and design verification purposes. However, improving the accuracy of an RP part has become the focus of the RP community under the increasing need for prototyping functional parts with engineering properties and dimensional tolerances comparable to conventionally produced parts. This has lead to a variety of researches, some of which are presented below. Rock and Wozny (1992) describe a proposed flexible file format for RP. Li (1993) proposes the Rapid Prototype Tool Language (RPTL) to transfer precise CAD control data to the RP machines. It is based on the assumption that the CAD system to be used has the standard sectioning and meshing functions. Cooperation between CAD, RP vendors, and users is required for this to happen. Lutz (1995) discusses data exchange from the CAD system to the RP process, and proposes the so called higher and lower level file formats. Gilman and Rock (1995) investigate the use of STEP to integrate design and rapid prototyping. Vuyyuru at al (1994) present the process for producing parts from an I-DEAS universal file format by sending NURBS data directly to an SLA-250. The NURBS contours need to be segmented for SLA processing. The process relied on IDEAS to do the slicing which makes it package-specific. Ganesan and Fadel (1994) use this NURBS contour generation to offset sliced contours computed directly from the NURBS representation and produce hollow parts as well as simultaneously obtaining smoother surfaces. Guduri and Crawford (1992,1993) propose the generation of contour files directly from CSG representations composed of polygonal, quadric and torus (a fourth degree surface) primitives. Dolenc and Makela (1994) discuss the variable thickness slicing methods for handling peaks, flat areas and staircase effect. Kulkarni and Dutta (1996) present an accurate slicing procedure for layered manufacturing. Jamieson and Hacker (1996) propose to directly slice Unigraphics CAD models, and convert the slice to CLI files. Sabourin (1996) proposes an adaptive high-precision exterior, highspeed interior slicing procedure, based on the STL file. Fadel and Kirschman (1996) overview the accuracy issues of CAD to RP translations. Frank and Fadel (1994) consider the orientation issues to reduce errors.

3. Proposed methodology 3.1 Direct Slicing

Direct slicing of the solid model keeps the geometric and topological robustness that the original data have. Its advantages include greater model accuracy, preprocessing time reduction, checking and repairing routines elimination, and file size reduction. As mentioned above, the 3-D CAD model has to be sliced into a stack of 2D layers for laser/forming head path planning. Direct slicing requires more sophisticated algorithms to produce slices. The slicing function can be inside or outside the CAD modeler system. Most commercial CAD modelers provide the general intersection cross-section functions. It is usually in interactive or macro command mode (see for example the sample program shown in appendix 1). For RP-specific slicing, close cooperation between CAD, RP vendors, and users is needed. It may be advantageous to implement an RP-specific customization of an existing modeler. The developed RP-driven file format and translator should use existing solid modelers in the manner of third party software developers to customize the modeler, rather than the more limited interactive user mode. The necessary libraries and protocols for such development are readily available from the solidmodeling vendors. Extraction of cross-sectional contours is included in such libraries, either as an explicit slicing operation or as a result of the boolean intersection between the object geometry and a plane or a large cube of which one face is the section plane. This customization process requires the following steps: a) Obtain the technical specifications for interfacing to the solid modeler at the programmatic level, rather than simply as an interactive user; b) Formulate the desired computation and interaction in terms of the modelers data structure; c) Output the results of the computation. The full data of the original solid modeler is therefore available and the lost that occurs during tessellation is avoided. 3.2 Adaptive Slicing

The staircase effect is unavoidable in layered manufacturing processes. Decreasing the layer thickness can mitigate it. The simplest slicing procedure uses a constant layer thickness in the whole model (see figure 3). It leads to long manufacturing time and high cost, mainly because it does not consider the 5

geometric information of the model. In fact, some processes cannot handle variable thickness in the manufacturing process. Most RP processes have permissible layer thickness extents: tpmin tp tpmax (3.1)

where tp is the permissible layer thickness depending on the process, tpmin is the minimum manufacturing layer thickness, tpmax is the maximum manufacturing layer thickness. Some common values are: SLA FDM LOM SLS Sanders 0.0025 inch tp 0.030 inch, 0.005 inch tp 0.30 inch, 0.002 inch tp 0.015 inch, 0.003 inch tp 0.020 inch, 0.0005 inch tp 0.005 inch.

tpmin is one of the limits of the RP process. It decides the minimum feature dimension that can be distinguished in the vertical direction. The slicing strategy in this paper consists of two stages: detecting the features of the model, dividing the model into corresponding blocks; optimizing the layer thickness in each block based on the allowable staircase tolerance. 3.2.1 Staircase tolerance definition What is the acceptable staircase tolerance? Dolenc and Makela (Dolenc, 1994) presented the cusp height tolerance concept (see figure 4). The layer thickness tg at a point P is computed based on the cusp height c, within a user-specified cusp height tolerance Cmax. The thickness of a layer can be estimated using the normals along the last slice. If: N=(Nx, Ny, Nz) is the unit normal at the point P, the cusp vector: C=cN must satisfy: ||C||=c Cmax (3.4) 6 (3.3) (3.2)

The next layer thickness tg is computed as:


C R S T / Nz if N z = 0 otherwise

tg =

max

(3.5)

For the faceted model, to obtain min{tg}, i.e. the maximal vertical component Nz, it is required to search the maximum vertical component of the surface normal of the facets along all the contours of each slice. This is a time consuming process, so this method is not well suited for direct slicing. Kulkarni and Dutta (Kulkarni, 1995) presented a method to determine the maximum curvature analytically. Unfortunately, it is limited to parametric algebraic surfaces.

Model

cusp N c Part Figure 4: Cusp height c. P

In this paper, we will assume that for an actual physical part at height Zi, the slice area is Ai; similarly, at height Zi+t, the slice area is A'i. When the slicing layer thickness t is small enough, we define a user-specific relative area deviation ratio :
A i A 'i Ai

(3.6)

When this condition is satisfied, we say the surface contour is consistent from slice to slice at Zi. In other words, the current slice is just slightly different from the preceding slice. If not, there must exist at least a feature at Zi.

A'i

Ai

Figure 5: Illustration of the parameters used in the area deviation ratio. 3.2.2 Detecting the features In order to manufacture the part within allowable tolerance, while at the same time not omitting the features from the model in the slicing procedure, it is necessary to detect the features of the model at first. Usually, the features include flat areas and peaks. A flat area is defined when the surface normal is parallel to the slicing plane normal. That is, when:
A i A 'i Ai

>

(3.7)

or:
A i A 'i Ai

<

(3.8)

We define a positive flat area when the normal coincides with the normal of the slicing plane. A negative flat area occurs when its normal is opposite to the normal of the slicing plane, i.e. there is an overhang. In this case, appropriate

supports must be designed and added to this flat area before an RP process can manufacture it. Peaks are small volumes of material that are often omitted during slicing. A peak is detected when the number of contours changes. In this case the corresponding area changes are compared separately. During slicing extra/open lines may occur when the slicing plane is tangent to a surface of the model. This may result in an unexpected shape in the manufacturing process. The first slice at the bottom must be discarded; otherwise, it will also result in one undesirable layer to the part. Other particular process relevant structures, such as trapping material region, must be detected beforehand.

Negative flat area

Peak

Positive flat area

Figure 6: Model features to be detected beforehand. 3.2.3 Optimizing the layer thickness We now concentrate on finding the maximum allowable layer thickness. In the practical manufacturing process, the changes of layer thickness and other relevant parameters are selected by the machine operator. It may then be necessary to limit the number of times the thickness is changed. The estimated thickness is:

m in t p max ,m in t

kp s

(3.9)

This last equation is suject to: Zk = t x i (3.10)

where Zk is the height of flat area, i is the number of layers. Estimated values below tpmin could be discarded, and t could be set to tpmin. 4. Implementation and example Our objective is to provide a relatively independent development environment for RP geometric information processing in a third party software developer scheme. Our goal is to rely on neither the CAD modeler vendors nor the RP system manufacturers. The system should extract the precise contour information of each layer directly from the solid model, and then generate 2-D path patterns and finally, write to a format file compatible with the machine. 4.1 Requirements

The following are the functions that should be provided in such an environment: a) Read the CAD model from different sources, and reconstruct it; b) Provide simple boolean operations, for instance adding supports to the model; c) Edit (transfer, scaling), merge the model; d) Slice the model in constant or variable thickness, i.e. adaptive slicing; e) Output the sliced contour file ( a neutral format); f) Generate tool paths according to different forming processes, i.e. zigzag, offset or cross-hatch; g) Verify the correctness of the solution by simulation and estimate the building time; h) Output machine-oriented control vector commands file. The RP machine input files should be robust.

10

4.2

Implementation

This approach is implemented using the AutoCAD ARX SDK supported by Microsoft Visual C++. The software configuration is as follows: Windows 95; Microsoft Visual C++ Professional Version 5; AutoCAD ARX SDK Version 1.1.

The overall flowchart is shown in figure 7. The system can directly read AutoCAD B-rep models, import DXF files, or import SAT files from solid modelers which use the ACIS kernel. The major functions include slice, edit (transfer, orient, scale, and merge), path planning, and simulation.
CAD Solid Model with ACIS kernel SAT, DXF files AutoCAD R13 or above ARX libraries

RPWizard RP machine-oriented file RP Machine

Figure 7: Overall flow chart. 4.3 ARX libraries and functionality

The AutoCAD Runtime Extension (ARX) is a new object-oriented application development environment for AutoCAD Release 13 or above. The ARX Software Developers Kit provides Application Programming Interfaces (APIs) for use by application developers:

11

AcBr: Boundary representation query library for solid model; AcCm: Color; AcDb: AutoCAD database; AcEd: Native command definition & notification; AcGi: Graphics interface for entities; AcRx: Runtime class registration & identification; AcTr: Transaction management.

Class AcDb3dSolid provides various methods that are used to create solid primitives and boolean them together much the same way solid objects are created using the AutoCAD command set. The function AcDb3dSolid : :getSlice slices the solid with a plane: Virtual Acad : :ErrorStatus getSlice( const AcGePlane& plane, Adesk : :Boolean getNegHalfToo, AcDb3dSolid*& negHalfSolid) 4.4 Example

The solid model in figure 8 will be used for demonstration purposes. This model was built on ICEM/DDN 3.4. It was imported in AutoCAD R13 using the SAT file format.

Figure 8: Solid model of a shaft.

12

Figure 9:

Uniform direct slicing of the shaft solid model (the number of slices has been decreased in the figure for better clarity).

The results of the uniform and adaptive direct slicing are shown in figures 9 and 10, respectively. Table 4.1 shows a comparison between direct slicing and adaptive slicing, which takes place under the same accuracy, i.e. the maximum relative area deviation ratio between two adjacent slices max is 0.05 units. The range of layer thickness for adaptive direct slicing is from 0.01mm to 0.3mm. The layer thickness for uniform direct slicing is 0.01mm.

Figure 10:

Adaptive direct slicing of the shaft solid model (the number of slices has been decreased in the figure for better clarity).

13

For the shaft model in figure 8, the number of layers for uniform direct slicing is 5715, while the number of layers for adaptive direct slicing reduces to 349. However, the adaptive direct slicing needs two distinct passes of the algorithm: one for detecting the features, the other for the actual slicing. The maximum relative area deviation ratio for the uniform direct slicing reaches 0.097, which is almost twice the one specified for adaptive slicing. Table 4.1 A comparison between uniform and adaptive direct slicing. Method Uniform direct slicing Adaptive direct slicing 5. Conclusions This paper has presented a method for directly and adaptively slicing a solid model in RP. The direct slicing phase generates precise contours for each layer and avoids an intermediate representation (i.e. STL). The adaptive slicing phase uses variable layer thickness considering the local geometrical information. It alleviates the staircase effect and decreases the number of layers. Both direct slicing and adaptive slicing improve the accuracy and surface quality of the final RP parts. The approach also eliminates the verifying and repairing processes, decreases human intervention, increases the robustness of the transfer, slicing and other preprocessing processes. Currently, most RP machines can only be driven by line vectors. The curves resulting from direct slicing must therefore be broken up into short segments and put into the file format that the RP machine can understand. Final results need to be tested on RP machines supporting curves interpolation. For a company using RP technology to take its competitive edge in the world, the design division and manufacturing site (even if they are in different places) need to work together more closely than before. Quick and frequent exchanges of data among them is required. The World Wide Web is a popular and economical tool to share information and hardware resources easily and quickly. In this context, we are currently developing a Web browser interface and RP server. Using this max 0.05 0.05 Layer thickness 0.01mm 0.01mm~0.3mm Number of layers 5715 349

14

tool, clients will upload their 3D CAD models, slice them and generate the tool paths in real-time, and simulate the rapid manufacturing process. They will finally download the resulting path data and send it to their machines to execute the part, or maybe send the path data to another site for third party RP parts making. 6. References Dolenc, A., Makela, I. (1994) Slicing Procedures for Layered Manufacturing Techniques, Computer-Aided Design, Vol. 26(2) February, 1994 pp. 119-126. Fadel, G. M. and Kirchman, C. Accuracy Issue in CAD to RP Translations, The Fist Internet RP Conference: Rapid Product Development. Frank, D. and Fadel, G.M.(1994) Preferred Direction of build for rapid Prototyping Processes, Fifth International Conference on Rapid Prototyping, Dayton, OH. pp. 191-200. Ganesan, K. and Fadel, G.M. (1994) Hollowing Rapid Prototyping Parts using Offsetting Techniques, Fifth International Conference on Rapid Prototyping, Dayton, OH. pp. 241-252. Gilman, C.R. and Rock, S.J. (1995) The Use of Step to Integrate Design and Solid Freeform Fabrication, Proceeding of Solid Freeform Fabrication Symposium, University of Texas at Austin, Texas. Guduri, S., Crawford, R.H., Beaman, J.J. (1993) Direct Generation of Contour Files from Constructive Solid Geometry Representations, Proceeding of Solid Freeform Fabrication Symposium, University of Texas at Austin, Texas. Jamieson R. and Hacker H. (1996) Direct Slicing of CAD Models for Rapid Prototyping, The Fist Internet RP Conference: Rapid Product Development. Kulkarni P, and Dutta D. (1996) An accurate slicing procedure for layered manufacturing, Computer-aided Design, Vol. 28 (9), pp683-697. Li, Jinghong (1993) Precise Rapid Prototyping, Fourth International Conference on Rapid Prototyping, Dayton, OH. pp.349-355. Lutz, Earlin D. (1995) Data Exchange for Solid Freeform Fabrication, NSF Workshop on Design Methodologies for Solid Freeform Fabrication, June 5-6. Sabourin E. (1996) Adaptive high-precision exterior, high-speed interior, layered manufacturing, M. S. thesis, Virginia Polytechnic Institute and State University, Blacksburg, Virginia. Vuyyuru, P., Kirschman, C., Fadel, G.M., Bagchi, A., and Jara-Almonte, C. (1994) A NURBS Based Approach for Rapid Prototyping Realization, Fifth International Conference on Rapid Prototyping, Dayton, OH. pp. 229-240.

15

Appendix 1 : Extracting cross-sections using an AutoLisp program ;;This is a native directly slicing solid model program (setq thickness (getreal "Input slicing layer thickness: ")) (setq object (entsel "Please select slicing object:")) (setq z_val 0) (setq point1 (list 0 0 0)) (setq modelmax (getvar "extmax")) (setq modelmin (getvar "extmin")) (setq zheight (- (caddr modelmax) (caddr modelmin))) (if (> 0 (caddr modelmin)) (progn (command "move" object "" modelmin point1) (command "zoom" "all") ) ) (command "layer" "m" "slice" "c" "red" """") (while (< z_val zheight) (setq z_val (caddr point1)) (setq z_val (+ thickness z_val)) (setq point1 (list 0 0 z_val)) (command "section" object "" "xy" point1) ) (command "layer" "off" "0" "") (command "redraw")

16

You might also like