|
[请教22]这个程序请问怎么改进?对于采用与未采用justify 的text在一起,就达不到目的。谢谢[br]先多谢各位大侠,昨天的问题怪我没有说清楚。
我的意思是对于采用justify 的text如Bottom Center(缩放按照11)与缺省justify的textLeft(缩放按10),以及圆、块(缩放按照10)在一起,就达不到目的。
我采用Bottom Center是因为我的文字可以根据一点居中。然后缩放就按照这点来缩放。可是也有文字就是缺省的(left).组代码有10,11。其中11是0,0.
我发现利用捕捉设置里的“INSert"就可以达到找到我希望缩放的基准点。可是这个点怎样提取呢?多谢各位。
另外,我运行这个程序的时候,中途”ESC“,就出现这个信息,”; error: Function cancelled“,怎样才能做到那样可以随时应用ESC呢?
对于这个程序我运行完毕,我想”undo“回去,却发现只能一个个的”undo"回去,这是因为我用循环来多次执行命令,可是怎么样才能一步“undo"就能回到执行程序前的状态呢?
(defun c:ms (/ ss1 ssl n ii ename e1 pt1)
(setvar "cmdecho" 0)
(prompt "\n选择文字、图块、园或椭圆:")
(setq sse (ssget '((0 . "text,insert,circle,ellipse"))))
(setq ssl (sslength sse))
(initget 7)
(setq n (getreal "\n输入缩放的比例:"))
(setq ii 0)
(while (< ii ssl)
(setq ename (ssname sse ii))
(setq e1 (entget ename))
(if (and (= (cdr (assoc 0 e1)) "TEXT") (setq pt1 (assoc 11 e1)))
(setq pt1 (cdr pt1))
(setq pt1 (cdr (assoc 10 e1)))
)
(command "scale" ename "" pt1 n)
(setq ii (1+ ii))
)
(setvar "cmdecho" 1)
(princ)
) |
|