bingshuier 发表于 2014-7-24 23:32:29

带记忆关联移动,用于结构专业改梁宽 问题??

(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]
查看完整版本: 带记忆关联移动,用于结构专业改梁宽 问题??