文本输入lisp例程帮助!
你好我已经使用这个LISP例程有一段时间了,但我发现文本的位置令人沮丧,因为我不能确切地告诉它将在哪里输入-我只能选择左下角,希望它不会与我试图标记的图标重叠。
有人知道我是否可以在选择放置点之前看到文本并四处移动吗?
我基本上用例程标记图标,这样可以节省我的时间,因为它会自动增加下一个数字,所以我所要做的就是点击!
(defun c:sdinc()
(setq comcab (getstring "\n Cabinet No <00>? "))
(if (= comcab "")
(setq comcab "00")
)
(setq panel (getint "\n Panel No <00>?"))
(setq stnum (getint "\nStarting number? "))
(setq label (strcat comcab "/" (itoa panel) "/" (itoa stnum)))
(setq labe2 (strcat "-" comcab "/" (itoa panel) "/"))
(setq label3 (strcat comcab "/" (itoa panel) "/" (itoa stnum) "-" ))
(setq incrnum (getint "\nIncrement numbers by <1>? "))
(if (= incrnum nil)
(setq incrnum 1))
(setq panelinc 1)
(if (= panelinc nil)
(setq panelinc 1))
(setq txtht (getreal "\n Set textheight to: "))
(setq placepoint (getpoint "\Select text location: "))
(command "text" placepoint txtht "0" label)
(setq stnum (+ stnum incrnum))
(setq label (strcat comcab "/" (itoa panel) "/" (itoa stnum)))
(setq placepoint (getpoint "\Select text location: "))
(while (/= placepoint nil)
(command "text" placepoint txtht "0" label)
(if (= stnum 24)
(setq panel (+ panel panelinc)))
(setq stnum (+ stnum incrnum))
(if (= stnum 25)
(setq stnum 1))
(setq 2ndnum (+ 2ndnum incrnum))
(if (= 2ndnum 26)
(setq 2ndnum 2))
(setq label (strcat comcab "/" (itoa panel) "/" (itoa stnum)))
(setq placepoint (getpoint "\Select text location: "))
(if (> stnum 23)
(setq label (strcat comcab "/" (itoa panel) "/" (itoa stnum))))
)
(princ)
)
(prompt "\nType >SDINC< to run. ")
提前感谢!
杰森 也许可以试试我的递增编号套件程序。
绝对天才计划!!
这将大大有助于感谢,因为我可以看到放置前的文本。
你认为我可以很容易地修改这里的脚本,以确保在前缀中间和后缀之间放置一个/吗?另外,我的典型编号是154/01/01到154/01/24,然后“中间”将增加1,因此下一个数字将是154/02/01到154/02/24,然后是154/03/01到154/03/24。
我认为在数字后面的前缀和中间框中输入/可能更容易,并将后缀增加到24,然后重新运行该命令。
再次感谢,
杰森
页:
[1]