stonedesign 发表于 2019-12-28 12:26:56

这样的功能怎么实现,怎么弄呀

这样的功能怎么实现,怎么弄呀

taoyi0727 发表于 2019-12-28 13:01:48

(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:26:12

本帖最后由 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)))
                )
      )
)


lisperado 发表于 2019-12-28 13:23:33

1.首先选取块
2.命令MOVE
3.点选移动基点
4.命令M2P
5.选择墙面第一和第二点
6.按回键,完成移动!

stonedesign 发表于 2019-12-28 22:30:49

非常感谢,谢谢{:1_1:}

stonedesign 发表于 2019-12-28 22:32:42

taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
        (if (and
                                (setq name (car (entsel "\n选择家具:")))


谢谢大侠,厉害

mokson 发表于 2019-12-29 17:53:49

两点之间的中点。

ssdsfg 发表于 2019-12-29 18:23:31

SHIFT+鼠标右键即可有此选项。

stonedesign 发表于 2019-12-29 21:06:47

ssdsfg 发表于 2019-12-29 18:23
SHIFT+鼠标右键即可有此选项。

这个知道的,就是感觉还是很麻烦,1楼的大哥写的这个插件还是很好用的

stonedesign 发表于 2020-1-3 12:59:38

taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
        (if (and
                                (setq name (car (entsel "\n选择家具:")))


大佬,怎么样能支持斜面的线    你这个只能支持到垂直线

stonedesign 发表于 2020-4-6 08:37:56

taoyi0727 发表于 2019-12-28 13:01
(defun c:tt (/ name pt1 pt2 pt3 pt4)
        (if (and
                                (setq name (car (entsel "\n选择家具:")))


大侠帅哥在不,求帮忙做个插件可以适当的明经币货付费
页: [1] 2
查看完整版本: 这样的功能怎么实现,怎么弄呀