河南固僖文化传媒有限公司

歡迎光臨深圳市凱迪賢模具有限公司官網(wǎng)!
0755-26825352
18948189678
為AUTOLISP建立缺省輸入函數(shù)

/ 2021/6/5 10:43:41

使用LISP編程時,常常需要用戶回答一些參數(shù),為了提高工作效率,希望能用回車代替某個特定輸入即缺省值。此時,在程序中增加一個判斷可使變量得到缺省回答。



(setqwidth(getreal″inputwidth:″))


(if(nullwidth)(setqwidth0.3));回車置width的值為0.3。


有時需要依上一次的輸入值為本次的缺省輸入(如寬度、角度、距離等),這時就需要用全局變量保存上一次輸入值提供缺省輸入。例如,若欲將上次輸入的寬度值作為缺省輸入可使用下述函數(shù)


(if(not?硍idth)
(setq?硍idth0.3);第一次依0??3為缺省值)
(princ″\inputwidth:″)
(princ″\n
(princ?硍idth)
(princ″:″);顯示提示信息
(setqw1(getrea1))
(if(notw1)
(setqw1?硍idth)
(setq?硍idthw1);用全局變量保存當前輸入值
(princw1)
)


函數(shù)的執(zhí)行結(jié)果是第一次執(zhí)行時依寬度0??3為缺省值,提示信息為inputwidth:,給定新的輸入值后如0??5,下一次依寬度0??5為缺省提示值,提示信息為inputwidth:。


在一般情況下,還可通過建立缺省處理函數(shù),加快程序處理速度,減少編碼。如


(defundefal(strval)
(setq?砱lobaval)
(princ(strcatstr″
(princ?砱loba)
(princ″″)
(setqvar(getreal))
(if(notvar)
(setqvar?砱loba);用缺省值作為輸入
)
(princvar)
)


這是一個有參函數(shù),它將輸入的實數(shù)作為返回值。當按(defal″inputwidth″0.5)調(diào)用時提示信息為inputwidth:。該函數(shù)能按str的提示缺省輸入實數(shù)(由val給定)類值(如角度、距離等),加入到ACAD?盠SP文件中即可像LISP標準函數(shù)一樣供其它函數(shù)調(diào)用。



服務(wù)熱線

0755-26825352

企業(yè)微信銷售咨詢

江津市| 潍坊市| 育儿| 西华县| 申扎县| 五指山市| 镇雄县| 永城市| 南京市| 雅安市| 莱阳市| 普兰县| 成武县| 阜平县| 华亭县| 西华县| 曲松县| 威海市| 阆中市| 鸡东县| 东方市| 迭部县| 日土县| 托克逊县| 中阳县| 新巴尔虎左旗| 元阳县| 松潘县| 蒙阴县| 双鸭山市| 景东| 蛟河市| 石渠县| 高青县| 鄂托克前旗| 安徽省| 苍山县| 江门市| 温宿县| 深泽县| 太原市|