|
Action:
|
Controls whether or not a taper local operation is checked (validated).
|
|
|
Name String:
|
validate_lop
|
|
|
Scheme:
|
string
|
See
Description
|
"validate_and_lop"
|
|
|
Test Harness:
|
string
|
See
Description
|
"validate_and_lop"
|
|
|
C++:
|
char*
|
See
Description
|
"validate_and_lop"
|
|
|
Description:
|
This option controls whether or not a taper local operation is checked (validated) to determine if will work before actually performing the operation. If validation fails, the taper operation will not work. However, if validation succeeds, this does
not guarantee that the taper will work. If validation fails, the entities (faces or edges) at which validation failed are returned using the error return mechanism.
|
|
|
This option only applies to edge taper and plane taper operations.
|
|
|
The argument to this option is a string. Possible values are:
|
|
|
"validate_and_lop"
|
Basic validation checks on the taper operation are performed. If these checks succeed, the taper is attempted. If the validation fails, the taper is not attempted.
|
|
"validate_only"
|
Some basic checks on the taper operation are performed, but the operation is not attempted.
|
|
"lop_only"
|
No validation is performed. If the taper is attempted, it may or may not succeed.
|
|
|
Example:
|
; validate_lop
|
|
; First example shows the use of "validate_only"
|
|
; with an edge taper that will not validate.
|
|
(define std (view:dl 0 0 500 500))
|
|
;; std
|
|
(view:set-perspective OFF std)
|
|
;; #f
|
|
(define b (solid:block (position -5 -5 -5)
|
|
|
(position 5 5 5)))
|
|
;; b
|
|
; Set the option
|
|
(option:set "validate_lop" "validate_only")
|
|
;; "validate_and_lop"
|
|
; Attempt an illegal edge-taper
|
|
(lop:edge-taper-faces (pick:face (ray
|
|
|
(position 0 0 0) (gvector 1 0 0)))
|
|
|
(pick:edge (ray (position 5 0 0)
|
|
|
(gvector 0 0 -1))) (gvector 0 1 0) 10))
|
|
;; Returned edge has been highlighted.
|
|
;; *** Error lop:edge-taper-faces: edge tangent is at
|
|
;; some point parallel to draft direction
|
|
|
; example 2: will validate and work
|
|
; Second example shows "validate_and_lop" with an
|
|
; edge taper that will validate and be executed.
|
|
(define std (view:dl 0 0 500 500))
|
|
;; std
|
|
(view:set-perspective OFF std)
|
|
;; #f
|
|
(define b (solid:block (position -5 -5 -5)
|
|
|
(position 5 5 5)))
|
|
; switch the option on
|
|
(option:set "validate_lop" "validate_and_lop" )
|
|
;; "validate_and_lop"
|
|
; This should work now
|
|
(lop:edge-taper-faces (pick:face (ray
|
|
|
(position 0 0 0) (gvector 1 0 0)))
|
|
|
(pick:edge (ray (position 5 0 0)
|
|
|
(gvector 0 0 -1))) (gvector 0 0 1) 10))
|
|
;; #[entity 2 1]
|