|
||||
編者的話
技術交流
除在EXCEL中使用VBA來簡化工作上可程式化之作業外,目前常使用於工程製圖之Autocad 亦可以autolisp 或 vba 纂寫程式來,並執行這一些小程式來處理循環作業,以提高作業效率。 以下為一座標自動標示程式,於Autocad 載入後,執行 s1 即可協助標示座標,程式很小,也滿簡單的,但對座標摽示,提供了協助,而無須去執行如DCA等大型程式,提供各先進參考。
(defun
c:s1(/ pt0 pt1) (setq
pt0 (osnap (getpoint "select intersection point of LEFT DOWN:
")"int")) (terpri) (setq
pt1 (osnap (getpoint "select intersection point of RIGHT UP:
")"int")) (terpri) (setq
incr (getint "Enter increment: ")) (terpri) (setq
xx1 (car pt1)) (setq
yy1 (cadr pt1)) (setq
sx0 (car pt0)) (setq
sy0 (cadr pt0)) (setq
nbx (fix (/ (- (+ xx1 incr 1) sx0) incr))) (setq
nby (fix (/ (- (+ yy1 incr 1) sy0) incr))) (setq
sy1 (+ sy0 0.5)) (setq
i 0) (repeat
nbx (setq
sx1 (+ (* i incr) (- sx0 0.1))) (setq
ptx (list sx1 sy1)) (setq
sx (+ (* i incr) sx0)) (setq
txt (rtos sx 2 0)) (command
"text" ptx 90 txt) (setq
i (+ 1 i)) ) (setq
sx0 (car pt0)) (setq
sy0 (cadr pt0)) (setq
sx1 (+ sx0 0.5)) (setq
i 0) (repeat
nby (setq
sy1 (+ (* i incr) (+ sy0 0.1))) (setq
pty (list sx1 sy1)) (setq
sy (+ (* i incr) sy0)) (setq
txt (rtos sy 2 0)) (command
"text" pty 0 txt) (setq
i (+ 1 i)) ) ) |
||||
技師投稿
|
||||
回頁首▲ |
版權所有,未經確認授權,請勿轉貼節錄