- (defun c:mcopy()
- (vl-load-com)
- (defun *error* ( msg )
- (if (and Doc (not (vlax-object-released-p Doc))) (vlax-release-object Doc))
- (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
- (princ (strcat "\n** Error: " msg " **")))
- (princ)
- )
- (if (= (getvar "userr3") 0) (setvar "userr3" 20.0))
- (while (and (princ "\n选择图元 :")
- (setq ss (ssget))
- (setq p1 (getpoint "\n起始点 :")))
- (setq p2 (getpoint "\n终止点<回车输入方向和距离>: "))
- (if (= p2 nil)
- (progn
- (setq ang (getangle p1 "\n方向 :"))
- (if (setq ll (getdist (strcat "\n距离<" (rtos (getvar "userr3")) ">:")))
- (setvar "userr3" ll)
- (setq ll (getvar "userr3"))
- )
- (setq p2 (polar p1 ang (/ ll bl)))
- )
- (command ".COPY" ss "" "m" p1 p2)
- )
- (command ".COPY" ss "" p1 p2)
- )
- (princ)
- )
|