试试这个快速程序。
- (defun c:test (/ id status _add:custom:value v1 v2)
- ;; Tharwat 01.09.2015 ;;
- (if (and (< 0 (setq id (load_dialog "Project.dcl")))
- (new_dialog "Project" id)
- )
- (progn
- (defun _add:custom:value (key val)
- (vla-setcustombykey
- (vla-get-summaryinfo
- (vla-get-activedocument (vlax-get-acad-object))
- )
- key
- val
- )
- (princ)
- )
- (setq
- Status (list "1st draft" "2nd draft" "3rd draft" "Final")
- )
- (start_list "Status")
- (mapcar 'add_list Status)
- (end_list)
- (action_tile
- "accept"
- "(if (/= (setq v1 (get_tile "Project")) "") (_add:custom:value "Project" v1))
- (if (setq v2 (get_tile "Status")) (_add:custom:value "Status" (nth (atoi v2) Status)))
- (done_dialog)"
- )
- (action_tile "cancel" "(done_dialog)")
- (start_dialog)
- (unload_dialog id)
- )
- (if (< 0 id)
- (unload_dialog id)
- )
- )
- (princ)
- )(vl-load-com)
|