| ||||
編者的話 技術交流 除在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)) ) ) | ||||
技師投稿 | ||||
回頁首▲ |
版權所有,未經確認授權,請勿轉貼節錄
Top | Back |