带记忆关联移动,用于结构专业改梁宽 问题??
(defun c:srq(/ ss i newss enname endata p1 p2 s_dis BasicPoint os)(setq os (getvar "osmode"))
(setq ss (ssget) i 0 BasicPoint (getpoint "\n输入基点:"))
(command "stretch")
(repeat (sslength ss)
(setq enname (ssname ss i) )
(setq endata (entget enname))
(setq p1 (trans (cdr (assoc 10 endata)) 0 1)
p2 (trans (cdr (assoc 11 endata)) 0 1)
) ;end set
(setq newss (ssget "c" p1 p2))
(command newss)
(setq i (1+ i))
) ;end repeat
(command "" BasicPoint)
(if (= nil RemMove_dis_all)
(progn
(setq RemMove_dis_all (getreal "\n输入移动距离:"))
(setvar "osmode" 0)
(command RemMove_dis_all)
) ;end pro
(progn
(setq s_dis
(getreal (strcat "\n输入移动距离<" (rtos RemMove_dis_all 2 4) ">:"))
) ;end set
(if (= nil s_dis)
(setq s_dis RemMove_dis_all)
) ;end if
(setvar "osmode" 0)
(command s_dis)
(setq RemMove_dis_all s_dis)
) ;end pro
) ;end if
(setvar "osmode" os)
(princ)
) ;end fun
问题就是BasicPoint 为什么没有在前面定义的时候提示输入点呢?而是在后面选完了线之后在执行在屏幕上面选点呢?
还是就是为什么要把直线的起点和终点都转为UCS坐标呢? wcs和UCS关系有点搞不清呢?
页:
[1]