飞雪神光
发表于 2024-1-3 21:54:15
277283904 发表于 2024-1-3 15:29
(defun c:QQ()(command-s "_mirror" (ssget "_+.:E:S") "" "M2P" pause))
是这样运行吗老大,但是运行不 ...
低版本CAD 把-s去掉
xyp1964
发表于 2024-1-4 01:09:20
(defun c:tt ()
(if (and (setq ss (ssget))
(setq s1 (car (entsel "\n选择竖线1: ")))
(setq s2 (car (entsel "\n选择竖线2: ")))
)
(progn
(setq p1 (vlax-curve-getStartPoint s1)
p2 (vlax-curve-getStartPoint s2)
p3 (mapcar '(lambda (x y) (* (+ x y) 0.5)) p1 p2)
p4 (polar p3 (* pi 0.5) 10)
)
(command "_mirror" ss "" p3 p4 "")
)
)
(princ)
)
277283904
发表于 2024-1-4 09:34:43
xyp1964 发表于 2024-1-4 01:09
选择了两条竖线之后不会镜像过去,CAD版本是2007
我只是想单纯的想把M2P简化掉,需要那么复杂吗;P
277283904
发表于 2024-1-4 13:37:26
277283904 发表于 2024-1-4 09:34
选择了两条竖线之后不会镜像过去,CAD版本是2007
我只是想单纯的想把M2P简化掉,需要那么复杂吗
就是按镜像命令后再按M2P键,点击两条竖线得出两条线之间的中线作为镜像线。
277283904
发表于 2024-1-4 14:07:19
xyp1964 发表于 2024-1-4 01:09
请问你的录屏是用什么软件录制的呢,可否提供一下
277283904
发表于 2024-1-5 09:14:32
刚看了一下,M2P不是镜像的附带命令,怎么把镜像和M2P两个命令组合起来
lidaxiu
发表于 2024-1-5 10:07:56
(defun C:ga()
(command "line" "m2p" pause pause))
(prompt "\n欢迎来到二次开发世界")
(princ)
zxp2007
发表于 2024-1-5 10:17:57
上面发的源码 是能满足你说的功能
start4444
发表于 2024-1-5 11:03:00
277283904 发表于 2024-1-5 09:14
刚看了一下,M2P不是镜像的附带命令,怎么把镜像和M2P两个命令组合起来
m2p 是捕捉两点的中点,只要有捕捉需求的命令都能用,你通过代码根本不需要调用他,直接求两点中点就完了,看沙发楼的中点函数
咏郡
发表于 2024-1-5 20:49:59
277283904 发表于 2024-1-3 17:18
我是想按1个键直达M2P的命令,不想又按镜像命令后,还要按M2P命令,各位大佬有办法吗?
(defun c:QQ ()(command"MIRROR""M2P" pause))
看看是不是你想要的