Advanced Blending Functionality

From DocR23

Jump to: navigation, search

In the most general sense, a blend is a transition surface between regions of a model. Standard blending, which is embedded within ACIS, offers blends to transition between faces, but Advanced Blending (ABL) provides additional capabilities.

Advanced blending with ABL falls broadly into two categories:

Edge sequence-following
Augments the range of face-face geometries available to standard blending.
Entity-entity
Provides a wholly general framework for blends between faces, edges, and vertices.

Note: The standard blending of the Blending Component provides some support for entity-entity blends to resolve certain difficult blending configurations. However, it does not provide the functionality for defining arbitrary entity-entity blends.


In ABL, variable radius blends may be defined with a more flexible range of radius functions and cross section shapes, and blends between faces and edges (entity-entity blending) may be performed.

ABL handles many more geometric and topological cases than standard blending and also provides many new blend shapes, augmenting the round and chamfer blends available in standard blending. However, the geometry classes (for example, curve and surface types) needed for this functionality are implemented within the Kernel Component, because ACIS based applications that are not linked with ABL must be able to read, write, and evaluate (but not create) the geometries produced by advanced blending operations.

Refer to Geometric Limitation on the Blend Radius.

Contents

Interfaces

Edge Blending Interfaces

  • Interfaces to attach blend attributes to the edges.
API Scheme Extension Component Description
api_smooth_edge_seq blend:get-smooth-edges BlendingGets a list of all edges that smoothly connect to a given edge.
api_smooth_edges_to_curveblend:smooth-edges-to-curveBlendingGenerates a calibration curve fit to a list of edges.
api_set_abh_blendsabl:set-abh-blends
abl:edge-blend
Advanced BlendingSets an implicit variable radius blend on each of a list of edges or vertices.
api_abh_vblendabl:var-roundAdvanced BlendingAttaches variable radius blend attribute with smooth radius variation.
  • Interfaces to fix blend attributes.
API Scheme Extension Component Description
api_fix_blendsblend:fix
blend:network
BlendingApply blend by fixing the attached blend attributes.
api_blend_edges_pos_radsolid:blend-edges-pos-radsAdvanced BlendingBlend edges of a solid by defining position-radius pairs. Attach and fix the blend attributes in a single API call.

Entity Entity Interfaces

This section describes some of the APIs and Scheme commands to perform entity-entity constant and variable radius blending operation.

API Scheme Extension Component Description
api_set_ee_cr_blend abl:ents-ents-blend
abl:ent-ent-blend
Advanced Blending Attaches a constant radius entity-entity round blend attribute between two sets of support entities.
api_smooth_edges_to_curve blend:smooth-edges-to-curve BlendingGenerates a calibration curve fit to a list of edges.
api_set_ee_vr_blend abl:ent-ent-blend Advanced Blending Attaches variable radius entity-entity blend attribute to the body. The blend radius is described by one or two variable radius objects.
api_set_inst_blend abl:set-instruction Advanced Blending Sets a blend instruction on the indicated entity. This is used to govern behavior related to capping, roll-on to new entity.
api_fix_blends blend:fix
blend:network
BlendingApply blend by fixing the attached blend attributes.

Blend Cross Section

A blend surface between two entities has a characteristic shape, which is defined by its cross section. The cross section is a line in the blend surface, which connects the two entities being blended.

In standard blending, a blend surface bridges from one face to another face (for example, does not blend from a face to an edge or an edge to an edge). The cross section shape of the blend is seen by the shortest line along the blend surface from one face to the other.

A round, or circular, cross section creates a pipe-shaped blend surface that is represented as a spline, in general, but under special circumstances is represented as a cylinder or a torus. In standard blending, the blend surface is tangent to each of the faces being blended, and the plane of the cross section is always perpendicular to both of the faces.


A chamfer cross section is a straight line which is controlled by offset distance parameters along each of the surfaces being blended. Under special circumstances, the blend surface is created as a plane or a cone.


In addition to the round and chamfer cross sections described above, the following cross section shapes are also available with ABL:

Elliptical

Cross section shape is a rotated ellipse controlled by major and minor radius and rotation angle parameters.


Rounded Chamfer

Cross section is like a chamfer with a round bulge added. Like the chamfer, it is not tangent to the side surfaces. The bulge may be zero in order to create an ordinary chamfer.


Thumbweights

The normally circular cross section can be given more or less bulge. The surface is still tangent to the side surfaces. Left and right thumbweights can be applied separately.


ABL provides geometry extensions that allow a variety of cross section shapes beyond those available in standard blending.

In standard blending, the plane of the cross section is always perpendicular to both of the faces being blended, but with advanced blending, the plane of the cross section may be lofted to align with a given orientation.


Cross Section Radius

