liangyanke 发表于 2019-11-30 20:23:55

为啥不能循环?

本帖最后由 liangyanke 于 2019-11-30 20:30 编辑


[*](defun c:xz (/ en en2 ent p1 p2)
[*](vl-load-com)
[*](princ "选择箭头:")
[*]
[*](setq ent (ssget))
[*]
[*](repeat 100
[*](command "copy" ent "" "@""@")
[*](setq en2 (entlast))
[*](setq p1 (vlax-curve-getstartpoint en2))
[*](setq p2 (getpoint p1 "\n请点取输入点:"))
[*](command "move" en2 ""p1   p2)
[*](command "rotate" en2 "" p2 )
[*](setq ent en2)
[*])
[*])

434939575 发表于 2019-12-1 09:47:02

<div class="blockcode"><blockquote>(defun c:tt (/ en en2 ent p1 p2)
(vl-load-com)
(princ "选择箭头:")
(setq ent (ssget))

(while ent
(command "copy" ent "" "@""@")
(setq en2 (entlast))
(setq p1 (vlax-curve-getstartpoint en2))
(setq p2 (getpoint"\n请点取输入点:"))
(setq ang (angle p1 p2))
(setq jd (/ (* ang 180.0) pi));角度转度数
(command "move" en2 ""p1   p2)
(command "rotate" en2 """non" p2jd"")

)
)

liangyanke 发表于 2019-12-1 10:53:15

非常感谢,但是我想要达到的效果是,知道p2后还能自己旋转,而且能看到旋转之后的样子。

434939575 发表于 2019-12-1 13:15:27

liangyanke 发表于 2019-12-1 10:53
非常感谢,但是我想要达到的效果是,知道p2后还能自己旋转,而且能看到旋转之后的样子。

角度根据什么来定

liangyanke 发表于 2019-12-2 12:17:30

434939575 发表于 2019-12-1 13:15
角度根据什么来定

角度没有确定的值,需要再点击一下,确定角度,和旋转命令一样,只是基点是确定的

434939575 发表于 2019-12-2 12:42:22

liangyanke 发表于 2019-12-2 12:17
角度没有确定的值,需要再点击一下,确定角度,和旋转命令一样,只是基点是确定的

(setq ang (angle p1 p2))这个是确定角度或者你其他点代替到里面。

liangyanke 发表于 2019-12-4 18:41:24

434939575 发表于 2019-12-2 12:42
(setq ang (angle p1 p2))这个是确定角度或者你其他点代替到里面。

非常感谢,已经解决啦,(command "rotate" en2 "" p2 pause ),这样就是我想要的结果
页: [1]
查看完整版本: 为啥不能循环?