Lisp là gì? 
Lisp là một ngôn ngữ script chạy dưới CAD, sử dụng các mã lisp giúp AutoCAD mạnh hơn.

Đoạn mã Lisp ghi tọa độ điểm XY trong AutoCAD (kết hợp với lệnh ucs để dời gốc tọa độ, ghi kích thước điểm trên các hình chiếu)
(defun err (s)
  (if (/= s "Function cancelled")
    (princ (strcat "\nError: " s))
  )
  (errestore)
)
(defun errinit ()
  (setq olderr *error*
        *error* err
        DT (getvar "dimtad")                      ;Save DIMTAD
        AB (getvar "angbase")                     ;Save ANGBASE
        AD (getvar "angdir")                      ;Save ANGDIR
  )
  (setvar "dimtad" 0)                             ;Set DIMTAD = 0
  (setvar "angbase" 0)                            ;Set ANGBASE = 0
  (setvar "angdir" 0)                             ;Set ANGDIR = 0
)
(defun errestore ()
  (setvar "dimtad" DT)                            ;Restore DIMTAD
  (setvar "angbase" AB)                           ;Restore ANGBASE
  (setvar "angdir" AD)                            ;Restore ANGDIR
  (setq *error* olderr)
  (princ)
)
(defun c:x (/ olderr DT AB AD olddflt dflt prmpt pnt etxt ntxt ctxt
                   ename ent txtpnt txthgt txtjst)
  (errinit)

  (setq dflt "2-lines"
        prmpt (strcat "\n  <" dflt ">/1-line/<coord point>: "))
  (initget "2-lines 1-line")
  (while (setq pnt (getpoint prmpt))
    (if (/= (type pnt) 'LIST)
      (progn
        (setq olddflt dflt dflt pnt)
        (if (= dflt "Undo")
          (progn
            (command "u")
            (setq dflt olddflt)
          );end progn
        );end if
      );end progn
      (progn
        (command "undo" "group")
        (if (= dflt "2-lines")
          (progn
            (setq etxt (strcat " X" (rtos (car pnt) 2 3))
                  ntxt (strcat " Y" (rtos (cadr pnt) 2 3))
            );end setq
            (setvar "texteval" 1)
            (if (= (substr (getvar "acadver") 1 2) "12")
              (progn
                (command "dim1" "leader" pnt pause "" etxt)
                (setvar "texteval" 0)
                (setq ename (entlast)
                        ent (entget ename)
                     txtpnt (cdr (assoc 11 ent))
                     txthgt (cdr (assoc 40 ent))
                );end setq
                (if (= (cdr (assoc 72 ent)) 0)(setq txtjst "ml")(setq txtjst "mr"))
                (setvar "texteval" 1)
                (command "text" txtjst txtpnt txthgt 0 "")
                (command "text" "" ntxt)
              );end progn
              (command "leader" pnt pause "" etxt ntxt "")
            );end if
            (setvar "texteval" 0)
          );end progn
        );end if
        (if (= dflt "1-line")
          (progn
            (setq ctxt (strcat (rtos (car pnt) 2 3) " D, " (rtos (cadr pnt) 2 3) " L"))
            (setvar "texteval" 1)
            (if (= (substr (getvar "acadver") 1 2) "12")
              (command "dim1" "leader" pnt pause "" ctxt)
              (command "leader" pnt pause "" ctxt "")
            );end if
            (setvar "texteval" 0)
          );end progn
        );end if
        (command "undo" "end")
      );end progn
    );end if
    (cond ((= dflt "2-lines") (setq prmpt (strcat "\n  <" dflt ">/1-line/Undo/<coord point>: ")))
          (T                  (setq prmpt (strcat "\n  <" dflt ">/2-lines/Undo/<coord point>: ")))
    );end cond
    (initget "2-lines 1-line Undo")
  );end while

  (errestore)
);end defun

Cách sử dụng file lisp
Gồm 2 bước:

a. Tải (load) file lisp vào AutoCAD 
Khi đã có file lisp trên ổ cứng, dùng lệnh appload (vào menu: Tools > Load Applications ...) rồi chọn file lisp cần sử dụng, nhấn vào phím load. Với mỗi bản vẽ, thao tác tải file chỉ cần thực hiện 1 lần.
Hướng dẫn sử dụng AutoLISP

b. Gọi lệnh trong file lisp vừa tải
Tại dòng command, gõ tên lệnh (xem phần tìm tên lệnh bên dưới) và nhấn enter.

Lưu lại đường dẫn file sau mỗi lần load
Bạn hãy check vào ô Add to History, từ lần sau bạn chỉ cần click tên file lisp từ bảng History list.

Để file lisp tự động được load mỗi khi mở bản vẽ?
bạn hãy click vào ô contents trong phần Startup suite.

Tìm tên lệnh của file lisp
Bạn mở file lsp ra (bằng notepad), tìm đến các dòng mã (defun c:, phía sau c: là tên lệnh. Ví dụ: (defun c:NOILINE thì tên lệnh là NOILINE.

Nguồn: http://www.cadviet.com/

Facebook Google twitter
Từ khóa:
Cùng Chuyên Mục
Blogger Comments
Facebook Comments

Tin Tức Online
Xem Thêm Tất Cả »
Góc Chia Sẻ
Xem Thêm Tất Cả »
Game - Ứng Dụng Hay Tháng 8
Xem Thêm Tất Cả »
Góc Thư Giản
Xem Thêm Tất Cả »
Bài Viết Ngẫu Nhiên
Copyright © 2016 - All Rights Reserved
Template by Bùi Đạt - Powered by Blogger | SiteMap