Edge Blend Overflows   

<<< Edge Blending Options Chapters Face-Face Blending >>>

Contents

[back to top]


76.1 Introduction

A blend overflow occurs when a blend as defined by its basic parameters, would leave one or both of the faces adjacent to the edge being blended.

This configuration can be dealt with by specifying how the blend surface should be modified:

For an example of edge blend overflows, see the code example in the C++\Code Examples\Modelling\Blending\Edge\Recommended Options folder, located in example_applications in your Parasolid installation folder.

 

Related Topics:

[back to top]


76.2 Definitions

76.2.1 Internal and external overflow

The blends can leave either internally, when the blend lies in a face adjacent to the edge being blended to both sides of the overflow,

 

Figure 76-1 Blend overflowing internally

or externally, when the overflow occurs at one end of the blend:

 

Figure 76-2 Blend overflowing externally

76.2.2 Bounds

The overflow bounds are the edges bounding the region of overflow.

 

Figure 76-3 Overflow bounds

76.2.3 Edges

Overflow edges are any other edges at vertices between overflow bounds.

 

Figure 76-4 Overflow edges

76.2.4 Convexity

The convexity of an overflow refers to the relative convexities of the overflow bounds and the edge being blended.

 

Figure 76-5 Overflow convexity

[back to top]


76.3 Overflow types

Overflows can be dealt with by being treated as:

76.3.1 Smooth overflow

Smooth overflow ov_smooth - in the region of the overflow, the blend surface is replaced by an equivalent blend on the face(s) associated with the overflow. This occurs when all the overflow bounds and all the overflow edges are smooth.

 

Figure 76-6 Smooth overflow

76.3.2 Cliff overflow

Cliff overflow ov_cliff - in the region of the overflow, the blend surface is replaced by a (series of) cliff-edge blends running round the region of overflow. For this to be successful all the overflow edges must be smooth, though the overflow bounds need not be smooth.

 

Figure 76-7 Cliff overflow

76.3.3 Cliff end overflow

Cliff end overflow ov_cliff_end - if the configuration is unsuitable for cliff overflow, Parasolid tries to ‘cliff end overflow’ - i.e. replace the appropriate section of the blend by a cliff-edge blend at the ends of the appropriate edges.

76.3.4 Notch overflow

Notch overflow ov_notch - the blend surface remains the same, and the blend is trimmed by extending or trimming the neighboring faces in the notch.

 

Figure 76-8 Notch overflow

76.3.5 Combining different overflows

If you want to give your users more control over the final shape of the blend, you can combine cliff edge or cliff end overflow with other types of overflow. You do this by using the explicit_cliff_edges and explicit_cliff_edges_type options in PK_BODY_fix_blends to control which edges do and do not form cliff-edge blends. In this way you can force a cliff edge overflow in cases where Parasolid would use a smooth or notch solution by default.

Figure 76-9 shows an example where a notch overflow is required to successfully place a blend on an edge, because of a boss on the side of the body. The default solution for this is to create a notch overflow for the entire blend. However, by specifying that the edge shown must be a cliff edge, you can control the blend operation and produce an alternative result.

 

Figure 76-9 Combining notch and cliff-end overflow

Figure 76-10 shows another use of this functionality in which one side of a blend is given a notch overflow, while the other side has a cliff edge overflow: if no explicit cliff edge was specified on the original body, the default solution would have a notch overflow on both sides of the resulting blend.

 

Figure 76-10 Specifying cliff edge overflow and notch overflow on each side of a blend

For more information about controlling the use of cliff-edge blends, see Section 75.3.1, “Creating cliff-edge blends”.

[back to top]


76.4 The default overflow behaviour and influencing tokens

In general, Parasolid attempts overflow in the following order:

The following two sections, “Internal overflows” and “External overflows”, illustrate the different overflow types being used in specific circumstances, and the default conditions which apply in these circumstances.

When an overflow type, other than the default, is required the relevant token must be supplied in the argument properties . These tokens are declared in the typedefs:

The tokens listed in the following tables each have the prefix PK_blend_ov_ (e.g. PK_blend_ov_smooth_no_c).

