defun c:ZHDGX()
(claim)
(command "layer" "m" "dgxj" "")
(command "layer" "c" "blue" "dgxj" "")
(dgx)
)
(princ "\n******** 键入ZHDGX 启动程序 ***\n")
;;;;;;;;;;;;;;;;;;;;;;;;;
(defun claim()
(alert"\n<< 转换等高线程序 >>")
)
;;;;;;;;;;;;;;;;;;;;;;;;;
(defun dgx()
(setq NEWDIST(getreal"请输入转换等高线的等高距:"))
(prompt "请选择等高线:")
(setq SS(ssget))
(setq len(sslength SS))
(setq n 0)
(repeat len
(setq ent(ssname ss n))
(setq entdate(entget ent))
(setq pd(assoc 0 entdate)))
(setq t1( * NEWDIST 5))
(if(=pd "TEXT")
(PROGN
(setq gc1(assoc 10 entdate))
(setq gc2(cdr gc1))
(setq x0(car gc2))
(setq y0(cadr gc2))
(setq z1(caddr gc2))
(setq ZC(/z1 t1))
(setq zd(fix(-ZC zd))
(if (/=kk 0)(command "erase" ent ""))
)
)
(if( = pd“LWPOLYLINE")
(command "change" ent "" "p" "la" "0" "" :)
(PROGN
(command "pedit" ent "8" "X" "")
(setq gel(assoc 38 entdate))
(setq x0(car ge2))
(setq y0(eadr gc2))
(setq z1(caddr go2))
(setq z0(atof(rtos z1 2 0)))
(setq lst(cons 28 z0))
(setq lst(list 10 x0 y0 z0))
(entmod(subst lst gcl engdate))
(setq Za(/z0 t1)))
(setq zb(fix(/z0 t1)))
(setq kk(-Za zb))
(if (=kk 0)
(PROGN
(command "change" ent "p" "la" "dgxj" "thickness" "8120000" "" )
)
(PROGN
(setq go3(/z0 NEWDIST)))
(setq ge4(fix(/z0 NEWDIST)))
(setq k(-ge4 ge3))
(if(/=k 0)(command "erase" ent ""))
(if(=k 0)(command "change" ent "" "p" "la" "dgx" "p" "thickness" "8110000" ""))
)
)
)
)
(if(= pd "POLYLINE")
(PROGN
(setq ge1(assoc 10 entdate))
(setq go2(cdr ge1))
(setq x0(car gc2))
(setq y0(eadr go2))
(setq z1(erddr go2))
(setq z0(atof(rtos z1 2 0 )))
(setq lst(list 10 x0 y0 z0 ))
(entmod(subst lst ge1 entdate))
(setq Za(/z0 t1))
(setq zb(fix(/z0 t1)))
(setq kk(-Za zb))
(if(= kk 0)
(PROGN
(command "change" ent "" "p" "la" "dgxj" "p" "thickness" "8120000" ""))
)
(PROGN
(setq go3(/z0 NEWDIST))
(setq go4(fix(/z0 NEWDIST)))
(setq k(-gc4 ge3))
(if (/=k 0)(comrllarld "erase" ent ""))
(if (=k 0)(command "change" ent "" "p" "la" "dgx" "p" "thickness" "8110000" "" ))
)
)
)
)
(setq n(+n 1))
)
end repeat
(princ)
)
上面运行以后老师出现”参数类型错误: lselsetp nil“或者”参数类型错误: numberp: nil“或者未知命令
(claim)
(command "layer" "m" "dgxj" "")
(command "layer" "c" "blue" "dgxj" "")
(dgx)
)
(princ "\n******** 键入ZHDGX 启动程序 ***\n")
;;;;;;;;;;;;;;;;;;;;;;;;;
(defun claim()
(alert"\n<< 转换等高线程序 >>")
)
;;;;;;;;;;;;;;;;;;;;;;;;;
(defun dgx()
(setq NEWDIST(getreal"请输入转换等高线的等高距:"))
(prompt "请选择等高线:")
(setq SS(ssget))
(setq len(sslength SS))
(setq n 0)
(repeat len
(setq ent(ssname ss n))
(setq entdate(entget ent))
(setq pd(assoc 0 entdate)))
(setq t1( * NEWDIST 5))
(if(=pd "TEXT")
(PROGN
(setq gc1(assoc 10 entdate))
(setq gc2(cdr gc1))
(setq x0(car gc2))
(setq y0(cadr gc2))
(setq z1(caddr gc2))
(setq ZC(/z1 t1))
(setq zd(fix(-ZC zd))
(if (/=kk 0)(command "erase" ent ""))
)
)
(if( = pd“LWPOLYLINE")
(command "change" ent "" "p" "la" "0" "" :)
(PROGN
(command "pedit" ent "8" "X" "")
(setq gel(assoc 38 entdate))
(setq x0(car ge2))
(setq y0(eadr gc2))
(setq z1(caddr go2))
(setq z0(atof(rtos z1 2 0)))
(setq lst(cons 28 z0))
(setq lst(list 10 x0 y0 z0))
(entmod(subst lst gcl engdate))
(setq Za(/z0 t1)))
(setq zb(fix(/z0 t1)))
(setq kk(-Za zb))
(if (=kk 0)
(PROGN
(command "change" ent "p" "la" "dgxj" "thickness" "8120000" "" )
)
(PROGN
(setq go3(/z0 NEWDIST)))
(setq ge4(fix(/z0 NEWDIST)))
(setq k(-ge4 ge3))
(if(/=k 0)(command "erase" ent ""))
(if(=k 0)(command "change" ent "" "p" "la" "dgx" "p" "thickness" "8110000" ""))
)
)
)
)
(if(= pd "POLYLINE")
(PROGN
(setq ge1(assoc 10 entdate))
(setq go2(cdr ge1))
(setq x0(car gc2))
(setq y0(eadr go2))
(setq z1(erddr go2))
(setq z0(atof(rtos z1 2 0 )))
(setq lst(list 10 x0 y0 z0 ))
(entmod(subst lst ge1 entdate))
(setq Za(/z0 t1))
(setq zb(fix(/z0 t1)))
(setq kk(-Za zb))
(if(= kk 0)
(PROGN
(command "change" ent "" "p" "la" "dgxj" "p" "thickness" "8120000" ""))
)
(PROGN
(setq go3(/z0 NEWDIST))
(setq go4(fix(/z0 NEWDIST)))
(setq k(-gc4 ge3))
(if (/=k 0)(comrllarld "erase" ent ""))
(if (=k 0)(command "change" ent "" "p" "la" "dgx" "p" "thickness" "8110000" "" ))
)
)
)
)
(setq n(+n 1))
)
end repeat
(princ)
)
上面运行以后老师出现”参数类型错误: lselsetp nil“或者”参数类型错误: numberp: nil“或者未知命令