validate_lop
List of: Options
Subjects: Local Operations, Modeler Control
Contents: Local Op Tools

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]
PDF/LOPT/03OPT.PDF
HTM/DATA/LOPT/LOPT/03OPT/0003.HTM