明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: wowan1314

[源码] 【源码分享】对CAD镜像命令来个小改造。

    [复制链接]
发表于 2013-6-27 23:07:22 | 显示全部楼层
超赞的修改。顶力支持...
发表于 2013-6-28 09:01:27 | 显示全部楼层
赞一个,赞一个
发表于 2013-6-28 20:02:57 | 显示全部楼层
好用,支持楼主
发表于 2013-7-26 21:43:18 | 显示全部楼层
wowan1314大师,随便把这个选线镜像的和你改的整合为一个吧,
当鼠标的第一点点在线上,就以此线镜像,否则就以第一点和第二镜像。
有劳 wowan1314大师再次改造了

;选线镜像(功夫佬2012-4-15)
(defun c:im(/ ss ent entlist b)
  (setvar "CMDECHO" 0)
  (setq ss(ssget "i" ))
  (if (not ss)
    (setq ss(ssget))
    )
  (if ss
    (progn
      (setq ent(entsel "\n选择做为镜像线的直线:" ))
      (command "ucs" "w")
      (if ent
        (progn
          (setq entlist(entget(car ent)))
          (if (= (cdr(assoc 0 entlist)) "LINE" )
            (progn
              (initget "y n" )
;              (setq b(getkword "\n要删除源对象吗?[是(Y)/否(N)] <N>:" ))

(setq pt (getpoint "\n左键删除,右键保留"))
(if pt (setq b "y" ) (command ""))

              (if (not b)
                (setq b "n" )
                )
              (setvar "CMDECHO" 0)
              (command "mirror" ss "" (cdr(assoc 10 entlist)) (cdr(assoc 11 entlist)) b)
        (command "ucs" "p")
              (setvar "CMDECHO" 1)
              ))))))
  (princ))

点评

(if pt (setq b "y" ) (command ""))-->(if pt (setq b "y" ) (setq b "n"))  发表于 2013-7-27 08:34
发表于 2013-7-27 08:55:36 | 显示全部楼层
wowan1314大师,我的意思是把你改造的镜像程序和功夫佬大师的程序结合为一个,
当选择对象后,程序提示指定镜像的第一点,如果第一点落在一根直线上,就以这根直线镜像,如果第一点没有落在直线上,程序则提示指定镜像的第二点,...................

点评

怎么都改造上瘾了?! 首先得保证程序的通用性。  发表于 2013-7-27 12:43
感觉没什么用啊! 多点下也不是很费事。按你说的改后就不能点到东西了。反而不好。  发表于 2013-7-27 12:42
发表于 2013-7-27 15:40:08 | 显示全部楼层
我是只改造了一个直接删除的,用不同的命令区分删除不删除,如果需要保留就用原版,要删除的就用改造过的。从这个lsp里面,我知道怎么用不同的操作来设置默认值了,学到一招,
发表于 2013-7-29 21:34:25 | 显示全部楼层
可能是我表达的不够明确。
1:已经选中了要镜像的对象,
2:按下快捷键,
3:鼠标指定一点A,如果点A落在一直线Q上,则以直线Q镜像被选中的对象,程序结束,

4:如果点A,没有落在任何物体上,则再指定点B,以A、B点镜像被选中的对象
发表于 2013-7-31 16:56:04 | 显示全部楼层
不错哦。。。值得选用
发表于 2013-7-31 17:03:47 | 显示全部楼层
好用,支持一下
发表于 2013-8-5 00:07:47 | 显示全部楼层
669423907 发表于 2013-7-29 21:34
可能是我表达的不够明确。
1:已经选中了要镜像的对象,
2:按下快捷键,

如果对称轴想捕捉两条线的交点的时候怎么办?
而且对于CAD绘图,一般都是捕捉的,不捕捉的情况是极少的
所以我觉得,用命令区分还是可行的,在输入命令的时候多一个字母,比在运行过程中输入另外的字母要快的多,我也曾改造了选择对称轴、选择两条线按中线做对称轴的,但是后来发觉真的用到太少了,只保留了删除原件的一个命令,不删除的就还是使用原命令(两个命令的简写就是一个是1个字母,另外一个是两个相同的字母)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 17:06 , Processed in 0.163568 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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