(defun c:csedit ( / BIAOJI MSG PT PT1 SS1cscopy inimsg) (setvar "cmdecho" 0) (setq ss1 (ssget)) (setq pt (getpoint "\n基准点:")) (setq msg "\n移动到[P基准点/C复制/R旋转/S比例/J镜像/E退出]<退出>") (setq inimsg "P基准点 C复制 R旋转 S比例 J镜像 E退出") (setq cssopy nil) (setq biaoji t) (while biaoji (initget inimsg) (setq pt1 (ACET-SS-DRAG-MOVE ss1 PT msg t 0)) (cond ((= (type pt1) 'list) (if cscopy (command "copy" ss1 "" ptpt) ) (command "move" ss1 "" pt pt1) (setq pt pt1) ) ((= pt1 "P基准点") (if (setq pt1 (getpoint pt "\n基准点:")) (setq pt pt1) ) ) ((= pt1 "C复制") (setq cscopy t) (setq msg "\n复制到[P基准点/M移动/R旋转/S比例/J镜像/E退出]<退出>") (setq inimsg "P基准点 M移动 R旋转 S比例 J镜像 E退出") ) ((= pt1 "M移动") (setq cscopy nil) (setq msg "\n移动到[P基准点/C复制/R旋转/S比例/J镜像/E退出]<退出>") (setq inimsg "P基准点 C复制 R旋转 S比例 J镜像 E退出") ) ((= pt1 "R旋转") (if (setq pt1 (ACET-SS-DRAG-rotate ss1 PT "\n旋转角度:" t0)) (progn (command "rotate" ss1 "" pt (rtod pt1)) ) ) ) ((= pt1 "S比例") (if (setq pt1 (ACET-SS-DRAG-scale ss1 PT "\n比例系数:" t0)) (progn (command "scale" ss1 ""pt pt1) ) ) ) ((= pt1 "J镜像") (if (setq pt1 (getpoint PT "\n对称线:")) (progn (command "MIRROR" ss1 ""pt pt1 "y") ) ) ) ((or (= pt1 "E退出") (not pt1)) (setq biaoji nil) ) ) ) (setvar "cmdecho" 1) (princ)
)
|