Re: Adaptive slicing problems.

From: Peter de Jager (
Date: Tue Mar 04 1997 - 13:28:34 EET

Raymond Hope wrote:
> Hi all;
> My name is Ray Hope. I've been working on slicing procedures for layered
> manufacturing, and am using layers with sloping boundary surfaces to
> eliminate the stair case effect. I have recently been working on adaptive
> slicing, and have come across some cases that can cause problems. So I
> thought I should call on the greater collective knowledge of the group and
> see if we can come up with some ideas.
> Note I am obtaining the definition of parts from B-spline surfaces. Layer
> error is approximated from the radius of curvature and angle of the
> surface normal.
> Problem 1.
> Joins between two or more surfaces, and vertices can cause the error
> approximation to give incorrect results. Previously published work (by
> others) has tried to solve this problem by slicing the part so that the
> surface joins coincide with layer joins. However this can only work if the
> surface joins are in the same plane as the layers. In many cases where a
> part is defined by two intersecting surfaces, the intersection curve is not
> in the layer plane. So what do we do?

Hello Ray and others interested in this thread,

I have done research in the area of adaptive slicing and generating
layers with ruled edges from BREP geometry. I also calculate the
error from the radius of curvature and angle of the surface normal.

The problem of generating layers with ruled edges is that you use
2 consecutive, parallel contours to generate a ruled surface in between.
So you need to determine how to connect these contours, how to find
a correct starting point on both contours and what the parametrisation
along these contours.

(following is an excerpt of a paper I wrote :)

This is possible by first determining 'segments' in your CAD model.
A very simple and basic way of doing that is to analyze your
CAD model. You have to carry out a surface and curve analysis
to find parting planes to create segments which can be
processed individually.
At sharp edges of the geometric model the assumption that a
local approximation by a circle with radius $R$ can be
made is no longer valid.
Therefore the object must be divided into distinct segments
in such a way that each block can be approximated separately
with a set of layers. Branching and finding of corresponding
contours will cause problems to reconstruct a surface between
successive contours.
Therefore the criteria for the segmentation algorithm using
the BREP model are extrema in the
z-direction of edge-curves between adjacent surfaces and extrema of the
surfaces. This algorithm will find possible problem areas in the
vertical (slicing) direction that can cause the above mentioned
Furthermore vertices of the geometric model (begin- and endpoints of the
edge-curves) indicating possible problem areas are found.

Inspection of edge-curves takes place by means of sampling to find
extrema in
the z-direction. Inspection of surfaces takes place by means of sampling
find horizontal sections. These sections are extrema, i.e. (local)
minima and
maxima in the z-direction of the surface. The list of segmentation
planes is
sorted according to the z-coordinates and the portion of an object
between two
successive segmentation planes is referred to as a 'segment'. The
segments can be processed without further problems.

When you have a segment, you can slice this segment (adaptively) and
connect 2
adjacent successive contours easily becasue all contour parts from one
contour have a corresponding part in the other contour, because they
are originating from the same surface.

> Problem 2.
> The method mentioned above to predict the error, produces a predicted
> error much less than the true value near inflection points. This is
> because at an inflection point the curvature becomes zero, and is also very
> small nearby. So how should we predict error near inflection points?

You can perform a curvature analysis to find these problem areas.
(another excerpt:)
An other approach is to use a two-way approach to ensure that regions
of higher curvature are not missed. First in the upward direction a
new layer thickness is calculated. Secondly in the downward direction
at the new proposed
sliceheight a check-calculation is made. This check-calculation is made
ensure that the proposed layer thickness does not result in exceeding
user-specified $\delta$ in the approximation. This
check is necessary because of a possible changing curvature in
the upward direction of the CAD model.

I hope I have helped you with my comments.

Best regards,

Peter de Jager
Delft University - Industrial Design Engineering

> I look forward to hearing some interesting suggestion from all of you.
> Thanks
> Ray Hope
> Department of Mechanical Engineering
> The University of Queensland
> Brisbane QLD 4072
> Ph +61 7 3365 4179
> Home +61 7 3217 7410
> Facsimile +61 7 3365 4799
> Email:

This archive was generated by hypermail 2.1.2 : Tue Jun 05 2001 - 22:39:24 EEST