Component:Faceter

From DocR23

(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 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.

Surface Equation: z=cos(r*r)/1+r*r
Face Quality Level: medium_fine
Surface Equation: z=cos(r*r)/1+r*r
Showing Facets, Face Quality Level: medium_fine
Helicopter Engine, Rendered with Default Visualization Settings


edit  

Faceter Operations


Operation Description
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 Mesh and polyline deletion.
Optional Configuration Ways to customize the mesh you get from the Faceter.


edit  

What's New in Faceter


edit  

Faceter Topics


Getting Started with the ACIS Faceter

Getting Started with the ACIS Faceter describes how to quickly implement code to load and facet a body, and use the resulting facet mesh.

Facet Options

Facet Options control how the mesh is generated. The Facet Options interface allows you to choose a workflow (for instance, visualization), construct a facet_options object for that workflow, and then use this options object to achieve your results.

Mesh Managers

Mesh Managers control how the mesh is output 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 existing MESH_MANAGER or derive its own.

Incremental Faceting

For optimum faceting performance an application facets the entire part only when it is loaded; thereafter, only the modified portions of the model need to be refaceted. Incremental Faceting describes how to implement incremental faceting in your application.

Quad Tree Gridding

Quad Tree Gridding describes the gridding algorithm and provides examples illustrating the improved facet quality.

Faceter Robustness Guidelines

The ACIS Faceter is designed to generate output for almost any input model. 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 models may generate poor output. Faceter Robustness Guidelines describes problems in models that can cause problems during faceting.

Multithreading

Multithreaded Faceting describes how to use multithreaded faceting and its limitations.

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.


edit  

Faceter Interface


C++ Interface

The Faceter supports an API that includes the functions in the following table.

Function Description
api_facet_entity Facets all faces and edges of the given body.
api_facet_entities Facets the specified faces and any edges where both incident faces are included in the input list.
api_get_facet_edge_points Gets edge facet points that were generated when the edge's incident faces are faceted.
api_facet_area Calculates the area of the faceted portion of an entity.
api_delete_entity_facets Deletes facet data when it is no longer of use to an application.

For a more complete description of the Faceter algorithm and interface, refer to Faceting Algorithm and Interface.

For a complete listing of all Faceter API functions, refer to Faceter API Functions.

The behavior of the Faceter is controlled by an options object. For more information, refer to Facet Options.

The output of the Faceter is controlled by a mesh manager. For more information, refer to Mesh Managers.

Scheme Interface

The functionality of the Faceter can be accessed through the Scheme AIDE. For a complete listing of all Faceter-related Scheme extensions, refer to Faceter - Scheme Extensions.

Options

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

Error Codes

Upon failure of a Faceter API function, an error code will be returned that explains the failure and suggests possible actions for correction. For a list of these error codes, refer to Faceter Error Codes. If the Faceter encounters problem situations that do not cause an API failure, it will populate the outcome object with information about the problems. Refer to Faceter Problem Reporting for more details.

Annotations

The Faceter does not alter the geometry or topology of the model; therefore, it does not generate any annotations.


edit  

See Also

Personal tools