Options

 

 

Technical Article


Options may be set to modify the behavior of ACIS. An option's value may be a flag (indicating an on/off state), a number (integer or real number), or a string. Options may be set in a Scheme application (such as Scheme AIDE) using the Scheme extension option:set; or in a C++ application using one of several API functions.

cell_granularity

Action
Determines how connected double sided faces are grouped.

Name String
cell_granularity

Scheme
Type Values Default
string "manifold","face","connected" "manifold"

C++
Type Values Default
char* "manifold","face","connected" "manifold"

Description
This option determines how non-regularized Boolean unite groups all connected double sided faces into cells (CELL2Ds)

The argument to this option is a string. Possible values determine how double sided faces group into CELL2D units:

"manifold" All double sided faces on the same manifold combine into one CELL2D.
"face" All double sided faces yield individual CELL2Ds (smallest grouping).
"connected" All double sided faces that are connected combine into one CELL2D (biggest grouping).
; cell_granularity
; Demonstrate differences in possible groupings
; Example Manifold vs. FACE
; Manifold
(option:set "cell_granularity" "manifold")
(part:clear)
(define s1 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 0) (gvector 0 0 1)10))))
(define s2 (sheet:2d(sheet:face(face:planar-disk
    (position 5 0 0) (gvector 0 0 1)10))))
(define s (bool:nonreg-unite s1 s2))
(define c_list (cell:attach s))
; Determine how many items in c_list
(length c_list)
;; 1

; Face
(option:set "cell_granularity" "face")
(part:clear)
(define s1 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 0) (gvector 0 0 1)10))))
(define s2 (sheet:2d(sheet:face(face:planar-disk
    (position 5 0 0) (gvector 0 0 1)10))))
(define s (bool:nonreg-unite s1 s2))
(define c_list (cell:attach s))
; Determine how many items in c_list
(length c_list)
;; 3

; Example Connected vs. Manifold
; Connected
(option:set "cell_granularity" "connected")
(part:clear)
(define s1 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 0) (gvector 0 0 1)10))))
(define s2 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 10) (gvector 0 0 1)10))))
(define s3 (solid:block (position 0 0 0)
    (position 10 10 10)))
(define s4 (sheet:2d(sheet:face (face:planar-disk
    (position -5 -5 5) (gvector 1 1 0)10))))
(define s (bool:nonreg-unite s1 s2 s3 s4))
(define c_list (cell:attach s))
; Determine how many items in c_list
(length c_list)
;; 2

; Manifold
(option:set "cell_granularity" "manifold")
(part:clear)
(define s1 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 0) (gvector 0 0 1)10))))
(define s2 (sheet:2d(sheet:face(face:planar-disk
    (position 0 0 10) (gvector 0 0 1)10))))
(define s3 (solid:block (position 0 0 0)
    (position 10 10 10)))
(define s4 (sheet:2d(sheet:face(face:planar-disk
    (position -5 -5 5) (gvector 1 1 0)10))))
(define s (bool:nonreg-unite s1 s2 s3 s4))
(define c_list (cell:attach s))
; Determine how many items in c_list
(length c_list)
;; 6

[Top]