Mọi chi yêu cầu, thắc mắc các bạn có thể gửi tại diễn đàn xây dựng
Autolisp là gì?
- AutoLisp là một ứng dụng của ngôn ngữ Lisp được sử dụng trong môi trường AutoCAD. LISP là ngôn ngữ lập trình thuộc nhóm trí tuệ nhân tạo do MacCarthy soạn thảo cuối những năm 50. Ngôn ngữ này xuất hiện lần đầu tiên vào năm 1960 trong số xuất bản tháng 4 của tạp chí The Communications of ACM. Vào những năm 60 các ngôn ngữ lúc đó đều đã lỗi thời, trừ Fortran và Cobol. LISP đã đem ngôn ngữ lập trình chuyển sang một kỉ nguyên mới và sau đó hàng chục ngôn ngữ lập trình đã ra đời dựa trên LISP như Common LISP, BYSCO LISP, ExpertLISP, Waltz LISP, XLISP...v...v... AutoLISP phát triển bởi Autodesk là sự hiện thực hóa của ngôn ngữ LISP. Từ bản AutoCAD 2.18 trở đi, AutoLISP trở thành ngôn ngữ của chương trình. Với AutoLisp người dùng có thể mở rộng và tuỳ biến các chức năng của AutoCad.
- AutoLisp là một ngôn ngữ lập trình thông dịch, nghĩa là dịch đến dòng nào thực hiện dòng đó và cho kết quả, không có trình biên dịch riêng. Một tập hợp các câu lệnh của AutoLisp được gọi là hàm Lisp và tệp (file) chứa các hàm gọi là tệp (file) Lisp có phần mở rộng là *.Lsp.
Lấy Autolisp ở đâu?
Hiện nay Autolisp được sử dụng khá phổ biến và được chia sẻ rất nhiều trên mạng, bạn có thể tìm và download Autolisp về sử dụng.
Các file Autolisp thường sẽ có phần mở rộng là *Lsp
Sử dụng Autolisp như thế nào?
Việt sử dụng Autolisp hết sức đơn giản.
- Bạn vào Tools => Load Application để load file lisp (lệnh tắt ap). Click vào ô contents trong phần Startup suite để AutoCad tự động load lisp này mỗi khi khởi động AutoCad.
- Tại dòng nhắc lệnh command của AutoCad gõ trực tiếp lệnh của lisp vào.
Nếu vẫn chưa rõ, hay xem video hướng dẫn sử dụng Autolisp
Làm sao biết lệnh của Autolisp
Lệnh của từng Autolisp là do người lập trình đặt và không có quy tắc chung. Khi chia sẻ các Autolisp họ sẽ chỉ dẫn cho bạn cách dùng các lệnh của nó.
Ví dụ dưới đây là 1 đoạn code của 1 autolisp, bạn có thể copy đoạn code vào notepad rồi lưu lại dưới tên hinhin.lsp [Lưu ý: Encoding ANSI theo mặc định, không được save as dạng Unicode]
Trong đoạn code trên bạn để ý dòng ngay đầu có dạng
( defun C:hinhin(/ W H1 H2 p1 p2 p3 p4 p5 OldOs)
Cơ bản về Autolisp là như vậy. Chúng tôi sẽ trở lại với các bạn với vào phần 2
Làm sao biết lệnh của Autolisp
Lệnh của từng Autolisp là do người lập trình đặt và không có quy tắc chung. Khi chia sẻ các Autolisp họ sẽ chỉ dẫn cho bạn cách dùng các lệnh của nó.
Tuy nhiên, có nhiều trường hợp họ quên cho bạn biết hoạc bạn đã vô tình quên mất lệnh của nó. Bạn sẽ tìm thấy lệnh của nó hết sức đơn giản như sau:
Bạn mở file Autolisp (*.Lsp) bằng các trình soạn thảo như Notepad++ hoạc Editplus chẳng hạn. Sau khi mở ra, tên lệnh của Autolisp sẽ nằm ngay sau dòng mã defun C:
Code:
(
defun C:hinhin(/ W H1 H2 p1 p2 p3 p4 p5 OldOs)
;;;Nhap so lieu
(setq
W (getreal "\nChieu rong nha W = ")
H1 (getreal "\nChieu cao nha H1 = ")
H2 (getreal "\nChieu cao chop nha H2 = ")
p1 (getpoint "\nDiem chuan: ")
;;;----------------------------------------------------------
;;;Tinh toa do
p2 (polar p1 0.0 W)
p3 (polar p2 (/ pi 2) H1)
p4 (polar p3 pi W)
p5 (list (+ (car p4) (/ W 2)) (+ (cadr p4) H2))
)
;;;----------------------------------------------------------
;;;Luu bien osmode
(setq OldOs (getvar "osmode"))
;;;----------------------------------------------------------
;;;Set object snap OFF
(setvar "osmode" 0)
;;;----------------------------------------------------------
;;;Goi lenh AutoCAD
(command "line" p1 p2 p3 p4 "c")
(command "line" p3 p5 p4 "")
;;;----------------------------------------------------------
;;;Tai lap osmode
(setvar "osmode" OldOs)
;;;----------------------------------------------------------
(princ)
)
;;;----------------------------------------------------------
;;;SUMMARY: setq, getreal, getpoint, polar, list, car, cadr, caddr,
+ - * /, command, comment, getvar, setvar, princ
( defun C:hinhin(/ W H1 H2 p1 p2 p3 p4 p5 OldOs)
Như vậy, lệnh của autolisp trên chính là hinhin
0 nhận xét:
Post a Comment