- (defun C:test (/ ss p pr d o)
- (if
- (setq ss (ssget)
- p (LM:ssboundingbox ss)
- o 72) ;;change offset value
- (entmake
- (list
- '(0 . "LWPOLYLINE")
- '(100 . "AcDbEntity")
- '(67 . 0)
- (cons 410 (getvar 'ctab))
- '(100 . "AcDbPolyline")
- '(90 . 4)
- '(70 . 1)
- (cons 10 (setq pr (polar (polar (car p) pi o) (* pi 1.5) o)))
- (cons 10 (setq pr (polar pr 0 (setq d (+ (- (caadr p) (caar p)) (* o 2))))))
- (cons 10 (setq pr (polar pr (/ pi 2.) (+ (- (cadadr p) (cadar p)) (* 2 o)))))
- (cons 10 (polar pr pi d ))
- '(210 0.0 0.0 1.0)
- )
- )
- )
- (princ)
- )
- (defun LM:ssboundingbox ( s / a b i m n o )
- ;; Selection Set Bounding Box - Lee Mac
- (repeat (setq i (sslength s))
- (if
- (and
- (setq o (vlax-ename->vla-object (ssname s (setq i (1- i)))))
- (vlax-method-applicable-p o 'getboundingbox)
- (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-getboundingbox (list o 'a 'b))))
- )
- (setq m (cons (vlax-safearray->list a) m)
- n (cons (vlax-safearray->list b) n)
- )
- )
- )
- (if (and m n)
- (mapcar '(lambda ( a b ) (apply 'mapcar (cons a b))) '(min max) (list m n))
- )
- )
|