發表文章

目前顯示的是 10月, 2024的文章

AutoCAD LISP 分享K函數庫

 理念     在學習或是開發AutoCAD LISP的時候,經常因為需要的功能沒有在內部函數中,而需要自行寫出相對的功能,在重複使用相同功能下,則自行定義成函數會方便重複使用,但同時在初期學習或是開發階段,這個過程會花上許多時間,所以我嘗試分享自己寫的函數。     寫成函數的好處: 1. 方便重複利用,可以減少寫得程式碼 2. 解讀程式碼方便,因為對應函數是對應功能,進而快速理解程式碼是做什麼 下載: K函數庫V1.2 AutoCAD 如何載入LISP檔案 範例: ;;;輸出點座標到TXT檔案 ;;;作者:夜源 ;;;時間:2024/10/20 ;;;需載入K函數庫 (defun C:output-point-coordinates ( / ss file)     (princ "\n 選取點物件:")     (cond ((not (setq ss (ssget '((0 . "POINT"))))) (princ "\n 沒有選取點物件") );_ ((not(setq file (getfiled "輸出資料到" "" "txt" 1))) (princ "\n 沒有選擇儲存檔案。") );_ (T (k:file_write      file      (mapcar '(lambda (x)       (K:list-str-combine   (mapcar 'rtos (cdr (assoc 10 (entget x))))   ",")       ) (K:ss->list ss))) );_T );_cond   (princ)   );_end ;;;載入TXT檔案的點座標到圖面繪製點 ;;;作者:夜源 ;;;時間:2024/10/20 ;;;需載入K函數庫 (defun C:load-point-coordinates ( / file lst)     (cond ((not(setq file (getfiled "選取載入