多段线中心缩放
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(defun vxs (e / i v lst)
(setq i 0)
(while
(setq v (vlax-curve-getpointatparam e (setq i (1+ i))))
(setq lst (cons v lst))
)
(reverse lst))
;;;;;;;;;;;;;;;;;;;;;;;;
(defun zxd (ent / pts len pt )
(setq pts (vxs ent))
(setq len (length pts))
(setq pt (mapcar
'(lambda(x)
(/ x len)
)
(apply
'mapcar
(cons '+ pts)
)
)
)
pt
)
(defun c:zxscale ( / i lst sc)
(setq sc (getreal "\n请输入缩放系数1.00:"))
(setq i 0)
(setq lst (ssget '( (0 . "*polyline") (8 . "0")) ) )
(repeat (sslength lst)
(setq ent (ssname lst i))
(command "_.scale" ent "" (zxd ent) sc)
(setq i (+ i 1))
)
)
感觉和偏移差不多啊 感谢 树櫴希德 楼主分享程序! 你好,请问中心点那个函数具体怎么实现的,可以见解一下吗? l282027798 发表于 2018-11-13 11:34
你好,请问中心点那个函数具体怎么实现的,可以见解一下吗?
;;;;;;;;;;;;;;;;;;;;;;;;
(defun zxd (ent / pts len pt )
(setq pts (vxs ent))
(setq len (length pts))
(setq pt (mapcar
'(lambda(x)
(/ x len)
)
(apply
'mapcar
(cons '+ pts)
)
)
)
pt
) 貌似把图层固定在了0层后,将(8 . "0")组码删除既可。 感謝樹櫴希德樓主分享程序! 回帖是一种美德! 感谢分享!很实用
页:
[1]