All types of blend surface cross sections are controlled by blend radius parameter values. Varying the parameter values at different positions along the blend surface allows the size of the cross section to change.

In standard blending, the blend radius may be either a constant radius value or an implicit variable radius across the blend, which is specified by providing two radius values at the ends of a smooth edge sequence.

In addition to these two radius specification methods, advanced blending offers the following methods:

  • Radius specified by a series of radius values at arbitrary positions along the blend.
  • Radius specified by a series of parameters along the defining curve for the blend and corresponding radius values
  • Radius varies implicitly, depending on the angle between the side faces, to maintain a constant, or fixed, cross sectional width along the blend.


  • Radius varies implicitly, controlled by the specified holdline Holdline Blending Sample for further details.
 This example illustrates how you can perform a variable radius edge blend using a holdline.

Standard and advanced blending perform automatic smoothing of consecutive two-end functions. Additionally, advanced blending offers automatic stabilizing of discrete-valued radius functions. If parameter values are specified at a few locations, the resulting blend forces the parameter values to change smoothly between the specified points.


Interfaces for Cross Section Radius Object

This section describes some of the C++ APIs and Scheme commands to create variable radius objects for setting attribute in variable radius blends. For example, the variable radius object is used in api_set_ee_vr_blend and api_set_abh_blends.

API Scheme Extension Description
api_make_radius_pos_radsabl:pos-rad Creates a variable radius object from position-radius pairs.
api_make_radius_spline_radabl:spline-rad Creates a variable radius object for a blend whose radius function is specified by a 3D spline curve.
api_make_radius_two_ends abl:two-ends-rad Creates a variable radius object for a blend with the radii specified at the two ends of the blend.
api_make_radius_constant abl:const-rad Creates a vradius object for setting advanced blending attributes for a blend with a constant radius.
api_make_radius_fixed_width abl:fixed-width-rad Creates a variable radius object with a fixed width.
api_make_radius_param_rads abl:make-radius-param-rads Creates a variable radius object from parameter-radius pairs.
api_make_radius_param_rads_tan abl:make-radius-param-rads-tan Creates a variable radius object from parameter-radius pairs.
api_make_radius_rot_ellipse abl:ell-rad Creates a variable radius object with a rotational ellipse cross section.

Topology

Standard blending supports blends between both faces that are adjacent to the blend edge (the blend is tangent to both faces) and has some limited support for blending faces and edges that are remote from the edge.

Advanced blending supports blends between:

  • Both faces that are adjacent to an edge
  • Two nonadjacent faces
  • A face and an edge
  • A vertex and a face
  • A vertex and an edge
  • Two edges

Mitering

Mitering is available only in standard blending and the geometry extensions provided by ABL. For entity-entity blends, the effect of mitering is only possible when distinct sequences can be fixed separately.

Automatic Transitions

With entity-entity blending, blend processing instructions are placed on the model to direct the automatic transition between blend types: from face-face to edge-face or from edge-face to face-face. This only applies to entity-entity blending.

Single Stepping

Blends using ABL may be produced in the same single-step manner as standard blending (using api_concl_blend_ss).

Advanced Chamfering

Unlike Standard Chamfering, Advanced Chamfering provides the functionality for generating chamfers between any type of support surfaces. It also provides a method for specifying the chamfer ranges, which is more aligned with the way rolling ball blends are defined. In Advanced Chamfering, the "ranges" specify the offsets that need to be applied on the supports to obtain the spring points as shown in the image below.

ACIS Blend Constant-Offset-Chamfer-Illus.png

Limitations

  • If the left and right offsets are different, then in some cases the offset of the supports would possibly not intersect each other causing the chamfer operation to fail. For example, if the supports are planes that meet at an obtuse angle and when the offsets (left and right) are different, then the offsets may not meet each other and the chamfer operation would fail.

Interfaces for Advanced Chamfers

This section describes some of the C++ APIs and Scheme commands to perform advanced chamfering operation.

API Scheme Extension Component Description
api_abh_chamfer_edges solid:var-chamfer-edges Advanced Blending Chamfers the given edges. It is a preferred constant offset chamfering interface over standard chamfering interfaces.
api_make_radius_rnd_chamfer abl:rnd-ch-rad Advance Blending Creates the two variable radius objects for a blend with a rounded chamfer cross section.
api_set_abh_blends abl:set-abh-blends Advance Blending Sets an implicit variable offset chamfer on each of a list of edges or vertices.
api_set_ee_vr_blend abl:ent-ent-blend Advanced Blending Attaches variable radius entity-entity chamfer attribute to the body. The chamfer offsets are described by one or two variable radius objects.
api_fix_blends blend:fix
blend:network
Blending Apply blend by fixing the attached blend attributes.

See Also

Personal tools