Option:Lop check invert
From DocR21
Contents |
Action
Controls the checking of invalid faces made in LOP.
Name String
lop_check_invert
Scheme
| Type | Values | Default |
|---|---|---|
| boolean | #f, #t | #t |
C++
| Type | Values | Default |
|---|---|---|
| logical | FALSE, TRUE | TRUE |
Description
When this option is on, LOP checks faces and prevents invalid (inverted or inside-out)body faces from being made. If this option is off, body faces may be made and subsequently repaired using the Repair Body Intersections Component.
Example
; lop_check_invert ; Allow inverted face, then repair body (define b1 (solid:block (position -25 -25 -25) (position 25 25 25))) ;; b1 (define b2 (solid:cylinder (position 0 0 0) (position 0 0 50)10)) ;; b2 (solid:subtract b1 b2) ;; #[entity 2 1] (render) ;; () ; Pull hole out of block into a boss, switch off ; lop_invert_checking so invalid inverted body face ; can be made (option:set "lop_check_invert" #f) ;; #t ;;Turn off the rbi option in lop_options (lop:offset-faces (pick:face (ray (position 0 0 0) (gvector 0 0 1))) 50 (lop:options "rbi" #f)) ;; #[entity 2 1] ; Now repair the body (rbi:rep-self-int b1) ;; #[entity 2 1] (render) ;; ()


