垂直选择和移动对象
大家好,我有一个Lisp,它可以将选定的对象垂直上移100点。
但是,有没有人可以制作一个Lisp,它可以自动选择从单击点向上的所有对象,并将它们向上移动100个点。
如果有人能帮我,我会非常感激的。
谢谢 你能举个例子吗
使用Tapatalk从我的SM-E700H发送 您需要为每个对象使用边界框lisp,并查看与点Y相比较低的Y值。
(vl-load-com)
(defun al-getboundingbox (obj / )
(setq newbox (vla-GetBoundingBox obj 'minpoint 'maxpoint ))
(setq newy (cadr (vlax-safearray->list minpoint)))
)
(defun c:movey ( / ss)
(setq pt (getpoint "pick point"))
(setq y (cadr pt)) ; y value of point
(setq ss (ssget "x" (list (cons 410 "model"))))
(repeat (setq J (sslength ss))
(setq obj (vlax-ename->vla-object(ssname ss (setq j (- j 1)))))
(al-getboundingbox obj)
(if (> newy Y)
(command "move" (ssname ss j) "" (list 0 0) (list 0 100))
)
)
)
嗨,比格尔,
感谢您的回复,这个Lisp要求选择对象,但我希望它能自动选择从点击点向上可用的所有对象。
谢谢 这叫做学习编程或自己动手。
如果您查看了ssget的lisp帮助,尤其是“X”,您应该会找到答案。
代码已更改。
页:
[1]