简单的移动命令(定向移动与开启捕捉移动)
本帖最后由 doro 于 2014-11-27 10:00 编辑;;;X向移动
(defun C:VX(/ G选集 p1 p2)
(while
(setq G选集(ssget))
(setq p1 (getpoint "\n点取基点"))
(setq p2 (getpoint p1 "\n点取第二点"))
(command "move" G选集 "" p1 ".x" p2 p1)
)
(princ)
)
;;;Y向移动
(defun C:VY(/ G选集 p1 p2)
(while
(setq G选集(ssget))
(setq p1 (getpoint "\n点取基点"))
(setq p2 (getpoint p1 "\n点取第二点"))
(command "move" G选集 "" p1 ".y" p2 p1)
)
(princ)
)
;;;开启捕捉移动
(defun C:VS(/ SM AS SU G数值A G数值 *error*)
(defun *error* (msg)
(setvar "SNAPMODE" SM) ;;;恢复系统变量
(setvar "AUTOSNAP" AS) ;;;恢复系统变量
(setvar "SNAPUNIT" SU) ;;;恢复系统变量
(princ "error: ")
(princ msg);;;打印错误信息
(princ)
)
(setq SM (getvar "SNAPMODE")) ;;;备份系统变量
(setq AS (getvar "AUTOSNAP")) ;;;备份系统变量
(setq SU (getvar "SNAPUNIT")) ;;;备份系统变量
(setq G数值A 100) (setq G数值 (getreal "\n输入捕捉距离 <100>:") G数值A (IF G数值 G数值 G数值A)) ;;;输入
(command "move" (ssget) "")
(setvar "SNAPMODE" 1) ;;;设置系统变量
(setvar "AUTOSNAP" 63) ;;;设置系统变量
(setvar "SNAPUNIT" (list G数值A G数值A)) ;;;设置系统变量
(while (= (logand (getvar "CmdActive") 1) 1) (command pause))
(setvar "SNAPMODE" SM) ;;;恢复系统变量
(setvar "AUTOSNAP" AS) ;;;恢复系统变量
(setvar "SNAPUNIT" SU) ;;;恢复系统变量
(princ)
)
收藏学习!谢谢! 这个就是我想要功能,谢谢楼主 APPLOAD 已成功加载 VX-VY移动.lsp。
命令: ; 错误: 输入中的点位置不正确 这个要怎么解决楼主
页:
[1]