快速一:
- (defun c:MyOffset ( / ent obj )
- (if
- (setq *dist*
- (cond
- ( (getdist
- (strcat "\nSpecify Offset Distance"
- (if *dist* (strcat " <" (rtos *dist*) ">: ") ": ")
- )
- )
- )
- ( *dist* )
- )
- )
- (while
- (progn (setvar 'ERRNO 0) (setq ent (car (entsel "\nSelect LWPolyline: ")))
- (cond
- ( (= 7 (getvar 'ERRNO))
- (princ "\nMissed, try again.")
- )
- ( (eq 'ENAME (type ent))
- (cond
- ( (= 4 (logand 4 (cdr (assoc 70 (tblsearch "LAYER" (cdr (assoc 8 (entget ent))))))))
- (princ "\nObject is on Locked Layer.")
- )
- ( (eq "LWPOLYLINE" (cdr (assoc 0 (entget ent))))
- (foreach obj (vlax-invoke (setq obj (vlax-ename->vla-object ent)) 'explode)
- (vla-offset obj *dist*)
- )
- (vla-delete obj)
- t
- )
- ( (princ "\nObject is not an LWPolyline.") )
- )
- )
- )
- )
- )
- )
- (princ)
- )
- (vl-load-com) (princ)
|