<<< Edge Blending Functions and Options | Chapters | Interpreting Edge Blending Error Codes >>> |
This configuration can be dealt with by specifying how the blend surface should be modified:
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 31-1 Blend overflowing internally
or externally, when the overflow occurs at one end of the blend:
Figure 31-2 Blend overflowing externally
The overflow bounds are the edges bounding the region of overflow.
Overflow edges are any other edges at vertices between overflow bounds.
The convexity of an overflow refers to the relative convexities of the overflow bounds and the edge being blended.
Figure 31-5 Overflow convexity
Overflows can be dealt with by being treated as:
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.
Cliff overflow
ov_cliff
- in the region of the overflow, the blend surface is replaced by a (series of) cliffedge blends running round the region of overflow. For this to be successful it is necessary that all the overflow edges are smooth, but the overflow bounds need not be smooth.
Cliff end overflow
ov_cliff_end
- if the configuration is unsuitable for cliff overflow, Parasolid tries to 'cliff and overflow' - i.e. replace the appropriate section of the blend by a cliffedge blend at the ends of the appropriate edges.
Notch overflow
ov_notch
- the blend surface remains the same, and the blend is trimmed using the faces in the notch.
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
props
. 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).
Overflow Type | PK_BLEND_ov_... Token to | |||
---|---|---|---|---|
prevent | allow when same convexity | allow at end | default | |
Overflow Type | PK_BLEND_ov_... Token to | ||
---|---|---|---|
prevent | allow when same convexity | default | |
Overflow Type | PK_BLEND_ov_... Token to | |||
---|---|---|---|---|
prevent | allow when same convexity | allow at end | default | |
When no allowed overflow type can be created, the blend operation fails.
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 31-9 Internal overflows
The following examples of internal overflows are used to illustrate the expected default behavior of the particular example, and the behavior of the example when specific overflow conditions (via tokens) are applied.
Figure 31-10 Blend to overflow a sharp edge of opposite convexity
For this set of conditions the default blend overflow is a cliffedge overflow.
Note: At some point, as the blend radius increases, the cliffedge becomes unstable and at that point the overflow becomes a notch overflow by default . If you want to prevent the cliffedge 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 cliffedge is not possible the blend operation fails. |
Figure 31-11 Default conditions creating a cliffedge overflow
To create a notch overflow the default cliffedge overflow must overridden. This is managed by supplying the PK_blend_ov_cliff_no_c token to the
props
argument (bearing in mind that with these conditions a smooth overflow is not possible).
Figure 31-12 Overriding the default to produce a notch overflow
Figure 31-13 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 31-14 Default conditions producing a smooth overflow
To create a cliffedge overflow, the default smooth overflow must be overridden. This is managed by supplying the token PK_blend_ov_smooth_no_c to the
props
argument.
Figure 31-15 Overriding the default to produce a cliffedge overflow
Figure 31-16 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 31-17 Default conditions creating a notch overflow
To create a cliffedge overflow, the token PK_blend_ov_cliff_any_c must be supplied to the
props
argument. If a cliffedge 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 31-18 Overriding the default to produce a cliffedge overflow
Figure 31-19 Blend to overflow a smooth edge of the same convexity
For this set of conditions the default blend overflow is a notch overflow.
Figure 31-20 Default conditions creating a notch overflow
To create a cliffedge overflow, the token PK_blend_ov_cliff_any_c must be supplied to the
props
argument.
Figure 31-21 Overriding the default to produce a cliffedge overflow
To create a smooth overflow, the token PK_blend_ov_smooth_any_c must be supplied to the
props
argument.
Figure 31-22 Overriding the default to produce a smooth overflow
External overflows are those cases where the overflowing blend is the only edge being blended at the appropriate vertex.
Figure 31-23 External overflow
Note: When creating external overflows of the cliffedge type it is always necessary to specify that the cliffedge is required at the end of the blend by supplying the PK_blend_ov_cliff_end_yes_c token to the
props
argument.The PK_blend_ov_notch_no_c token only applies to internal overflows, and has no effect on external overflow behavior. |
The following examples of external overflows are used to illustrate the expected default behavior of the particular example and the behavior of the example when specific overflow conditions (via tokens) are applied.
Figure 31-24 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
props
argument.
Figure 31-25 Default conditions creating a notch overflow
To create a cliffedge overflow the PK_blend_ov_cliff_any_c token must be supplied to the
props
argument. As previously explained, when creating external overflows of the cliffedge type it is necessary, as in this case, to also supply the PK_blend_ov_cliff_end_yes_c token as the cliffedge overflow is at the end of the blend.
Figure 31-26 Overriding the default to produce a cliffedge overflow
Figure 31-27 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 31-28 Default condition creating a smooth overflow
To create a cliffedge overflow, the PK_blend_ov_smooth_no_c token must be supplied to the
props
argument. As previously explained, when creating external overflows of the cliffedge 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 31-29 Overriding the default to produce a cliffedge overflow
Figure 31-30 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
props
argument.
Figure 31-31 Default condition creating a notch overflow
To create a cliffedge 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 cliffedge is at the end of the blend.
Figure 31-32 Overriding the default to produce a cliffedge overflow
Figure 31-33 Blend to overflow a smooth edge of the same convexity
For this set of conditions the default blend overflow is a notch overflow.
Figure 31-34 Default conditions creating a notch overflow
To create a smooth overflow the PK_blend_ov_smooth_any_c token must be supplied to the
props
argument.
Figure 31-35 Creating a smooth overflow by supplying token PK_blend_ov_smooth_any_c
To create a cliffedge 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 cliffedge is at the end of the blend.
<<< Edge Blending Functions and Options | Chapters | Interpreting Edge Blending Error Codes >>> |