|
Action:
|
Controls whether or not a local operation fails when a face surface can only be partially offset.
|
|
|
Name String:
|
lop_fail_on_no_part_inv_sf
|
|
|
Scheme:
|
boolean
|
#f, #t
|
#f
|
|
|
Test Harness:
|
integer
|
0, 1
|
0
|
|
|
C++:
|
logical
|
FALSE, TRUE
|
FALSE
|
|
|
Description:
|
When a face surface can only be partially offset, the geometry returns no surface at all. When this option is set to off, the local operation continues by removing the face. However, this may lead to shells that are too thin or have holes. This can be prevented by switching the option on, in which case the local operation will fail instead of removing the face.
|
|
|
Example:
|
; lop_fail_on_no_part_inv_sf
|
|
; Do a partial offset with the option on
|
|
(define b1 (solid:block (position -25 -25 -25)
|
|
|
(position 25 25 25)))
|
|
;; b1
|
|
(define edge1 (pick:edge (ray (position 0 0 0)
|
|
|
(gvector 1 0 1))))
|
|
;; edge1
|
|
(define rad1 (abl:two-ends-rad 10 1))
|
|
;; rad1
|
|
(abl:edge-blend edge1 rad1)
|
|
;; #[entity 3 1]
|
|
(blend:network edge1)
|
|
;; #[entity 2 1]
|
|
; Offset body so blend face surface partially inverts
|
|
; Presently no face surface is made but we must not
|
|
; remove the face, so switch on the option.
|
|
(option:set "lop_fail_on_no_part_inv_sf" #t)
|
|
;; #f
|
|
(lop:offset-body b1 -4)
|
|
;; Returned edge has been highlighted.
|
|
;; *** Error lop:offset-body: no solution for an edge
|