镜像的M2P命令怎么写
(defun c:QQ ()(command"MIRROR""M2P"))貌似这段代码不对!
(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)
)
(defun c:f1 ( / a b line1 line2 ps1 ps2 pt1 pt2 ss)
(vl-load-com)
(princ "\n 选取两直线定中点")
(setq ss (ssget '((0 . "*line"))))
;“,” 逻辑或,对象类型可多选,名称用 “,” 分
;隔。例如,创建直线和文本的选择集,框选对象后,将只有文本被选中(亮显)并加入选择集。
(setq line1(ssname ss 0));获取直线1的图元信息
(setq line2(ssname ss 1))
(setq PS1(HH:PtLists line1))
(setq PS2(HH:PtLists line2))
(if (AND (= (CAR (car PS1)) (CAR(caDr PS1))) (= (CAR (car PS2)) (CAR(caDr PS2))))
(progn (setq Pt1 (car (vl-sort PS1 '(lambda(a b) (< (cadr a) (cadr b))))))
(setq Pt2 (car (vl-sort PS2 '(lambda(a b) (< (cadr a) (cadr b))))))
(setq Pt3 (MAPCAR '(lambda (X Y) (* (+ X Y) 0.5)) pt1 pt2))
(print)
(princ "\n 选取要镜像的图元")
(setq ss (ssget ))
(command "mirror" ss "" pt3 (polar pt3 (* 0.5 pi)10) "n"))
(alert "选取的两直线不是平行线!")
)
(print)
)
(defun HH:PtLists (en)
(list
(vlax-curve-getstartpoint (vlax-ename->vla-object en))
(vlax-curve-getendpoint (vlax-ename->vla-object en))
)
)
(print)
有个差不多论坛上的源码 感谢源作者吧! 你都编程了,为啥还要用它的中心点
(defun LH:MID (po1 po2)
(MAPCAR '(lambda (X Y) (* (+ X Y) 0.5)) po1 po2)
) (command-s "_mirror" (ssget "_+.:E:S") "" "M2P" pause) 自贡黄明儒 发表于 2024-1-3 14:58
(command-s "_mirror" (ssget "_+.:E:S") "" "M2P" pause)
(defun c:QQ()(command-s "_mirror" (ssget "_+.:E:S") "" "M2P" pause))
是这样运行吗老大,但是运行不了
我是想直接点两根竖线得出中线镜像,就是免除了要输入M2P的意思 你是不是不知道论坛可以搜索 你有种再说一遍 发表于 2024-1-3 15:30
你是不是不知道论坛可以搜索
:'(我搜了,没有我想要的代码:'( 277283904 发表于 2024-1-3 15:29
(defun c:QQ()(command-s "_mirror" (ssget "_+.:E:S") "" "M2P" pause))
是这样运行吗老大,但是运行不 ...
1 你首先要选择两根线,计算出中线,取上两个点p1 p2。2 选择镜向物SS3最后一步执行 (command "mirror" ss "" p1 p2 pause) 自贡黄明儒 发表于 2024-1-3 16:14
1 你首先要选择两根线,计算出中线,取上两个点p1 p2。2 选择镜向物SS3最后一步执行 (command "mirror" ...
怎么感觉比输入M2P还要麻烦呢:'( 我是想按1个键直达M2P的命令,不想又按镜像命令后,还要按M2P命令,各位大佬有办法吗?