这样的功能怎么实现,怎么弄呀
这样的功能怎么实现,怎么弄呀 (defun c:tt (/ name pt1 pt2 pt3 pt4)(if (and
(setq name (car (entsel "\n选择家具:")))
(setq pt1 (getpoint "\n选择家具中点:"))
)
(progn
(setq pt2 (getpoint "\n选择墙面第1点:"))
(setq pt3 (getpoint "\n选择墙面第2点:"))
(setq pt4 (polar pt2 (angle pt2 pt3) (/ (distance pt2 pt3) 2)))
(vla-Move (vlax-ename->vla-object name) (vlax-3d-point pt1) (vlax-3d-point pt4))
)
)
) 本帖最后由 taoyi0727 于 2020-4-6 09:36 编辑
(defun c:tt (/ ang1 ang2 basepoint name obj pt1 pt2 pt3 pt4 pt5 pt6)
(if (and
(setq name (car (entsel "\n选择家具:")))
(setq pt1 (getpoint "\n选择家具第1点:"))
(setq pt2 (getpoint "\n选择家具第2点:"))
(setq pt3 (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2)))
(setq pt4 (getpoint "\n选择墙面第1点:"))
(setq pt5 (getpoint "\n选择墙面第2点:"))
(setq pt6 (polar pt4 (angle pt4 pt5) (/ (distance pt4 pt5) 2)))
)
(progn
(setq obj (vlax-ename->vla-object name))
(vla-Move obj (vlax-3d-point pt3) (vlax-3d-point pt6))
(setq basepoint (vlax-3D-point pt6))
(vla-Rotate obj basepoint (+ (- (angle pt1 pt2)) (angle pt4 pt5)))
)
)
)
1.首先选取块
2.命令MOVE
3.点选移动基点
4.命令M2P
5.选择墙面第一和第二点
6.按回键,完成移动! 非常感谢,谢谢{:1_1:} taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
(if (and
(setq name (car (entsel "\n选择家具:")))
谢谢大侠,厉害 两点之间的中点。 SHIFT+鼠标右键即可有此选项。
ssdsfg 发表于 2019-12-29 18:23
SHIFT+鼠标右键即可有此选项。
这个知道的,就是感觉还是很麻烦,1楼的大哥写的这个插件还是很好用的 taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
(if (and
(setq name (car (entsel "\n选择家具:")))
大佬,怎么样能支持斜面的线 你这个只能支持到垂直线
taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
(if (and
(setq name (car (entsel "\n选择家具:")))
大侠帅哥在不,求帮忙做个插件可以适当的明经币货付费
页:
[1]
2