应一同事要求撰写了这个程序
-
- ;; 此程序用于在 2002中使Stretch命令支持先选择后命令
- ;; AutoCAD 2004, 2005无须这个程序
- ;; -------------------------------------------------------
- ;; 程序设计:秋枫,2004年9月21日,在2002下测试通过
- ;; =======================================================
- ;; 命令:S (defun c:S (/ ss e pt plist cmdecho)
- (setq cmdecho (getvar "cmdecho"))
- (setvar "cmdecho" 0)
- (vl-catch-all-apply
- '(lambda ()
- (if (setq ss (ssget "I"))
- (progn
- (setq e (ssnamex ss 0))
- (if (/= (caar e) 3)
- (progn
- (princ
- "\nSelect objects to stretch by crossing-window or crossing-polygon...\n"
- )
- (command "_.Stretch")
- )
- (progn ;else
- (sssetfirst nil nil)
- (setq plist (cdadr e))
- (setq plist (mapcar 'cadr plist))
- (setq plist (mapcar '(lambda (pt) (trans pt 0 1)) plist))
- (command "_.Stretch" "_CP")
- (foreach pt plist (command pt))
- (command "" "")
- )
- )
- )
- (progn ;else
- (princ
- "\nSelect objects to stretch by crossing-window or crossing-polygon...\n"
- )
- (command "_.Stretch")
- )
- )
- )
- )
- (setvar "cmdecho" cmdecho)
- (princ)
- )(princ)
|