CHECK_PART checks the consistency of a selected part or multiple parts.
--->(CHECK_PART)---+-(:OBJECTS)---|part or parts|-----------------------+------> | | +---------------<------------------------------------+ | | +-(:MINIMAL_CHECK)-----------------------------------+ | | +-(:MAXIMAL_CHECK)-----------------------------------+ | | | | +--(:LABELS)-------+--(:ON)---+----------------------+ | | | | | +--(:OFF)--+ | | | +--(:KEEP_LABELS)--+--(:ON)---+----------------------+ | | | | | +--(:OFF)--+ | | | +--(:WARNINGS)-----+--(:ON)---+----------------------+ | | | | | +--(:OFF)--+ | | | +-+-(:VERBOSE)-(:ON)-+-----------------------------+-+ | | | | | | | +-(:MINIMAL_EDGE)-|edge len|--+ | | | | | | | | +-(:VOIDS)-------+--(:ON)--+--+ | | | | | | | | | | | +--(:OFF)-+ | | | | | | | | | +-(:KNIFE_EDGES)-+--(:ON)--+--+ | | | | | | | | | +--(:OFF)-+ | | | | | | | | | | | +-(:VERBOSE)-(:OFF)------------------------------+ | | | | | +--(:NO_DISPLAY_BOX)--+--(:ON)---+-------------------+ | | | | +---------------------+--(:OFF)--+-------------------+
The check action helps you to identify whether a part may be corrupt (for advanced users):
*Set-Action-Result* for CHECK_PART:
Check_Part will return T or Nil for a list of parts and for a single part an assoc list containing optionaly the localized messages.
All "err-code-??" are non localized unique identifiers.
([("Error:" ("err-code-e1" ("msg-e1" entity-e11 .. entity-e1m) ... "err-code-en" ("msg-en" entity-en1 .. entity-enm)))] [("Warning:" ("err-code-w1" ("msg-w1" entity-w11 .. entity-w1m) ... "err-code-wn" ("msg-wn" entity-wn1 .. entity-wnm)))] [("Fixed:" ("err-code-f1" ("msg-f1" entity-f11 .. entity-f1m) ... "err-code-fn" ("msg-fn" entity-fn1 .. entity-fnm)))] [("Info:" ("err-code-i1" ("msg-i1" entity-i11 .. entity-i1m) ... "err-code-in" ("msg-in" entity-in1 .. entity-inm)))]) The result can be evaluated by (assuming that 'res-list' is the assoc list shown above): (when (setf warnings (assoc "Warning:" res-list :test #`equal)) => ("Warning:"((.....))) (when warnings (setf knifes (assoc "CHECK_KNIFE_EDGE" warnings :test #`equal)) => (CHECK_KNIFE_EDGE ("..." ...)) ) ) A correct call of the body checker would look like: (oli::sd-call-cmds (k2-ui::check_part :objects TEST-PART :maximal_check :verbose :on ) :success (progn (display *sd-action-result*) (display "Success") ) :failure (progn (when (sd-inq-error-obj :object) (display (sd-inq-error-obj :message)) ) (display "Failure") ) )
Note: This makes the following command obsolete:
BODY_CHECK SET_BODY_CHECK_MESSAGE_LEVEL :USER (non-verbose mode) :SYSTEM (verbose mode)
CHECK_PART :objects "p1"