你好
我已经使用这个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. ")
提前感谢!
杰森 |