分享 图形旋转
本帖最后由 sharetow 于 2019-12-17 10:45 编辑(defun C:RR(/ dx a1 a2 a3 a4 a5)
(setq
dx (ssget)
a1 (getpoint "\n对象旋转基点 :")
a2 (getpoint a1 "\n对象另一点 :")
a3 (getpoint "\n参照对象第一点 :")
a4 (getpoint a3 "\n参照对象另一点 :")
a5(- 360 (* (- (angle a1 a2) (angle a3 a4)) (/ 180 pi)))
)
(command "_.rotate" dx "" a1 a5 )
(princ)
)
;图形旋转
(DEFUN C:Rt (/ ss pt1 pt2 ang_h1 ang_h2)
(princ"实体操作--图形旋转")
(if (setq ss(ssget))
(progn
(setvar "Autosnap" 63)
(setvar "POLARMODE" 2)
(command "POLARANG" "45")
(if (and
(setq pt1 (getpoint "\n点取旋转基点"))
(setq ang_h1 (getangle pt1 "\n点取原始角度"))
)
(if(setq pt2 (getpoint "\n点取目标角度第一点"))
(if(setq ang_h2 (getangle pt2 "\n点取目标角度第二点"))
(command "rotate" ss "" pt1(* (/ (- ang_h2 ang_h1) pi) 180))
(command "rotate" ss "" pt1(* (/ (- 0 ang_h1) pi) 180))
)
(command "rotate" ss "" pt1(* (/ (- 0 ang_h1) pi) 180))
)
)
)
)
(princ)
) 1028695446 发表于 2019-12-19 21:07
;图形旋转
(DEFUN C:Rt (/ ss pt1 pt2 ang_h1 ang_h2)
(princ"实体操作--图形旋转")
Good,加了逻辑防止未选点位而出错 太好了 非常感谢楼主的分享 每次旋转的时候 系统自带的旋转要拉到一起才行 这样的话方便很多 非常感谢 太好用了。。。超级简单,但是超级方便的小程序。 不错不错 顶一顶,感谢分享~ 操作有点复杂 后面那一步 改成 nentsel 纵横八方 发表于 2019-12-18 13:19
后面那一步 改成 nentsel
参照对象不一定是线段,有可能是块中某两个线段的顶点,感觉nentsel不是很适合,不过需要多点选几次
真的强,很棒,很实用。 Thanks for sharing ^^