76.4.1 Tokens for use with PK_EDGE_set_blend_constant

 

Overflow Type

PK_BLEND_ov_... Token to

prevent

allow when same convexity

allow at end

default

Smooth

smooth_no_c

smooth_any_c

 

smooth_diff_c

Cliff-edge

cliff_no_c

cliff_any_c

 

cliff_diff_c

Cliff-edge end

 

 

cliff_end_yes_c

cliff_end_no_c

Notch

notch_no_c

 

 

notch_yes_c

76.4.2 Tokens for use with PK_EDGE_set_blend_chamfer

 

Overflow Type

PK_BLEND_ov_... Token to

prevent

allow when same convexity

default

Smooth

smooth_no_c

smooth_any_c

smooth_diff_c

Notch

notch_no_c

notch_yes_c

 

76.4.3 Tokens for use with PK_EDGE_set_blend_chain

 

Overflow Type

PK_BLEND_ov_... Token to

prevent

allow when same convexity

allow at end

default

Smooth

smooth_no_c

smooth_any_c

 

smooth_diff_c

Cliff-edge

cliff_no_c

cliff_any_c

 

cliff_diff_c

Cliff-edge end

 

 

cliff_end_yes_c

cliff_end_no_c

Notch

notch_no_c

 

 

notch_yes_c

When no allowed overflow type can be created, the blend operation fails.

76.4.4 Internal overflows

For any type of internal overflow to be allowed, there must be one (and only one) overflow edge per vertex, i.e. all vertices between overflow bounds must have 3 edges meeting at them. Internal smooth overflows may flow more than one face away from the blend.

 

Figure 76-11 Internal overflows

The following examples of internal overflows are used to illustrate the expected default behaviour of the particular example, and the behaviour of the example when specific overflow conditions (via tokens) are applied.

76.4.4.1 Internal overflow over a sharp edge

 

Figure 76-12 Blend to overflow a sharp edge of opposite convexity

For this set of conditions the default blend overflow is a cliff-edge overflow.

 

Note: At some point, as the blend radius increases, the cliff edge becomes unstable and at that point the overflow becomes a notch overflow by default. If you want to prevent the cliff-edge overflow changing to a notch overflow then apply the token PK_blend_ov_notch_no_c. This prevents the formation of the notch overflow, with the result that if a cliff edge is not possible the blend operation fails.

 

Figure 76-13 Default conditions creating a cliff-edge overflow

To create a notch overflow the default cliff-edge overflow must overridden. This is managed by supplying the PK_blend_ov_cliff_no_c token to the properties argument (bearing in mind that with these conditions a smooth overflow is not possible).

 

Figure 76-14 Overriding the default to produce a notch overflow

76.4.4.2 Internal overflow over a smooth edge with opposite convexity

 

Figure 76-15 Blend to overflow a smooth edge of opposite convexity

For this set of conditions the default blend overflow is a smooth overflow. It is not possible to produce a notch overflow in these circumstances.

 

Figure 76-16 Default conditions producing a smooth overflow

To create a cliff-edge overflow, the default smooth overflow must be overridden. This is managed by supplying the token PK_blend_ov_smooth_no_c to the properties argument.

 

Figure 76-17 Overriding the default to produce a cliff-edge overflow

76.4.4.3 Internal overflow over a sharp edge with the same convexity

 

Figure 76-18 Blend to overflow a sharp edge of same convexity

For this set of conditions the default blend overflow is a notch overflow. In these circumstances a smooth overflow is not possible, therefore the PK_blend_ov_smooth_any_c token would be ignored (if supplied).

 

Figure 76-19 Default conditions creating a notch overflow

To create a cliff-edge overflow, the token PK_blend_ov_cliff_any_c must be supplied to the properties argument. If a cliff-edge overflow is not possible a notch overflow is attempted. Supplying the PK_blend_ov_notch_no_c token would prevent this notch overflow from being attempted.

 

Figure 76-20 Overriding the default to produce a cliff-edge overflow

