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. 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.
1. Giới thiệu chung:
LISP là chữ viết tắt của
cụm từ tiếng Anh: LISt Processor (Xử lý danh sách)
Hiện nay AutoLisp đã được
hãng Autodesk phát triển theo các số hiệu phát hành của AutoCad. Về căn
bản những phiên bản sau vẫn sử dụng được những chương trình lập bằng
phiên bản trước, ngược lại thì không được do có một số biến
hệ thống và lệnh của AutoCad giữa các phiên bản không giống nhau nên
việc dùng chung có gặp một số trở ngại. Do vậy yêu cầu người lập
trình AutoLisp phải nắm thật vững AutoCad để sử dụng AutoLisp
một cách hiệu quả.
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.
Với AutoLisp, người dùng có thể dễ dàng
truy cập đến dữ liệu của AutoCad, có thể thayđổi, tạo mới,
xoá bỏ các đối tượng, thêm các thông tin vào bản vẽ thực
hiện các công việc Tựđộng hoá trong thiết kế...
2. Các qui ước của
AutoLisp:
a) Cách viết chương
trình của AutoLisp
Có 2 cách viết chương trình
AutoLisp:
- Viết
trực tiếp:
Tại dòng nhắc Command: của
AutoCad ta có thể gõ các câu lệnh theo cú pháp của
AutoLisp. Lệnh này sẽ được thực thi ngay và cho kết quả trên màm
hình tại vùng dòng lệnh, nhưng lệnh này không lưu trữ được.
- Viết
thành chương trình:
Dùng chương trình soạn thảo
(dạng mã ASCII) bất kỳ hoặc Visual LISP, viết thành chương trình như một
tạp tin nguồn có phần mở rộng *.lsp
Tên tệp tuân thủ theo qui ước
của hệ điều hành, thường không quá 8 ký tự, giữa các ký tự không
có khoảng trống.
Từ VLISP: Tools\ Load Text in Editor
Từ AutoCad: Tool\ Load
Application hoặc trên dòng lệnh Command: ap
Để AutoCad tự động
tải ngay từ khi khởi động hoặc mở bản vẽ có 2 cách:
- Đặt
tên tệp là ACAD.LSP và đặt trong thư mục Support của
AutoCad
- Khi
tải file lần đầu sử dụng Startup Suite\ Contents và
chọn đường dẫn cho file
c) Các hàm trong
AutoLisp
AutoCad nhận và xử lý các
lệnh trong hàm của AutoLisp theo cú pháp sau:
- Tên
hàm do người dùng định nghĩa gồm các chữ cái và con số trừ các
ký tự đặc biệt: như: ? < > , . * & ^ % $ # @ ! ~
\ | { } [ ] ..., tên hàm không nên quá dài và phải dễ quản lý.
- Hàm
và câu lệnh của AutoLisp phải được đặt trong cặp dấu ngoặc đơn,
bắt đầu bằng “(“ và kết thúc bằng “)”
- Hàm
được viết từ trái qua phải theo kiểu Ba-lan, nghĩa là phần tử đầu
tiên sau dấu mở ngoặc phải là tên hàm (có sẵn hay do người lập
trình tự định nghĩa) hay toán tử. Các phần tử đứng sau là các
tham số cần thiết để thực hiện hàm hay toán tử đó.
- Phân
cách giữa tên hàm (hay toán tử) với các tham số, giữa các tham số với nhau
phải có ít nhất một dấu cách (dấu Space).
- Một
câu lệnh có thể viết trên nhiều dòng. Các dòng chữ có thể viết
thụt vào tuỳ ý theo cấu trúc đoạn lệnh cho dễ hiểu.
- Không
phân biệt chữ hoa và chữ thường, thường thì tên hàm nên
viết bằng chữ thường, tên các lệnh và các biến hệ thống của
AutoCad viết bằng chữ hoa cho dễ đọc và chương trình sáng sủa
hơn.
- Bất
kỳ một hàm nào cũng trả về một giá trị nào đó,
nếu không có giá trị trả về trị số mặc định
là nil.
- Lời
chú thích ghi trong chương trình AutoLisp được ghi sau dấu “ ; ” và không được
thực thi trong chương trình.
d) Các biến trong
AutoLisp
- Các
biến của chương trình AutoLisp hoạt động tương tự như các biến
của chương trình khác.
- Tên
biến gồm các chữ cái và các con số (trừ các ký tự đặc
biệt: như: ? < > , . * & ^ % $ # @ ! ~ \ | { } [ ] ...),
nếu chữ số đứng đầu thì tiếp sau phải là chữ cái để tránh
nhầm với các hằng số. Tên biến không nên quá dài
- Tên
biến không phân biệt chữ hoa và chữ thường.
- Có
2 loại biến:
+ Biến chung: là biến tồn
tại trong suốt quá trình làm việc của AutoCad. Để kiểm tra
giátrị cuả biến trong dòm Command của AutoCad
gõ “!ten_biến”.
+ Biến riêng: Là biến chỉ tồn
tại bên trong một hàm. Kết thúc hàm biến này nhận giá trị“Nil”
Chú ý: Các biến tham gia vào
các biểu thức phải được gán giá trị hoặc định nghĩa nếu
khôngứng dụng sẽ bị lỗi.
Các bạn có thể download và xem thêm hướng dẫn load AutoLISP vào AutoCAD

EmoticonEmoticon