乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 136|回复: 9

非常好用的镜像还差一点功能,请大神教我

[复制链接]

39

主题

132

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2018-8-16 23:05:00 | 显示全部楼层 |阅读模式
本镜像功能非常好用,但是还缺先选择物体可以执行,请大神修改一下
不好意思,发错版块了,请版主删除,谢谢
(defun c:ww (/ ss en p1 p2 loop code test)
(princ "修改   我的镜像 左键、空格,X键 保留,右键删除  \n")
        (setq ss (ssget))
        (initget 1 "X")
        (setq p1 (getpoint "\n指定镜像线的第一点或[选镜像线(X)]:"))
        (cond ( (= p1 "X")
                        (setq test t)
(setq ent1 (entsel "\n请选择中心直线:")
         e1   (car ent1)
         ss1  (entget e1))
      (setq p1 (Cdr (Assoc 10 ss1))
            p2 (Cdr (Assoc 11 ss1)))
(command "mirror" ss ""p1 p2 "N")(princ)
                        (princ "\n我的镜像 左键、空格,X键 保留,右键删除!" )
                        (setq loop T)
                        (while loop
                                (setq code (grread T 8))
                                (cond
                                        ((= (car code) 25)     (command "erase" ss "") (setq loop nil));右键
                                        ((= (cadr code) 32)    (setq loop nil));空格
                                        ((= (car code) 3)    (setq loop nil));左键
                    ((or (= (cadr code) 88)(= (cadr code) 120)) (setq loop nil))  ;88为大写X120为小写x
                                );cond
                        );while
                )
                (t
                        (setq p2 (getpoint p1 "\n指定镜像线的第二点:"))
                        (command "mirror" ss "" p1 p2 "N")
                        (princ "\n我的镜像 左键、空格,X键 保留,右键删除!" )
                        (setq loop T)
                        (while loop
                                (setq code (grread T 8))
                                (cond
                                        ((= (car code) 25)     (command "erase" ss "") (setq loop nil));右键
                                        ((= (cadr code) 32)    (setq loop nil));空格
                                        ((= (car code) 3)    (setq loop nil));左键
                    ((or (= (cadr code) 88)(= (cadr code) 120)) (setq loop nil));88为大写X120为小写x
                                );cond
                        );while
                )
        );cond
        (princ)
);end
回复

使用道具 举报

4

主题

57

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2018-8-17 10:45:00 | 显示全部楼层
(defun c:ww (/ ss en p1 p2 loop code test)
        
        (princ "修改工具   我的镜像 左键、空格,X键 保留,右键删除  \n")
        (setq ss (ssget "i"));用这个来获取已经选择的选择集
        (if (not ss)
                (setq ss (ssget))
        )
        (initget 1 "X")
        (setq p1 (getpoint "\n指定镜像线的第一点或[选镜像线(X)]:"))
        (cond ( (= p1 "X")
                                        (setq test t)
                                        (setq ent1 (entsel "\n请选择中心直线:")
                                                e1   (car ent1)
                                                ss1  (entget e1))
                                        (setq p1 (Cdr (Assoc 10 ss1))
            p2 (Cdr (Assoc 11 ss1)))
                                        (command "mirror" ss ""p1 p2 "N")(princ)
                                       
                                        (princ "\n我的镜像 左键、空格,X键 保留,右键删除!" )
                                        (setq loop T)
                                        (while loop
                                                (setq code (grread T 8))
                                                (cond
                                                        ((= (car code) 25)     (command "erase" ss "") (setq loop nil));右键
                                                        ((= (cadr code) 32)    (setq loop nil));空格
                                                        ((= (car code) 3)    (setq loop nil));左键
                                                        ((or (= (cadr code) 88)(= (cadr code) 120)) (setq loop nil))  ;88为大写X120为小写x
                                                );cond
                                        );while
                                )
                (t
                        (setq p2 (getpoint p1 "\n指定镜像线的第二点:"))
                        (command "mirror" ss "" p1 p2 "N")
                        (princ "\n我的镜像 左键、空格,X键 保留,右键删除!" )
                        (setq loop T)
                        (while loop
                                (setq code (grread T 8))
                                (cond
                                        ((= (car code) 25)     (command "erase" ss "") (setq loop nil));右键
                                        ((= (cadr code) 32)    (setq loop nil));空格
                                        ((= (car code) 3)    (setq loop nil));左键
                                        ((or (= (cadr code) 88)(= (cadr code) 120)) (setq loop nil));88为大写X120为小写x
                                );cond
                        );while
                )
        );cond
        
        (princ)
);end
回复

使用道具 举报

39

主题

132

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2018-8-17 10:30:00 | 显示全部楼层

经过试用插进去不能用啊,大神,能否帮我实现功能呢?
回复

使用道具 举报

0

主题

68

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2018-8-17 08:29:00 | 显示全部楼层
你的代码已经达到你的功能了
回复

使用道具 举报

39

主题

132

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2018-8-17 08:43:00 | 显示全部楼层

唯一有点不足,就是不能先选择物体后执行命令
回复

使用道具 举报

4

主题

57

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
73
发表于 2018-8-17 09:01:00 | 显示全部楼层
;(sslength ss)
(setq ss (ssget "i"));用这个来获取已经选择的选择集
(if (not ss)
        (setq ss (ssget))
)
回复

使用道具 举报

188

主题

1652

帖子

31

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2391
发表于 2018-8-17 11:22:00 | 显示全部楼层
可以先选择后执行的,与你的设置有关。
回复

使用道具 举报

39

主题

132

帖子

10

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2018-8-17 22:32:00 | 显示全部楼层
哦,我知道为什么了,加了个前处理函数,和出错后就不能用了,谢谢各位
回复

使用道具 举报

0

主题

79

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
79
发表于 2018-8-20 00:18:00 | 显示全部楼层
顶一个,,,,,,,
回复

使用道具 举报

1

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
9
发表于 2019-6-13 01:30:00 | 显示全部楼层
学习了各位大神
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-7 17:44 , Processed in 2.513744 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表