lisp设置dimdec并选择
大家好,我试图制作一个lisp文件,该文件将发出命令“0”到“9”,将dimdec变量更改为相应的数字,然后要求我选择一个维度(就像我键入“dim”然后键入“up”)并相应地更新精度。
我从这个开始,有人帮我为dimscale的数组,但我不知道如何编辑它,因为我希望数字是命令本身。。。
(defun c:setdimdec(/ i)<p>(setq i 1)</p><p>(repeat 9</p><p> (eval(read(strcat "(defun c:d" (itoa i)</p><p> "()(setvar \"DIMSCALE\" " (itoa i)</p><p> ")(princ))")))</p><p> (setq i(1+ i))</p><p> ); end repeat</p><p>(princ)</p><p>); end of test</p><p>(c:test)[\code]</p> 试试这个:
(defun c:dd (/ *error* dim ss ssl)
(defun *error* (msg)
(setvar "cmdecho" 1)
(if (= msg "")
(princ "\nFunction Complete.")
(princ "\nError or Esc Pressed...")
) ;_end if
(princ)
) ;_end defun
(setvar "cmdecho" 0)
(if
(>= (setq dim (getint "\nSpecify Number of Decimal Places: ")) 0)
(progn
(setvar "DIMDEC" dim)
(setq ss (ssget))
(if (/= (setq ssl (sslength ss)) 0)
(command "-dimstyle" "a" ss "")
(alert "No Dimensions Selected.")
) ;_end if
) ;_end progn
(alert "Number of Decimal Places must be Positive.")
) ;_end if
(*error* "")
(princ (strcat "\n" (itoa ssl) " Dimensions Updated."))
(princ)
) ;_end defun
谢谢你,李!这很有效。有没有办法将命令“0”指定为“dd”,然后将“0”、“1”指定为“1”等等?这样我只需要少输入一个。 “0”的示例:
(defun c:0 (/ *error* ss ssl)
(defun *error* (msg)
(setvar "cmdecho" 1)
(if (= msg "")
(princ "\nFunction Complete.")
(princ "\nError or Esc Pressed...")
) ;_end if
(princ)
) ;_end defun
(setvar "cmdecho" 0)
(setvar "DIMDEC" 0)
(setq ss (ssget))
(if (/= (setq ssl (sslength ss)) 0)
(command "-dimstyle" "a" ss "")
(alert "No Dimensions Selected.")
) ;_end if
(*error* "")
(princ (strcat "\n" (itoa ssl) " Dimensions Updated."))
(princ)
) ;_end defun
将突出显示的零更改为不同的数字以满足您的需要。 或者,这可能是为了一次更新图形中的所有尺寸。
(defun c:0 (/ *error* ss ssl)
(defun *error* (msg)
(setvar "cmdecho" 1)
(if (= msg "")
(princ "\nFunction Complete.")
(princ "\nError or Esc Pressed...")
) ;_end if
(princ)
) ;_end defun
(setvar "cmdecho" 0)
(setvar "DIMDEC" 0)
(setq ss (ssget "X" (list (cons 0 "DIMENSION"))))
(if (/= (setq ssl (sslength ss)) 0)
(command "-dimstyle" "a" ss "")
(alert "No Dimensions Exist.")
) ;_end if
(*error* "")
(princ (strcat "\n" (itoa ssl) " Dimensions Updated."))
(princ)
) ;_end defun
谢谢李·麦克。你太牛了祝您有个美好的一天。
为诺尔干杯,(也祝你新年快乐)
页:
[1]