明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2552|回复: 13

[提问] 这样的功能怎么实现,怎么弄呀

[复制链接]
发表于 2019-12-28 12:26:56 | 显示全部楼层 |阅读模式
这样的功能怎么实现,怎么弄呀

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

画图纸,写“儿子房”,哈哈,  发表于 2019-12-29 20:16
发表于 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))
                )
        )
)
回复 支持 2 反对 0

使用道具 举报

发表于 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)))
                )
        )
)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-12-28 13:23:33 | 显示全部楼层
1.首先选取块
2.命令MOVE
3.点选移动基点
4.命令M2P
5.选择墙面第一和第二点
6.按回键,完成移动!
 楼主| 发表于 2019-12-28 22:30:49 | 显示全部楼层
非常感谢,谢谢
 楼主| 发表于 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选择家具:")))

谢谢大侠,厉害
发表于 2019-12-29 17:53:49 | 显示全部楼层
两点之间的中点。
发表于 2019-12-29 18:23:31 | 显示全部楼层
SHIFT+鼠标右键即可有此选项。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2019-12-29 21:06:47 | 显示全部楼层
ssdsfg 发表于 2019-12-29 18:23
SHIFT+鼠标右键即可有此选项。

这个知道的,就是感觉还是很麻烦,1楼的大哥写的这个插件  还是很好用的
 楼主| 发表于 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选择家具:")))

大佬,怎么样能支持斜面的线    你这个只能支持到垂直线
 楼主| 发表于 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选择家具:")))

大侠  帅哥在不,求帮忙做个插件  可以适当的明经币货付费
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 05:54 , Processed in 0.191111 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表