SchemeExt:Entity:check
From DocR23
Contents |
Action
Checks the data structure, topology, and geometry on a single or list of entities.
Filename
scm/scmext/intr/chk_scm.cpp
APIs
Syntax
(entity:check entity-list [check-level] [insanity-type] [acis-opts])
Argument Types
| Argument | Scheme Data Type |
|---|---|
| entity-list | entity | (entity...) |
| check-level | integer |
| insanity-type | string |
| acis-opts | acis-options |
Returns
entity | (entity...)
Description
This extension checks an entity or list of entities for bad data or invalidities. The results are printed to a debug file (or standard output) set by the debug:file extension.
By default, checks are performed up to and including the level specified by the option check_level. The range of effective check levels is any integer multiple of 10, between 10 and 70 inclusive; the default value is 20. Any other value is invalid, and the behavior of the Checker may be unpredictable with an invalid check level. Alternatively, the check level may be specified using the argument check-level. This does not alter the value of the option or the default level for future checks.
The option check_abort becomes invalid when insanity-type is specified.
The option show_warning_msg controls whether or not WARNING-severity checks are performed. By default, this option is set to #f (FALSE) in release builds and #t (TRUE) in debug builds.
Refer to the tables in Types of Checks for information on the checks performed.
If improper face-face intersections or improper edge-edge intersections are found (these checks are invoked at level 70), a wire body representing the bad intersections is created for visual inspection. Refer also to solid:check-ff-ints.
For additional information on checking entities, refer to ACIS Checker.
Arguments
- entity-list specifies the particular entities that are to be checked for bad data or invalidities.
- check-level specifies the level (that is, multiple of 10, between 10 and 70) to which checks are performed. The default value is 20.
- insanity-type (optional) specifies the type of insanities that are to be printed. The option values are "ERROR", "WARNING", and "NOTE". The default behavior is to print all types of insanities.
- acis-opts helps enable journaling and versioning options.
Example
; entity:check ; Create solid block 1. (define block1 (solid:block (position 0 0 0) (position 10 10 10))) ;; block1 ; Determine if the entity passes the checks. (entity:check block1) ;; checked: ;; 1 lumps ;; 1 shells ;; 0 wires ;; 6 faces ;; 6 loops ;; 24 coedges ;; 12 edges ;; 8 vertices ;; () ; Create a circular edge with no higher level topology. (define edge1 (edge:circular (position 0 0 0) 25 0 185)) ;; edge1 ; Determine if edge1 passes the checks. (entity:check edge1) ;; entid 1236816: edge without backptr ;; checked: ;; 0 lumps ;; 0 shells ;; 0 wires ;; 0 faces ;; 0 loops ;; 0 coedges ;; 1 edges ;; 2 vertices ;; (#[entity 3 1])