马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - (defun c:mcopy
- (/ mcopy_err AcDoc Space pt1 pt2 nb)
- (vl-load-com)
- (defun mcopy_err (msg)
- (if (= msg "Function canceled")
- (princ)
- (princ (strcat "\ nError:" msg))
- )
- (vla-endUndoMark AcDoc)
- (setq *error* m:err
- m:err nil
- )
- (princ)
- )
- (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
- Space (if (= (getvar "CVPORT") 1)
- (vla-get-PaperSpace AcDoc)
- (vla-get-ModelSpace AcDoc)
- )
- )
- (vla-StartUndoMark AcDoc)
- (if (and (= 1 (getvar "pickfirst"))
- (setq ss (cadr (ssgetfirst)))
- )
- (sssetfirst nil nil)
- (setq ss (ssget))
- )
- (initget 1)
- (setq pt1 (getpoint "\ nSpecify offset, first point:"))
- (initget 1)
- (setq pt2 (getpoint pt1 "\ nSecond point:"))
- (initget 1)
- (setq nb (getint "\ nNumber of elements:"))
- (foreach obj (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
- (setq obj (vlax-ename-> vla-object obj))
- (repeat (1- nb)
- (vla-Copy obj)
- (vla-move obj
- (vlax-3d-point (trans pt1 1 0))
- (vlax-3d-point (trans pt2 1 0))
- )
- )
- )
- (vla-endUndoMark AcDoc)
- (setq *error* m:err
- m:err nil
- )
- (princ)
- )
|