这是我的伸展版,里面还有其他好吃的。
- ;;----------------------------------------------------------------------;;
- (defun c:MX ( / ss)
- (setq *error* SS:error)
- (SS:startundo)
- (setq cmde (getvar "cmdecho"))
- (setq os (getvar "osmode"))
- (setq orthom (getvar "orthomode"))
- (setvar 'cmdecho 0)
- (setvar 'osmode 83)
- (setvar 'orthomode 1)
- (setq ss (ssget))
- (command "._move" ss "" pause ".yz" "@" pause)
- (setq ss nil)
- (*error* nil)
- (princ)
- )
- (defun c:MY ( / ss)
- (setq *error* SS:error)
- (SS:startundo)
- (setq cmde (getvar "cmdecho"))
- (setq os (getvar "osmode"))
- (setq orthom (getvar "orthomode"))
- (setvar 'cmdecho 0)
- (setvar 'osmode 83)
- (setvar 'orthomode 1)
- (setq ss (ssget))
- (command "._move" ss "" pause ".xz" "@" pause)
- (setq ss nil)
- (*error* nil)
- (princ)
- )
- (defun SS:error (errmsg)
- (and acDoc (vla-EndUndoMark acDoc))
- (and errmsg
- (not (wcmatch (strcase errmsg) "*CANCEL*,*EXIT*"))
- (princ (strcat "\n<< Error: " errmsg " >>"))
- )
- (setvar 'cmdecho cmde)
- (setvar 'osmode os)
- (setvar 'orthomode orthom)
- )
- (defun SS:startundo ()
- (setq acDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
- (or (vla-EndUndoMark acDoc) (vla-StartUndoMark acDoc))
- )
- (vl-load-com)
- (princ
- (strcat
- "\nLock_Move_X&Y.lsp loaded"
- "\nInvoke by typing 'MX' (Move on X-axis) or 'MY' (Move on Y-axis)"
- )
- )
- (princ)
- ;;----------------------------------------------------------------------;;
- ;; End of File ;;
- ;;----------------------------------------------------------------------;;
|