(setq string "10 20 30")
(setq str2list (read (strcat "(" string ")")))
strlist 變成 (10 20 30) 串列
2017年6月12日 星期一
2015年6月22日 星期一
外部命令~lisp呼叫外部 exe 執行檔,等待程式的方式!
因為lisp在開發上的限制,有時會藉由其它開發工具結合使用!
此時可應用 zwcad.pgp 或 acad.pgp
在裡面有些範例
DEL, DEL, 8,要刪除的檔: ,
DIR, DIR, 8,指定檔: ,
EDIT, START EDIT, 9,要編輯的檔: ,
此時可應用 zwcad.pgp 或 acad.pgp
在裡面有些範例
DEL, DEL, 8,要刪除的檔: ,
DIR, DIR, 8,指定檔: ,
EDIT, START EDIT, 9,要編輯的檔: ,
2013年12月4日 星期三
2013年8月12日 星期一
2013年7月30日 星期二
想知道您的CAD軟體,對LISP程式的執行效率嗎?
CAD產品很多種,也都能跑跑LISP,但誰對LISP的支援性好,速度快~
提供一個LISP程式,運算測試誰的速度快吧!
AUTOCAD 2014 約 5.28秒
ZWCAD+ 2012版 5.44秒
發現ZWCAD+ 2012 與AUTOCAD 2014 滿接近的,效能不錯
提供一個LISP程式,運算測試誰的速度快吧!
AUTOCAD 2014 約 5.28秒
ZWCAD+ 2012版 5.44秒
發現ZWCAD+ 2012 與AUTOCAD 2014 滿接近的,效能不錯
2013年6月27日 星期四
常用公式大全!
將常用的數學公式,轉成LISP用的小函數,節省開發的時間喔!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;由弧的兩點及凸出值求得交點
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ArcConner ( p1xy p2xy p1d / )
(setq ptc (CenPtByBulge p1xy p2xy p1d))
(setq p1x (polar p1xy (+ (angle ptc p1xy)(* 0.5 pi)) 1.0))
(setq p2x (polar p2xy (+ (angle ptc p2xy)(* 0.5 pi)) 1.0))
(inters p1xy p1x p2xy p2x nil)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;由弧的兩點及凸出值求得交點
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ArcConner ( p1xy p2xy p1d / )
(setq ptc (CenPtByBulge p1xy p2xy p1d))
(setq p1x (polar p1xy (+ (angle ptc p1xy)(* 0.5 pi)) 1.0))
(setq p2x (polar p2xy (+ (angle ptc p2xy)(* 0.5 pi)) 1.0))
(inters p1xy p1x p2xy p2x nil)
)
將相同圖塊的z值改為絕對值
;;; 功用:將相同圖塊的z值改為絕對值
;;; 指令:RIB
(defun c:rib(/ olde edata ename ss i sslen e ent ez z)
(setq olde (car(entsel "\n請選欲重新整理的圖塊:"))
edata (entget olde)
ename (cdr(assoc 2 edata))
ss (ssget "x" (list (cons 0 "INSERT")(cons 2 ename)))
i 0
)
;;; 指令:RIB
(defun c:rib(/ olde edata ename ss i sslen e ent ez z)
(setq olde (car(entsel "\n請選欲重新整理的圖塊:"))
edata (entget olde)
ename (cdr(assoc 2 edata))
ss (ssget "x" (list (cons 0 "INSERT")(cons 2 ename)))
i 0
)
2013年6月26日 星期三
LISP--缺字體時,自動以 TXT+CHINESET 替換找不到字形的字體
;替換無效字型程式:
(defun C:TFIX()
; ******************************************************************************
; 下一列為使用者要保留的有效的 TrueType 字型檔
(setq valid_ttfs (list "細明體" "新細明體" "標楷體" "@細明體" "@新細明體" "@標楷體" ))
(setq def_shx "txt.shx" )
(setq def_big "chineset.shx" )
; ******************************************************************************
(defun C:TFIX()
; ******************************************************************************
; 下一列為使用者要保留的有效的 TrueType 字型檔
(setq valid_ttfs (list "細明體" "新細明體" "標楷體" "@細明體" "@新細明體" "@標楷體" ))
(setq def_shx "txt.shx" )
(setq def_big "chineset.shx" )
; ******************************************************************************
訂閱:
文章 (Atom)