The 3D ACIS® Modeler (ACIS) is Spatial’s prominent 3D solid modeling engine. 3D InterOp is a CAD data translation framework (Interoperability)

HowTo:Check a non-tolerant VERTEX or EDGE for tolerance errors?

From DocR19

Jump to: navigation, search

Use api_tolerize_entity with appropriate options set in the tolerize_entity_opts object. This API finds all the edges and vertices in an entity which have gaps larger than resabs and tolerizes them. The Scheme extension is entity:tolerize. Refer to the technical article Tolerant Modeling.

Contents

Signature

DECL_KERN outcome api_tolerize_entity(ENTITY* ent, tolerize_entity_opts* opts=NULL, AcisOptions* ao=NULL);

Header Files

#include "kernapi.hxx"
#include "tolerize_ent_opts.hxx"

Example

ENTITY *pEntity = something;
 
tolerize_entity_opts opts;
opts.set_report_gaps(TRUE);
tolerize_entity_opts *my_opts = &opts;
 
AcisOptions* ao = some_acis_opts;
 
ENTITY_LIST affected_entities;
ENTITY_LIST new_entities; 
 
outcome res = api_tolerize_entity(pEntity, my_opts, ao);
 
if (res.ok())
{
    my_opts->get_affected_entities(affected_entities);
    affected_entities.init();
    ENTITY *ent = NULL;
    while ((ent = affected_entities.next()) != NULL)
    {
        new_entities.add(my_opts->remap_ptr(ent));
    }
}

Scheme Commands

(entity:tolerize ent)

Notes

To avoid errors, it is important parts to be tolerized do not have edges which are small relative to the new tolerances.

Related Content

See also: :Category:FAQs
Personal tools