试试这个
PS:不是我的,我想是给李的
- (defun c:Supflat (/ ss ssObj j)
- (vl-load-com)
- (vlax-map-collection
- (vla-get-Layers
- (vla-get-ActiveDocument
- (vlax-get-acad-object)))
- '(lambda (x) (vla-put-lock x :vlax-false)))
- (if (setq ss (ssget "X" (list (cons 410 (getvar "CTAB")))))
- (progn
- (setq ssObj (mapcar 'vlax-ename->vla-object
- (mapcar 'cadr (ssnamex ss))) j 0)
- (foreach Obj ssObj
- (foreach n '(1e99 -1e99)
- (if (vl-catch-all-error-p
- (vl-catch-all-apply
- '(lambda (x)
- (vla-move x (vlax-3d-point (list 0 0 0))
- (vlax-3d-point (list 0 0 n))))
- (list Obj)))
- nil
- (setq j (1+ j)))))
- (princ (strcat "\n" (rtos (/ j 2.0)) " Objects Flattened.")))
- (princ "\n<!> No Objects Found <!>"))
- (princ))
|