zcjhy 发表于 2003-12-22 00:21:00

[LISP]在点取点之前先看到将要出现的图形的形状

如何在下代码中,在点取点之前先看到将要出现的图形的形状,这样可以确定其位置,保证不会与其它图形重叠。如果可以的话能否帮我修改一下。谢谢!
CODE](defun C:BJ()
    (print "\n选择标注意颜色:")

; (command "FONTALT" "隶书")
    (command "CECOLOR" (acad_colordlg6))
    (setq old_rr (getvar "circlerad"))
    (setq str_rr (strcat "\n圆半径<" (rtos old_rr 2) ">:"))

    (setq rr1 (getdist str_rr))
    (if (null rr1) (setq rr1 old_rr))
    (setq num (getint "\n起始值<1>:"))
    (if (= num nill) (setq num 1))
    (setq pt (getpoint "\n 插入点:"))

    (while pt
          (setq cen pt)
(setq ss (ssadd))
      (command "circle" cen (* rr1 1.05))
(setq ss (ssadd (entlast)))
      (command "circle" cenrr1)
          (setq ss (ssadd (entlast) ss))
          (command "_hatch" "solid" ss "")
(command "-style" "new" "隶书" (* rr1 0.8) "1" "0" "n" "n")
      (command "text" "m" cen"0" (itoa num))
          (setq num (1+ num))
          (setq pt (getpoint pt "\n下一个插入点"))
    )
    (ptinl)
)[
页: [1]
查看完整版本: [LISP]在点取点之前先看到将要出现的图形的形状