76.4.4.4 Internal overflow over a smooth edge with the same convexity

 

Figure 76-21 Blend to overflow a smooth edge of the same convexity

For this set of conditions the default blend overflow is a notch overflow.

 

Figure 76-22 Default conditions creating a notch overflow

To create a cliff-edge overflow, the token PK_blend_ov_cliff_any_c must be supplied to the properties argument.

 

Figure 76-23 Overriding the default to produce a cliff-edge overflow

To create a smooth overflow, the token PK_blend_ov_smooth_any_c must be supplied to the properties argument.

 

Figure 76-24 Overriding the default to produce a smooth overflow

76.4.5 External overflows

External overflows are those cases where the overflowing blend is the only edge being blended at the appropriate vertex.

 

Figure 76-25 External overflow

 

Note: When creating external overflows of the cliff-edge type it is always necessary to specify that the cliff edge is required at the end of the blend by supplying the PK_blend_ov_cliff_end_yes_c token to the properties argument.

The PK_blend_ov_notch_no_c token only applies to internal overflows, and has no effect on external overflow behaviour.

The following examples of external overflows are used to illustrate the expected default behaviour of the particular example and the behaviour of the example when specific overflow conditions (via tokens) are applied.

76.4.5.1 External overflow over a sharp edge

 

Figure 76-26 Blend to overflow a sharp edge of opposite convexity

For this set of conditions the default blend overflow is a notch overflow. In these circumstances smooth overflow is not possible, the token PK_blend_ov_smooth_any_c would be ignored if supplied to the properties argument.

 

Figure 76-27 Default conditions creating a notch overflow

To create a cliff-edge overflow the PK_blend_ov_cliff_any_c token must be supplied to the properties argument. As previously explained, when creating external overflows of the cliff-edge type it is necessary, as in this case, to also supply the PK_blend_ov_cliff_end_yes_c token as the cliff-edge overflow is at the end of the blend.

 

Figure 76-28 Overriding the default to produce a cliff-edge overflow

76.4.5.2 External overflow over a smooth edge with opposite convexity

 

Figure 76-29 Blend to overflow a smooth edge of opposite convexity

For this set of conditions the default blend overflow is a smooth overflow. The notch overflow is not possible in these circumstances.

 

Figure 76-30 Default condition creating a smooth overflow

To create a cliff-edge overflow, the PK_blend_ov_smooth_no_c token must be supplied to the properties argument. As previously explained, when creating external overflows of the cliff-edge type it is necessary, as is in this case, to also supply the PK_blend_ov_cliff_end_yes_c token to allow an end cliff.

 

Figure 76-31 Overriding the default to produce a cliff-edge overflow

76.4.5.3 External overflow over a sharp edge with the same convexity

 

Figure 76-32 Blend to overflow a sharp edge of the same convexity

For this set of conditions the default blend overflow is a notch overflow. The smooth overflow is not possible in these circumstances, therefore the PK_blend_ov_smooth_any_c token would be ignored if it were supplied to the properties argument.

 

Figure 76-33 Default condition creating a notch overflow

To create a cliff-edge overflow the PK_blend_ov_cliff_any_c token must be provided because the convexity is the same, and the PK_blend_ov_cliff_end_yes_c token because the cliff edge is at the end of the blend.

 

Figure 76-34 Overriding the default to produce a cliff-edge overflow

76.4.5.4 External overflow over a smooth edge with the same convexity

 

Figure 76-35 Blend to overflow a smooth edge of the same convexity

For this set of conditions the default blend overflow is a notch overflow.

 

Figure 76-36 Default conditions creating a notch overflow

To create a smooth overflow the PK_blend_ov_smooth_any_c token must be supplied to the properties argument.

 

Figure 76-37 Creating a smooth overflow by supplying token PK_blend_ov_smooth_any_c

To create a cliff-edge overflow the PK_blend_ov_cliff_any_c token must be provided because the convexity is the same, and the PK_blend_ov_cliff_end_yes_c token because the cliff edge is at the end of the blend.

[back to top]

<<< Edge Blending Options Chapters Face-Face Blending >>>