Component:Faceter

From DocR21

(Redirected from Faceting)
Jump to: navigation, search
All Faceter Articles | C++ APIs | Scheme Extensions | Global Options | Error Codes
edit  

Faceter Component


The Faceter Component (FCT) generates and controls approximate polygonal representations. The polygon approximations are used in all active and static rendering, in clearance analysis, and in operations where approximations are acceptable to simplify calculations. You supply a facet_options object to the Faceter that specifies how the polygons should be generated. The ACIS Faceter supports only view-independent faceting.

Faceting generates approximate polygonal representations for the faces of entities while maintaining edge consistency between adjacent faces. Face faceting is performed by subdividing the face in parameter space with a grid whose increments are determined through the facet_options object. This specifies the accuracy of the faceted representation, and also controls the details of how triangulation is performed. The faceted representation of a face is also called a mesh.

Faceting is used by all active and static renderers. The facet options have a significant effect on the rendering process: the tighter the facets, the smoother the rendered surface is. However, the tighter the facets, the slower the rendering process becomes. On the other hand, the looser the facets, the faster the rendering process becomes, but the rendered surface is rougher. Refer to Using Facet Options for more details.

Facet information is not stored in saved files. However, facets can be output through mesh managers to an application-determined data structure, which the application can manage as it sees fit.

z=cos(r*r)/1+r*r
Face Quality 2
z=cos(r*r)/1+r*r
Showing Facets, Face Quality 2
Helicopter Engine, Rendered with Default Visualization Settings


edit  

Faceter Topics


Getting Started with the ACIS Faceter

Main article: Getting Started with the ACIS Faceter


This article describes how to quickly place code into place to load and facet a body, and use the resulting facet mesh.

Incremental Faceting

Main article: Incremental Faceting


For optimum faceting performance, an application facets the entire part only when it is loaded; thereafter, only the changed pieces of the model need to be refaceted. This article describes how to use incremental faceting.

Quad Tree Gridding

Main article: Quad Tree Gridding


The ACIS Faceter gridding algorithm for splines has been rewritten in R21. This section describes the gridding algorithm and provides examples illustrating the improved facet quality.

Journaling and Versioning

Journaling and Versioning are available for Faceter through the standard AcisOptions mechanism. Refer to HowTo: Facet with R20 behavior to learn how to use versioning to disable the R21 Faceter improvements.

Faceter Robustness Guidelines

Main article: Faceter Robustness Guidelines


The ACIS Faceter is designed to generate output for almost any input part. Inevitably, you will find trade-offs between speed and robustness. In order to maintain good performance over a broad spectrum of input models, the Faceter makes very little effort to repair parts for visualization. Instead, the Faceter reports problems it encounters, and as a result, bad input parts may generate poor output.

Mesh Managers

Main article: Mesh Managers


Mesh Managers control how the mesh is streamed to applications. For many uses, the default mesh manager, INDEXED_MESH_MANAGER, is a good choice. If more customized mesh formats are desired, the application may choose another MESH_MANAGER.


edit  

What's New in Faceter

edit  

See Also


edit  

Faceter Operations


Operation Description
Faceter Initialization and Configuration Initialization.
Faceting Entities Ways to facet a model.
Using Facet Data Using the facet data associated with a model.
Saving Facet Data Saving facet information along with the model.
Deleting Facets and Termination Termination; mesh and polyline deletion.
Optional Configuration Ways to customize the mesh you get from the Faceter.


edit  

Faceter Interface


C++ APIs

The C++ Faceter APIs support faceting in several workflows such as:

api_facet_entity(entity); // facets all faces and edges of a body.

and

api_facet_entities(owning body, entities ); // facets the specified faces and any edges where both incident faces are included in the input list.

A few APIs such as

api_facet_area(entity, facet area)

allow access to the resulting facet data and properties. Lastly, functions such as

api_delete_entity_facets(entity, apply to descendants)

may be used to delete facet data when it is no longer of use to an application.

Annotations

Main article: Feature Naming and Annotations


The Faceter component does not generate any annotations.

Options

Important: For historical reasons, some global options can also affect the behavior of Faceter operations. Refer to Faceter global options.


Error Codes

Main article: Faceter Error Codes


Upon failure of a Faceter API, error codes will be returned that explain the failure and suggest possible actions for correction.

If the Faceter encounters problem situations that do not cause an API failure, it will populate the outcome object with error information. Refer to Faceter Problem Reporting for more details.


Personal tools
Live