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

Option:Cell granularity

From DocR19

Jump to: navigation, search

Contents

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

Example

; cell_granularity 
; Demonstrate differences in possible groupings 
; Example Manifold vs. FACE 
; Manifold 
(option:set "cell_granularity" "manifold") 
(part:clear) 
(define s1 (sheetface(face:planar-disk (position 0 0 0) (gvector 0 0 1)10)))) 
(define s2 (sheetface(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 (sheetface(face:planar-disk (position 0 0 0) (gvector 0 0 1)10)))) 
(define s2 (sheetface(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 (sheetface(face:planar-disk (position 0 0 0) (gvector 0 0 1)10)))) 
(define s2 (sheetface(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 (sheetface (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 (sheetface(face:planar-disk (position 0 0 0) (gvector 0 0 1)10)))) 
(define s2 (sheetface(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 (sheetface(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
Personal tools