(求助)关于选边平行于X轴的实现
请问各位大神有没有选边平行于X轴的代码(可以实现用点选的方式多个选择,并且结束后捕捉点还是回到命令启动前,,,之所以想要点选的方式是,我感觉框选的方式应该行不通,识别不了以哪条边为基础平行)在此谢谢各位大神了,,本人太过愚钝,,对代码这些,,理解欠缺,,所以麻烦一下论坛的大佬了
;选边平行X轴 ZZXXQQ 2020-8-12
(defun c:tt ()
(while (setq s1 (entsel "\n选择一条边: "))
(setq en (car s1) pt (cadr s1))
(setq ang (angle pt (setq pt1 (osnap pt "nea"))))
(if (> ang pi) (setq ang (- ang pi)))
(setq roang (rtos (- 90 (/ (* ang 180) pi)) 2 3))
(command "_.ROTATE" en "" pt1 roang)
)
(princ)
)
选边平行于X轴 ? 就是把三角形旋转呗?你的三角形是块还是3条直线?
根据哪个点旋转呢?一条边有2个端点,还有一个中点。
编这个程序不难。 本帖最后由 love1030312 于 2020-8-10 15:25 编辑
fl202 发表于 2020-8-10 15:04
选边平行于X轴 ? 就是把三角形旋转呗?你的三角形是块还是3条直线?
根据哪个点旋转呢?一条边有2个端 ...
看他的描述就能看出来 是想直接求代码的不可能会自己动手;P;P而且思路有问题;实用性非常差 love1030312 发表于 2020-8-10 15:24
看他的描述就能看出来 是想直接求代码的不可能会自己动手而且思路有问题;实用性非常差
唉,,大神这话说的我要是知道自己打代码的话,,我就自给自足了,,只是说大概的想法,,,一个个自己旋转感觉有灵魂,没效率 哈哈,,所以求助各跑好汉 fl202 发表于 2020-8-10 15:04
选边平行于X轴 ? 就是把三角形旋转呗?你的三角形是块还是3条直线?
根据哪个点旋转呢?一条边有2个端 ...
大神,这个是多段线组成的三角形,不是块,三角形是闭合的,图形不一定是三角形,有可能之后有是矩形,不规则的图形,但不是块,意思就是(输入命令——选择图形边(代码识别该边的两端)——连接部份的
整体平行与X轴——结束) love1030312 发表于 2020-8-10 15:24
看他的描述就能看出来 是想直接求代码的不可能会自己动手而且思路有问题;实用性非常差
我就是不懂代码的思路是怎么样的,所以大致表达一下我认为的想法 一个点没法确定旋转方向,点取边上的两个点控制旋转方向
(defun c:tt(/ pt1 pt2)
(and (ssget)
(setq pt1 (getpoint "\n基点: "))
(setq pt2 (getpoint pt1 "\n点取角度,此角度将改为0度: "))
(command "rotate" "p" "" "non" pt1 "r" "non" pt1 "non" pt2 "0")
)
(princ)
) 生活丨好无奈 发表于 2020-8-11 02:31
一个点没法确定旋转方向,点取边上的两个点控制旋转方向
谢谢大神的帮助,请问有没有可能实现选择边,让该边平行X轴呢 ZZXXQQ 发表于 2020-8-10 12:39
谢谢大神,,这个试了一下,确实实现在我的想法,谢谢 太优秀了