lisp visual 开根号_分享Visual Lisp程序第二波|文件的读与写-lsp文件
繼續分享關于Visual Lisp開發的程序,今天的知識點是讀、寫文件。不知道天天使用AutoCAD畫圖作為設計師的你,有沒有注意到很多圖型是規則的、構成其尺寸的數據都是標準的、圖塊的管理復雜且不易操作……,還有些情況需要將設計的情況或統計數據匯總輸出到外部文件,諸如此類。有沒有想過,在咱們自己開發一個程序,通過瀏覽標準數據庫就能實現一鍵繪制標準件、通用件、常用件并且可以輸出總結資料到外部文件—這里的數據庫也不過是txt或者bat格式的文件。
OK,先來看一下今天要分享的程序吧。
這是一個槽鋼繪制程序的讀取數據部分,槽鋼是鋼結構中常用的型材,在CAD設計中經常用到,cgh.lsp就是為繪制槽鋼三視圖而設計的(只是作為設計進階的興趣而已,網上有很多插件都可以很好的實現這個功能)。數據文件如圖
讀取子程序中cond條件判斷沒有什么新奇的了吧?相關讀取的函數就是(open file mode),我們這里是讀取的模式"r",返回的是打開文件的代碼。
讀取文件中一行的程序是(repeat 行號 (read-line 代碼)),代碼就是open函數返回的文件代碼,行號就是你需要讀取的數據的行數。
小貼士:需要注意的是在控制臺或者命令行進行調試時注意行數的概念,因為文件沒有關閉,在進行read-line函數執行時會從上一次的行碼為0開始計數進行讀取,如果調試時需要使用正確的行碼,需要關閉ff文件。
返回的是由那一行數據組成的字符串,應使用(substr 字符串 起始 長度)讀取需要的數據,比如把第2行的40取出來如下
Atof函數是把字符變為實數型。
再說一下寫數據,這里分享的是統計選擇集中圓、直線、圓弧的數量。
主程序是選擇集及相關的操作函數,子函數是輸出函數,getfiled可以顯示制定目錄中具有指定擴展名的有效文件的列表,通過這個函數LISP語言可以訪問CAD的文件對話框,有四個參數,一個是標題,一個是路徑,一個是擴展名,最后一個是操作數?;蛘咧苯佑胦pen函數指向一個數據庫文件。(write-line)函數和(read-line)類似,也是逐行書寫。最后也需要關閉文件(close)。
小貼士:無論讀還是寫,數據庫中格式很重要,就是給每種類型數據賦予的位數在每行書寫時應統一。否則會亂,也會影響后續數據的處理。
總結
以上是生活随笔為你收集整理的lisp visual 开根号_分享Visual Lisp程序第二波|文件的读与写-lsp文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ 3717 二分+2-sat判定。
- 下一篇: 如何在opengl用代码绘制英文_如何用