;统一指定基点缩放 未考虑太多(defun c:tt()
(princ "\n 选择箭头等图形")
(setq en(entsel))
(if en(progn
(setq enn(car en) enpt(getpoint"输入缩放基点") sfx(getreal"输入缩放系数: ") )
(vla-getboundingbox (vlax-ename->vla-object enn) 'enpt1 'enpt2)
(setq enpt1 (vlax-safearray->list enpt1)
enpt2 (vlax-safearray->list enpt2)
enmp (mapcar '(lambda(x y)(/(+ x y)2))enpt1 enpt2)
endi (distance enpt enmp)
enan (angle enpt enmp)
szj (ssget)
l (sslength szj)
n 0
)
(repeat l
(setq szjenn(ssname szj n))
(vla-getboundingbox (vlax-ename->vla-object szjenn) 'szjpt1 'szjpt2)
(setq szjpt1 (vlax-safearray->list szjpt1)
szjpt2 (vlax-safearray->list szjpt2)
szjmp (mapcar '(lambda(x y)(/(+ x y)2))szjpt1 szjpt2)
szjpt (polar szjmp enan endi)
n (1+ n )
)
(vl-cmdf "scale" szjenn "" "non"szjpt sfx )
) ))
;;(vl-cmdf "move" szj "" "non"szjpt pause )