BrianTFC。
现在不会给出这个误差,但它有一个约束,量必须始终在括号中,只有这样,
将从选择中排除。
- (defun c:psave (/ ss mn mx sst)
- (vl-load-com)
- (if (setq ss (ssget "_:S:E" '((0 . "INSERT,LWPOLYLINE"))))
- (progn
- (vla-getboundingbox
- (vlax-ename->vla-object (ssname ss 0))
- 'mn
- 'mx
- )
- (setq sst (ssget "W"
- (trans (vlax-safearray->list mn) 0 1)
- (trans (vlax-safearray->list mx) 0 1)
- '((0 . "text") (1 . "~(*"))
- )
- )
- (if (= (findfile (strcat (getvar "dwgprefix")
- (cdr (assoc 1 (entget (ssname sst 0))))
- ".dwg"
- )
- )
- nil
- )
- (progn
- (command "-wblock"
- (strcat (getvar "dwgprefix")
- (cdr (assoc 1 (entget (ssname sst 0))))
- )
- " "
- "0"
- "WINDOW"
- (trans (vlax-safearray->list mn) 0 1)
- (trans (vlax-safearray->list mx) 0 1)
- ""
- )
- (command "oops")
- )
- ;; progn
- (alert
- (strcat "\nThe "
- (cdr (assoc 1 (entget (ssname sst 0))))
- ".dwg already exists in the current directory!!!"
- )
- )
- )
- ;; if
- )
- ;; progn
- )
- ;; if
- (princ)
- )
希望有帮助
亨里克 |