大家好
我有一个文本例程,可以按我想要的方式运行。它检查cannoscalevalue并相应地设置文本大小。
- ;;Type T1 to start the MTEXT command on the correct layer
- (command "-dimstyle" "R" "Standard")
- (defun c:T1 ()
- (setvar "cmdecho" 0)
-
- (setvar "dimscale" (/ 1.0 (getvar "CANNOSCALEVALUE")))
- (setq ins (getvar "insunits"))
-
- (cond
- (= (getvar 'dimscale) 1)
- (= (getvar 'dimscale) 2)
- (= (getvar 'dimscale) 5)
- (= (getvar 'dimscale) 10)
- (= (getvar 'dimscale) 20)
- (= (getvar 'dimscale) 25)
- (= (getvar 'dimscale) 50)
- (= (getvar 'dimscale) 100)
- (= (getvar 'dimscale) 200)
- (= (getvar 'dimscale) 250)
- (= (getvar 'dimscale) 500)
- (= (getvar 'dimscale) 1000)
- (= (getvar 'dimscale) 2000)
- (= (getvar 'dimscale) 2500)
- (= (getvar 'dimscale) 5000)
- (= (getvar 'dimscale) 10000)
- )
- (setq scale (getvar "DIMSCALE"))
- (setq ln (strcat "L-TEXT-SMLL-"(rtos scale 2 0)))
- (command "-LAYER" "m" ln "co" "7" ln "p" "p" ln "")
- (setvar "CECOLOR" "bylayer")
- (prompt "\n Please pick your start point for DTEXT ")
-
- (setvar "TEXTSTYLE" "Standard")
- (setvar "TEXTSIZE" (* 1.8(getvar "DIMSCALE")))
-
- (initdia)(command "mtext" pause)
- (setvar "cmdecho" 1)
- (princ)
- )
现在,我想添加一些代码来检查图形是以毫米为单位还是以米为单位,并应用比例来说明这一点。下面是我用红色添加的内容
- ;;Type T1 to start the MTEXT command on the correct layer
- (command "-dimstyle" "R" "Standard")
- (defun c:T1 ()
- (setvar "cmdecho" 0)
-
- [color="red"](setq ins (getvar "insunits"))[/color]
-
- (cond
- [color="red"]((= ins 4)[/color]
- [color="red"](setvar "dimscale" (/ 1.0 (getvar "CANNOSCALEVALUE")))[/color]
- [color="red"]((= ins 6)[/color]
- [color="red"](setvar "dimscale" (/ 0.001 (getvar "CANNOSCALEVALUE")))[/color]
- (= (getvar 'dimscale) 1)
- (= (getvar 'dimscale) 2)
- (= (getvar 'dimscale) 5)
- (= (getvar 'dimscale) 10)
- (= (getvar 'dimscale) 20)
- (= (getvar 'dimscale) 25)
- (= (getvar 'dimscale) 50)
- (= (getvar 'dimscale) 100)
- (= (getvar 'dimscale) 200)
- (= (getvar 'dimscale) 250)
- (= (getvar 'dimscale) 500)
- (= (getvar 'dimscale) 1000)
- (= (getvar 'dimscale) 2000)
- (= (getvar 'dimscale) 2500)
- (= (getvar 'dimscale) 5000)
- (= (getvar 'dimscale) 10000)
- )
- (setq scale (getvar "DIMSCALE"))
- (setq ln (strcat "L-TEXT-SMLL-"(rtos scale 2 0)))
- (command "-LAYER" "m" ln "co" "7" ln "p" "p" ln "")
- (setvar "CECOLOR" "bylayer")
- (prompt "\n Please pick your start point for DTEXT ")
-
- (setvar "TEXTSTYLE" "Standard")
- (setvar "TEXTSIZE" (* 1.8(getvar "DIMSCALE")))
-
- (initdia)(command "mtext" pause)
- (setvar "cmdecho" 1)
- (princ)
- )
但我得到了一个错误:输入的列表格式不正确
我对COND语句没有真正的理解,并且假设我的语法不正确。有人能建议帮忙吗?
谢谢
保罗 |