试一试:
- (defun c:scl (/ ss scl)
- (vl-load-com)
- (or scale:def (setq scale:def 0.)
- (if (setq ss (ssget "X" (list (cons 0 "LINE")
- (cons 8 "Beams")
- (if (getvar "CTAB")
- (cons 410 (getvar "CTAB"))
- (cons 67 (- 1 (getvar "TILEMODE")))))))
- (progn
- (initget 6)
- (setq scl (getreal (strcat "\nSpecify Scale Factor <" (rtos scale:def) "> : ")))
- (or (not scl) (setq scale:def scl))
- (foreach x (mapcar 'vlax-ename->vla-object
- (mapcar 'cadr (ssnamex ss)))
- (vla-ScaleEntity x
- (vlax-3D-point
- (vlax-curve-getPointatDist x
- (/ (vla-get-length x) 2.0))) scale:def)))
- (princ "\n<!> No Lines Found <!>"))
- (princ))
|