框选对齐 改造align命令
引用:关于align的命令 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz! (mjtd.com)本帖最后由 qazxswk 于 2022-6-30 04:15 编辑
很认真地测试了你的代码,发现,在对齐时,关闭捕捉,能避免一些错误。另外,最好把end点改为mid点,这样对齐后的对象不会偏到一边去。
(defun c:tt(/ osm ss e1 pt1 pt2 e2 pt3 pt4)
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq ss (ssget))
(setq e1(entsel "\n选择要对齐的边线"))
(while (= e1 nil) (setq e1 (entsel "\n选择要对齐的边线")));while
(setq pt1 (osnap (cadr e1) "mid"))
(setq pt2 (osnap (cadr e1) "nea"))
(setq e2 (entsel "\n对齐参照线"))
(while (= e2 nil) (setq e2 (entsel "\n对齐参照线")));while
(setq pt3 (osnap (cadr e2) "mid"))
(setq pt4 (osnap (cadr e2) "nea"))
(command "_.align" ss "" pt1 pt3 pt2 pt4 "" "n")
(setvar "osmode" osm)
(setvar "cmdecho" 1)
(princ) )
htlaser 发表于 2022-4-30 09:39
我测试了下没什么问题 如果有问题应该取点的问题了!
可能是取点时没有精确到对象吧。另外代码中(setq en1 (car e))与(setq en2 (car e2)) 没有用吧,可以删除的。 qazxswk 发表于 2022-6-30 03:43
很认真地测试了你的代码,发现,在对齐时,关闭捕捉,能避免一些错误。另外,最好把end点改为mid点,这样对 ...
确实要关闭捕捉才能对齐 给源码区 增加点人气 谢谢分享,下载试试 试用了一下好像和AL命令没有啥区别 完整武器 发表于 2022-4-29 08:50
试用了一下好像和AL命令没有啥区别
align要手动指定4个点 简化一点 试验了一下,如果从水平状态对齐倾斜的直线,不行。 斜的图块对齐水平直线 也有问题 我测试了下没什么问题 如果有问题应该取点的问题了!
谢谢分享,下载试试 非常好用,感谢分享
页:
[1]
2