Đồ án: Tìm hiểu AutoLISP và Ứng dụng trong AutoCAD - Đại học Dân lập Hải Phòng

Đồ án tốt nghiệp: Tìm hiểu Autolisp và ứng dụng Autolisp trong AutoCAD. Khám phá cách Autolisp giúp tự động hóa thiết kế, tăng năng suất vẽ kỹ thuật.

Trường đại học

Đại học dân lập Hải Phòng

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp
54
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời cảm ơn

1. Phần 1: Giới thiệu

1.1. Tên và mục đích của đề tài

1.2. Giới thiệu vài nét về cơ quan thực tập

2. Phần 2: Nội dung

Lời mở đầu

2.1. Khái quát về lập trình trong AutoCAD

2.1.1. Kỹ thuật tự động ActiveX (ActiveX Automation)

2.1.2. AutoCAD VBA

2.1.3. AutoLISP và Visual LISP

2.1.4. ObjectARX

2.2. Giới thiệu chung

2.2.1. Vài nét sơ lược về LISP

2.2.2. Lịch sử phát triển AutoLisp

2.2.3. Ưu nhược điểm của AutoLisp

2.3. Ngôn ngữ lập trình AutoLISP

2.3.1. Căn bản về AutoLisp

2.3.1.1. Xây dựng biểu thức AutoLISP
2.3.1.2. Cách nhập biểu thức AutoLISP:
2.3.1.3. Các hàm số học

Tóm tắt

I. AutoLISP trong AutoCAD Tổng Quan Lợi Ích và Giới Thiệu

AutoLISP là một ngôn ngữ lập trình mạnh mẽ, được xây dựng dựa trên ngôn ngữ LISP, và tích hợp sâu vào AutoCAD. Nó cho phép người dùng tùy biến và mở rộng các chức năng của AutoCAD, tự động hóa các tác vụ lặp đi lặp lại, và tạo ra các công cụ chuyên dụng cho các ngành nghề khác nhau. Việc nắm vững AutoLISP mang lại lợi thế lớn cho người dùng AutoCAD, giúp tăng năng suất, giảm thiểu sai sót và nâng cao chất lượng công việc. AutoLISP là một ngôn ngữ thông dịch, được viết theo cú pháp và thủ tục chặt chẽ như ngôn ngữ LISP, nhưng được bổ sung thêm các hàm để phù hợp với AutoCAD. Sử dụng AutoLISP, người dùng có thể viết các chương trình macro để tạo lệnh mới hoặc các chương trình tự động thiết kế bản vẽ được sử dụng thường xuyên, thực hiện với các lệnh có sẵn của AutoCAD để góp phần tăng năng suất thiết kế. Có thể nói, để làm chủ lập trình AutoCAD thì AutoLISP chính là cánh cửa đầu tiên mà bạn cần vượt qua. Việc viết code trong AutoCAD nói riêng và việc lập trình thường chiếm thời gian rất lâu đối với người không chuyên. Trong ba ngôn ngữ kể trên thì Visual LISP được yêu thích hơn cả bởi câu lệnh đơn giản lại có thể sử dụng sẵn các câu lệnh của AutoCAD một cách tiện lợi. Ít câu lệnh và ít thuật toán rắc rối, dễ học, dễ viết. Chính vì thế Visual LISP trong đại đa số người sử dụng là một phương pháp hoàn thiện, tích hợp các lệnh vẽ có sẵn của AutoCAD theo yêu cầu của từng cá nhân. Việc ứng dụng AutoLISP trong AutoCAD giúp các kỹ sư thiết kế tiết kiệm thời gian và công sức đáng kể. Ví dụ, trong ngành thiết kế công trình nhà ở, cầu đường, Việt Nam có những tiêu chuẩn riêng do bộ Công Nghiệp đặt ra đối với các bản vẽ mà không theo tiêu chuẩn chung của thế giới. Với AutoLISP, các kỹ sư có thể tạo ra các lệnh tùy chỉnh để vẽ các chi tiết tuân theo các tiêu chuẩn này một cách nhanh chóng và chính xác, thay vì phải thực hiện các thao tác thủ công lặp đi lặp lại.

1.1. Lịch Sử Phát Triển và Các Phiên Bản Quan Trọng của AutoLISP

AutoLISP, như một nhánh của Common LISP, đã trải qua một quá trình phát triển lâu dài, gắn liền với sự tiến bộ của AutoCAD. Nó được phát triển dựa trên ngôn ngữ XLISP bởi David Betz và phiên bản đầu tiên ra mắt năm 1986. Cùng với sự phát triển của AutoCAD, các phiên bản AutoLISP ngày càng hoàn thiện với nhiều tính năng mới. Visual LISP, phiên bản mở rộng với IDE, debugger và complier, ra đời sau đó và được tích hợp vào AutoCAD 2000. Ta có thể kể đến một vài phiên bản tiêu biểu như sau: phiên bản 2.5 tích hợp vào AutoCAD R7 với một số tính năng cơ bản về các tương tác với các đối tượng trong bản vẽ; phiên bản .6 tích hợp vào AutoCAD R7 với chức năng 3D và một số hàm mới; phiên bản tích hợp vào AutoCAD R12 giới thiệu một số hàm GUI và ngôn ngữ điều khiển hộp thoại DCL. Vital LISP là phiên bản mạnh nhất trong các phiên bản AutoLisp và được tích hợp trong VBA. AutoDesk đã mua lại nó và đặt tên là Visual Lisp, và trong một thời gian ngắn đã bán nó như là một phần mềm add-on. Nó được tích hợp vào AutoCAD để thay thế cho AutoLisp trong AutoCAD 2000 phiên bản ra đời tháng 3/1999.

1.2. So Sánh AutoLISP với Các Ngôn Ngữ Lập Trình Khác Trong AutoCAD

AutoCAD hỗ trợ nhiều ngôn ngữ lập trình khác nhau như ActiveX, VBA, AutoLISP, Visual LISP và ObjectARX. Mỗi ngôn ngữ có ưu điểm và nhược điểm riêng. AutoLISP nổi bật với sự đơn giản, dễ học và khả năng tương tác trực tiếp với các lệnh AutoCAD. Việc sử dụng ngôn ngữ nào để lập trình cho AutoCAD là tuỳ thuộc vào mục đích của chương trình và thói quen lập trình của mỗi người. Ưu điểm của AutoLISP là làm việc tốt với điểm và các yếu tố hình học, rất mềm dẻo, không khắt khe. Không cần trình dịch, lập trình và thực hiện lệnh. Chạy được trên các hệ điều hành với cùng 1 file Lisp. Quản lý đối tượng với List-kiểu dữ liệu rất thích hợp trong quản lý tọa độ điểm. Mã nguồn mở và cộng đồng phát triển Autolisp rộng lớn. Tuy nhiên, so với ObjectARX, AutoLISP có tốc độ thực thi chậm hơn và khả năng tương tác với hệ thống hạn chế. So với VBA, AutoLISP kém trực quan hơn. Dù vậy, AutoLISP vẫn là lựa chọn hàng đầu cho những người mới bắt đầu lập trình AutoCAD.

II. Thách Thức và Hạn Chế Khi Sử Dụng AutoLISP trong AutoCAD

Mặc dù AutoLISP mang lại nhiều lợi ích, việc sử dụng nó cũng đi kèm với một số thách thức và hạn chế. Một trong số đó là hiệu suất. AutoLISP là một ngôn ngữ thông dịch, do đó, tốc độ thực thi có thể chậm hơn so với các ngôn ngữ biên dịch như ObjectARX. Điều này có thể là một vấn đề đối với các chương trình phức tạp hoặc các tác vụ đòi hỏi hiệu suất cao. Một hạn chế khác là khả năng tương tác với hệ thống. AutoLISP có ít khả năng tương tác trực tiếp với hệ điều hành hoặc các ứng dụng khác so với các ngôn ngữ như VBA hoặc ObjectARX. AutoLisp là một ngôn ngữ lập trình rất mạnh, bạn sẽ cần tốn một thời gian để học và làm chủ nó. Ưu điểm của AutoLISP là làm việc rất tốt và dễ dàng với điểm và các yếu tố hình học, rất mềm dẻo , không khắt khe. Không cần trình dịch , lập trình và thực hiện lệnh. Chạy được trên các hệ điều hành với cùng 1 file Lisp. Quản lý đối tượng với List-kiểu dữ liệu rất thích hợp trong quản lý tọa độ điểm. Mã nguồn mở và cộng đồng phát triển Autolisp rộng lớn. Tuy nhiên nhược điểm là hình thức không đẹp, không có trình biên dịch, ngôn ngữ trung gian nên thực thi chậm, hầu như không thể tương tác với hệ thống. Hơn nữa, việc gỡ lỗi các chương trình AutoLISP có thể khó khăn, đặc biệt là đối với người mới bắt đầu. Vì AutoLISP không có trình biên dịch, các lỗi cú pháp chỉ được phát hiện khi chương trình được thực thi. Tuy nhiên, với sự hỗ trợ của Visual LISP IDE, việc gỡ lỗi đã trở nên dễ dàng hơn.

2.1. Vấn Đề Hiệu Suất và Tốc Độ Thực Thi của AutoLISP

Hiệu suất là một trong những mối quan tâm hàng đầu khi sử dụng AutoLISP. Do là một ngôn ngữ thông dịch, AutoLISP có thể chậm hơn so với các ngôn ngữ biên dịch. Để cải thiện hiệu suất, người dùng nên tối ưu hóa mã AutoLISP, tránh sử dụng các hàm lặp đi lặp lại và tận dụng các hàm có sẵn của AutoCAD. Có thể khẳng định AutoLisp là ngôn ngữ dễ tiếp cận so với một số ngôn ngữ lập trình khác vì nó là ngôn ngữ lập trình theo kịch bản. Tuy nhiên để có thể tiếp cận với AutoLisp yêu cầu người học phải có kiếm thức nền về lập trình và nắm vững về AutoCAD, đồng thời phải có kiến thức nhất định về hình học. Chương trình AutoLisp là một tổ hợp những kịch bản được định trước nắm điều khiển AutoCAD thực thi theo suy nghĩ của người thiết kế .

2.2. Khả Năng Tương Tác Giới Hạn với Hệ Thống và Các Ứng Dụng Khác

AutoLISP có ít khả năng tương tác trực tiếp với hệ điều hành hoặc các ứng dụng khác. Điều này có thể là một hạn chế đối với các ứng dụng cần truy cập các tài nguyên hệ thống hoặc trao đổi dữ liệu với các ứng dụng khác. Ví dụ, bạn muốn tự động hóa quy trình nhập dữ liệu từ Excel vào AutoCAD, VBA có thể là lựa chọn tốt hơn. Đa số mọi người muốn học Autolisp là để giải quyết những bài toán trong lĩnh vực chuyên môn của mình. Để tiếp cận và ứng dụng tốt Autolisp trong công việc yêu cầu người lập trình phải có sự liên hệ với nhu cầu công việc thực tế, điều này phụ thuộc rất lớn vào sở trường của mỗi người.

2.3. Gỡ Lỗi và Quản Lý Mã Nguồn AutoLISP Hiệu Quả

Việc gỡ lỗi có thể khó khăn, vì AutoLISP không có trình biên dịch riêng. Ta có thể sử dụng các công cụ gỡ lỗi tích hợp sẵn trong AutoCAD, hoặc sử dụng Visual LISP IDE. Cần chú ý đến các lỗi cú pháp, lỗi logic và lỗi thời gian chạy. Thêm chú thích vào mã để dễ hiểu và bảo trì sau này. Nên tuân thủ theo quy tắc đặt tên rõ ràng.Bạn đang thực hiện một vài thao tác để hoàn thiện bản vẽ của mình và bạn chợt nhận ra nó cứ lặp lại liên tục. Một ý tưởng nảy ra là bạn cần thực hiện một đoạn chương trình Autolisp để tự động thực hiện các thao tác này và chương trình Autolisp được hoàn thành. Các biến và ký hiệu trong AutoLISP có giá trị tĩnh như tên hàm, tên hàm tự tạo hay các hằng số gọi chung là các ký hiệu, các dữ liệu thay đổi trong các chương trình gọi là biến.

III. Cú Pháp Cơ Bản và Các Hàm Thông Dụng trong AutoLISP

Để làm việc hiệu quả với AutoLISP, người dùng cần nắm vững cú pháp cơ bản và các hàm thông dụng. Cú pháp của AutoLISP dựa trên biểu thức, trong đó phần tử đầu tiên là một hàm và các phần tử còn lại là các tham số. Các hàm thông dụng bao gồm các hàm số học (+, -, *, /), các hàm xử lý chuỗi (strcat, substr), các hàm xử lý danh sách (car, cdr, cons), các hàm nhập liệu (getpoint, getstring) và các hàm điều khiển luồng (if, while). Cú pháp cơ bản là Danh sách (List) là cấu trúc cơ bản trong AutoLISP. Danh sách là tập hợp các phần tử chứa trong dấu ngoặc đơn và cách nhau bởi khoảng trắng. Có hai loại danh sách là biểu thức và danh sách dữ liệu. Biểu thức là thành phần cơ bản nhất trong các chương trình AutoLISP. Phần tử đầu tiên của biểu thức là một hàm. Hàm này sẽ được AutoLISP định giá trị và trả về kết quả. Một biểu thức AutoLISP đơn giản giống như một biểu thức toán học.Sự khác nhau chủ yếu giữa chúng la thứ tự các phần tử và phải có dấu () trong AutoLISP. Ta có thể nhập biểu thức bằng cách nhập trực tiếp tại dòng nhắc lệnh, gọi từ menu và tải file chương trình. Để xây dựng các hàm số học thì AutoLISP có hàm cộng, trừ, nhân, chia.

3.1. Các Kiểu Dữ Liệu Cơ Bản và Cách Khai Báo Biến trong AutoLISP

AutoLISP hỗ trợ nhiều kiểu dữ liệu cơ bản như số nguyên, số thực, chuỗi, danh sách và đối tượng AutoCAD. Để khai báo biến, người dùng sử dụng hàm setq. Hàm setq có thể trả về giá trị rỗng “nil”, true “T” hoặc các số, chuỗi, danh sách. Để đổi dấu giá trị kiểu số chứa trong biến, ta dùng hàm trừ với một tham số duy nhất. Kiểu dữ liệu chứa trong biến phải phù hợp với kiểu dữ liệu mà hàm yêu cầu. Các dữ liệu chuỗi không thể dùng làm tham số cho các hàm số học. Để lấy giá trị của biến, ta đặt dấu ! trước tên biến.

3.2. Các Hàm Xử Lý Chuỗi và Danh Sách Thường Dùng trong AutoLISP

AutoLISP cung cấp nhiều hàm để xử lý chuỗi và danh sách. Các hàm xử lý chuỗi bao gồm strcat (nối chuỗi), substr (cắt chuỗi) và strlen (độ dài chuỗi). Các hàm xử lý danh sách bao gồm car (phần tử đầu), cdr (phần còn lại), cons (thêm phần tử), list (tạo danh sách) và length (độ dài danh sách). Để có thể xử lý chuỗi, thì sử dụng Hàm ATOF (Ascii TO Floating point decimal): chuyển đổi một chuỗi thành số thực, Hàm DISTOF (Distance TO Floating point decimal): tương tự hàm atof. Để tạo danh sách thì có hàm List, ví dụ như (setq L (list “Nha” “Tran” “cua so” 78.5 ‘(20 20 30))), có 5 phần tử với các kiểu dữ liệu khác nhau trong danh sách. Để trích ra phần tử đầu tiên của danh sách dùng hàm CAR và hàm CDR tạo ra danh sách từ một danh sách gốc bằng cách loại bỏ phần tử đầu tiên trong danh sách gốc, chỉ lấy các phần tử còn lại.

3.3. Cách Định Nghĩa Hàm Tự Tạo và Sử Dụng Biến Cục Bộ Toàn Cục

Người dùng có thể định nghĩa hàm tự tạo bằng hàm defun. Hàm tự tạo có thể nhận các tham số và trả về một giá trị. Biến cục bộ chỉ có phạm vi trong hàm, trong khi biến toàn cục có phạm vi trong toàn bộ chương trình. Cú pháp hàm tự tạo là (defun [tên hàm] [danh sách biến] [biểu thức])trong đó danh sách biến gồm hai phần ngăn cách nhau bởi dấu /. Phần thứ nhất chứa các tham số cần thiết khi gọi hàm, phần thứ hai chứa các biến cục bộ của hàm.

IV. Ứng Dụng Thực Tế Tự Động Hóa Thiết Kế với AutoLISP trong AutoCAD

AutoLISP có thể được sử dụng để tự động hóa nhiều tác vụ thiết kế trong AutoCAD. Ví dụ, người dùng có thể tạo ra các lệnh tùy chỉnh để vẽ các đối tượng phức tạp, tạo bảng thống kê, hoặc kiểm tra lỗi trong bản vẽ. Để minh họa cho lợi ích của việc sử dụng các hàm tự tạo AutoLISP trong thiết kế các bản vẽ kỹ thuật bằng AutoCAD, em đã xây dựng lên hai hàm tự tạo để vẽ các chi tiết thường được dùng khi thiết kế các chi tiết máy và trong thiết kế cầu đường. Đó là lỗ Gujong có tác dụng đệm trong một số chi tiết máy và dầm chữ I bê tông dự ứng lực trước trong cầu đường. Có thể nói, để tự động hóa thiết kế thì AutoLISP vô cùng hữu ích. Chương trình AutoLisp là một tổ hợp những kịch bản được định trước nắm điều khiển AutoCAD thực thi theo suy nghĩ của người thiết kế . Đa số mọi người muốn học Autolisp là để giải quyết những bài toán trong lĩnh vực chuyên môn của mình.

4.1. Ví Dụ Về Tự Động Vẽ Chi Tiết Máy Lỗ Gujong Bằng AutoLISP

Lỗ Gujong được dùng trong các bản thiết kế chi tiết máy, là một chi tiết nhỏ trong tổng thể một chi tiết máy hoàn chỉnh. Để tự động hóa quá trình vẽ lỗ Gujong, em đã xây dựng hàm holes.lsp và holes.dcl. Qua đó người dùng có thể vẽ chi tiết này chỉ bằng một câu lệnh đơn giản. Các bước thực hiện như sau: Gõ lệnh appload, chọn file holes. Gõ holes tại cửa sổ command của autoCAD, điền các thông số chi tiết, nhấn nút OK.

4.2. Ví Dụ Về Tự Động Vẽ Cấu Kiện Cầu Đường Dầm Chữ I Bằng AutoLISP

Dầm chữ I dùng trong các bản vẽ thiết kế cầu đường, gồm hai chi tiết con tạo thành gồm các đoạn thẳng và các hình tròn nhỏ. Để tự động hóa quá trình này, ta sẽ xây dựng hàm chu_i.lsp và hàm chu_i.dcl. Sau đó lưu hai file này vào thư mục support của AutoCAD. Sau đó chi tiết này sẽ được vẽ tự động theo chương trình.

V. Giao Diện Người Dùng Tạo Hộp Thoại Tùy Chỉnh với AutoLISP

AutoLISP cho phép người dùng tạo ra các hộp thoại tùy chỉnh để tương tác với người dùng. Hộp thoại được định nghĩa trong file .DCL (Dialog Control Language) và được tải vào AutoCAD bằng hàm load_dialog. AutoLISP cung cấp nhiều hàm để điều khiển hộp thoại như set_tile (gán giá trị cho tile) và action_tile (gán hành động cho tile). File .DCL sử dụng để mô tả cấu trúc của hộp thoại. File này có dạng file văn bản ASCII tương tự như file chương trình AutoLISP. Các hộp thoại của AutoCAD được mô tả trong file acad. Các thành phần của hộp thoại như các nút lệnh (button) hoặc các hộp văn bản (edit box)…, gọi là các tile. Hình dáng, kích thước, chức năng…của các tile được xác định bởi các thuộc tính của chúng. Ngoài ra, ta có thể sử dụng các tile để tạo ra các Prototype hoặc các Subassembly để sử dụng được nhiều lần trong các file DCL khác nhau. Để thiết kế hộp thoại người dùng nên chú ý đến các phím nóng, các tab stop và kiểm tra lỗi.

5.1. Cấu Trúc và Thành Phần Của File .DCL Dialog Control Language

File .DCL mô tả cấu trúc của hộp thoại, bao gồm các tile (nút, hộp văn bản, v.v.) và các thuộc tính của chúng. Cấu trúc .DCL theo thứ tự từ trên xuống, theo cấu trúc cây. Mức cao nhất của cây, gọi là gốc luôn là dialog. Các tile mức 1 gọi là con của hộp thoại. Trong file DCL, để mô tả cấu trúc của một hộp thoại, ta liệt kê lần lượt các tile và các thuộc tính của chúng theo thứ tự từ trên xuống. Tên các tile phải viết bằng chữ thường, bắt đầu bằng dấu hai chấm (:) Các tile được liệt kê theo thứ tự từ trên xuống như trong hộp thoại

5.2. Các Hàm Điều Khiển Hộp Thoại LOAD_DIALOG NEW_DIALOG START_DIALOG

Để sử dụng hộp thoại, người dùng cần tải file .DCL bằng hàm load_dialog, khởi tạo hộp thoại bằng hàm new_dialog và hiển thị hộp thoại bằng hàm start_dialog. Các hàm điều khiển hộp thoại như SET_TILE, ACTION_TILE được dùng để gán giá trị ban đầu cho các tile hoặc thay đổi giá trị trong thời gian chạy chương trình. Hàm load_dialog dùng để mở file DCL và chuyển các dòng mô tả hộp thoại và các tile hộp thoại vào bộ nhớ. Hàm new_dialog dùng để khởi tạo một hộp thoại có được mô tả bằng mã DCL đã được tải vào bộ nhớ.

VI. Lời Kết Tiềm Năng và Hướng Phát Triển của AutoLISP Trong Tương Lai

AutoLISP tiếp tục là một công cụ quan trọng cho người dùng AutoCAD, giúp tùy biến và mở rộng các chức năng của phần mềm. Với sự phát triển của công nghệ, AutoLISP có thể sẽ được tích hợp sâu hơn với các công nghệ mới như trí tuệ nhân tạo và học máy, mang lại những khả năng mới cho tự động hóa thiết kế. Ta có thể khẳng định rằng AutoLISP chính là hiện thực hoá của LISP. Các phần mềm kỹ thuật hỗ trợ lập trình với AutoLISP hiện tại chưa nhiều. Nhìn vào các phần mềm CAD, CAM, CNC thì AutoCAD nổi bật hơn cả. Nó sẽ hỗ trợ người dùng lập trình với AutoLISP một cách tối ưu.

6.1. Xu Hướng Tích Hợp AutoLISP Với Các Công Nghệ Mới AI Machine Learning

Việc tích hợp AutoLISP với AI và machine learning có thể mở ra những khả năng mới cho tự động hóa thiết kế. Ví dụ, AI có thể được sử dụng để tạo ra các mô hình thiết kế tối ưu dựa trên các yêu cầu của người dùng, và AutoLISP có thể được sử dụng để tự động vẽ các mô hình này trong AutoCAD.

6.2. Các Tài Nguyên Học Tập và Cộng Đồng Hỗ Trợ AutoLISP

Có nhiều tài nguyên học tập và cộng đồng hỗ trợ AutoLISP trực tuyến, bao gồm các tài liệu hướng dẫn, diễn đàn, và các ví dụ mã. Người dùng nên tận dụng các tài nguyên này để học hỏi và chia sẻ kinh nghiệm với những người dùng AutoLISP khác. Bên cạnh việc tìm hiểu thông qua các diễn đàn trực tuyến thì người dùng nên xem thêm các tài liệu AutoCAD để hiểu sâu sắc hơn.

22/09/2025
Đồ án tốt nghiệp tìm hiểu autolisp và ứng dụng trong autocad

Trích đoạn nội dung tài liệu

Lời mở đầu Khi mới ra đời, công nghệ thông tin không có nhiều ứng dụng trong cuộc sống mà chủ yếu phục vụ cho ngành khoa học cơ bản nhằm giải quyết các bài toán lớn, mất nhiều thời gian tính toán hay những bài toán đòi hỏi sự chính xác gần như tuyệt đối. Trước kia, để thiết kế ra các công trình xây dựng hay chế tạo ra chi tiết máy mới, các kỹ sư thiết kế phải tốn rất nhiều thời gian để thiết kế và tính toán các thông số kỹ thuật sao cho chính xác. Trong quá trình thiết kế các bản vẽ bằng tay họ phải lặp đi lặp lại một số chi tiết hay khi vẽ sai phải thực hiện bản vẽ đó lại từ đầu. Điều này khiến cho người thiết kế mất rất nhiều thời gian và làm giảm chất lượng bản vẽ.

Từ thực tế đó, rất nhiều kỹ sư thiết kế mong muốn có được công cụ hỗ trợ mình trong công việc thiết kế nhằm nâng cao chất lượng bản vẽ. Nắm bắt nhu cầu này, các công ty phần mềm đã cho ra đời một loạt các phần mềm hỗ trợ như AutoCAD, SAP, AutoCAD Mechanical… Tuy nhiên, trên thực tế các phần mềm hỗ trợ cũng chỉ đáp ứng được các yêu cầu chung nhất, tổng quát nhất của các kỹ sư thiết kế. Ví dụ như trong ngành thiết kế công trình nhà ở, cầu đường…, Việt Nam có những tiêu chuẩn riêng do bộ Công Nghiệp đặt ra đối với các bản vẽ này mà không theo tiêu chuẩn chung của thế giới. Trong khi đó, các phần mềm hỗ trợ công việc thiết kế lại tuân theo những tiêu chuẩn chung của thế giới.

Do đó bắt buộc người kỹ sư thiết kế phải tự mình thực hiện các thao tác để vẽ các chi tiết tuân theo các tiêu chuẩn của riêng nước mình dù đôi khi việc này tốn khá nhiều thời gian hay các chi tiết này lặp đi lặp lại qua từng bản vẽ. Có thể nói trong số các phần mềm của hệ thống CAD/CAM thì AutoCAD của hãng Autodesk là một công cụ tuyệt vời của kỹ sư mọi ngành nghề từ điện tử, vi mạch tới chế tạo máy, từ vô tuyến tới xây dựng. Có nhiều chương trình vẽ kĩ thuật tiện ích khác ra đời như ArchiCAD, COMPAS 3D, Turbo CAD. nhưng có thể nói trong lĩnh vực vẽ 2D, AutoCAD là ông “trùm”.

Điều ấy sở dĩ tồn tại được là bởi 2 lí do[6]: 1- AutoCAD không ngừng hoàn thiện mình, 2- AutoCAD để ngỏ cho người sử dụng cách tự hoàn thiện theo nhu cầu riêng một cách dễ dàng. Trong AutoCAD có tồn tại ít nhất là 3 ngôn ngữ lập trình lớn VisualLisp, VisualBasic và Visual C. Vậy thành thạo ngôn ngữ lập trình trong AutoCAD để làm gì? Việc viết code trong AutoCAD nói riêng và việc lập trình thường chiếm thời gian rất lâu đối với người không chuyên. Trong ba ngôn ngữ kể trên thì Visual LISP được yêu thích hơn cả bởi câu lệnh đơn giản lại có thể sử dụng sẵn các câu lệnh của AutoCAD một cách tiện lợi.

Ít câu lệnh và ít thuật toán rắc rối, dễ học, dễ viết. Chính vì thế Visual LISP trong đại đa số người sử dụng là một phương pháp hoàn thiện, tích hợp các lệnh vẽ có sẵn của AutoCAD theo yêu cầu của từng cá nhân. Visual Studio trong AutoCAD là công cụ mạnh nhất giúp đột phá các giới hạn của các câu lệnh AutoCAD cho người sử dụng. Ví dụ như khi vẽ cầu thang cuốn, các Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tìm hiểu AutoLISP và ứng dụng trong autoCAD mặt phức tạp bậc cao, nếu không muốn bị hiện rõ chỗ gấp khúc khi phóng đại tỉ lệ thì chỉ có lựa chọn duy nhất là VS (trong AutoCAD 2007 đã hỗ trợ helix).

VS cũng là công cụ lập trình dùng cho các đề bài lớn như tự động hóa tính toán ổn định cho đập bê tông, tự động hóa thiết kế nhà máy thủy điện, chuyển dữ liệu excel thành địa hình 3D. VBA không mạnh như VS, không tiện như Visual LISP, bởi thế người học VBA thường là người có căn bản về VB và muốn tiết kiệm thời gian. Nói đến VisualLISP (Visual List Processor) thì trước hết nên nói đến AutoLISP. AutoLisp, tập con ngôn ngữ LISP, là ngôn ngữ lập trình bậc cao thích hợp với các ứng dụng đồ hoạ.

AutoLISP là một ngôn ngữ thông dịch, được viết theo cú pháp và thủ tục chặt chẽ như ngôn ngữ LISP. Tuy nhiên, nó được bổ sung thêm các hàm để phù hợp với AutoCAD. Sử dụng AutoLISP ta có thể viết các chương trình marco để tạo lệnh mới cho AutoCAD hoặc các chương trình tự động thiết kế bản vẽ được sử dụng thường xuyên, thực hiện với các lệnh có sẵn của AutoCAD để góp phần tăng năng suất thiết kế. Bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào để tạo các chương trình AutoLISP và gọi chúng vào trong CAD để kiểm tra và thực hiện.

Có thể nói, để làm chủ lập trình AutoCAD thì AutoLISP chính là cánh cửa đầu tiên mà bạn cần vượt qua. Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tìm hiểu AutoLISP và ứng dụng trong autoCAD 1. Khái quát về lập trình trong AutoCAD Các ngôn ngữ thường được sử dụng để lập trình cho AutoCAD gồm có: ActiveX, VBA, AutoLISP, Visua LISP và ObjectARX. Việc sử dụng ngôn ngữ nào để lập trình cho AutoCAD là tuỳ thuộc vào mục đích của chương trình và thói quen lập trình của mỗi người.1 Kỹ thuật tự động ActiveX (ActiveX Automation) Kỹ thuật tự động ActiveX được phát triển bởi Microsoft® trên nền tảng kiến trúc COM (mô hình đối tượng thành phần).

Bạn có thể sử dụng ActiveX để tuỳ chỉnh AutoCAD, chia sẻ bản vẽ của bạn với các ứng dụng khác và tự động hoá các thao tác. Sử dụng ActiveX để tích hợp trong AutoCAD có hai ưu điểm sau đây: - Chương trình truy cập bản vẽ AutoCAD được mở rộng đối với nhiều môi trường lập trình khác. Trước ActiveX, những chuyên viên thiết kế đã giới hạn chỉ trong AutoLISP hoặc C++. - Chia sẻ dữ liệu với những ứng dụng Windows như Exel, Word dễ dàng hơn.2 AutoCAD VBA Sự tích hợp VBA vào AutoCAD đã cung cấp một công cụ trực quan dễ sử dụng để tùy chỉnh AutoCAD.

Ví dụ bạn có thể tạo ra ứng dụng trích thuộc tính thông tin một cách tự động, chèn kết quả trực tiếp vào bảng tính Exel và thực hiện bất kỳ sự chuyển đổi thông tin mà bạn cần. Có ba thành phần cơ bản của chương trình VBA trong AutoCAD. Đầu tiên chính là AutoCAD, nó có bộ thiết lập đối tượng rộng lớn bao gồm các thực thể, dữ liệu, và các câu lệnh AutoCAD. AutoCAD là một cấu trúc ứng dụng mở với rất nhiều mức độ giao tiếp.

Thành phần thứ hai là bộ giao tiếp tự động ActiveX AutoCAD, nó thiết lập sự giao tiếp với các đối tượng AutoCAD. Lập trình trong VBA yêu cầu sự hiểu biết cơ bản về ActiveX. Phần tử thứ ba chính là bản thân VBA. Nó có bộ thiết lập đối tượng đối tượng, từ khoá, hằng số…của riêng nó, cung cấp chương trình điều khiển, gỡ rối và thi hành.

Sử dụng VBA cho AutoCAD có những ưu điểm sau: - Tốc độ : ứng dựng trong cùng tiến trình với VBA, ActiveX chạy nhanh hơn các ứng dụng trong AutoLISP. - Dễ sử dụng: ngôn ngữ lập trình và môi trường phát triển dễ sử dụng và cài đặt với AutoCAD. - Khả năng liên vận hành giữa các window: ActiveX và VBA được thiết kế để sử dụng với các ứng dụng Windows khác và cung cấp một đường dẫn tuyệt với để trao đổi thông tin giữa các ứng dụng. - Cung cấp nhiều mẫu khác nhau: sự phát triển giao diện nhanh chóng của VBA cung cấp một môi trường hoàn hảo cho các ứng dụng mẫu, dù là những ứng dụng này sẽ được phát triển bởi ngôn ngữ khác.

Khoa Công Nghệ Thông Tin_Trường đại học dân lập Hải Phòng 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tìm hiểu AutoLISP và ứng dụng trong autoCAD 1.3 AutoLISP và Visual LISP AutoLISP dựa trên nền tảng của ngôn ngữ lập trình LISP, dễ học và là một ngôn ngữ lập trình mạnh. Do AutoCAD có bộ trình thông dịch LISP, bạn có thể đưa đoạn mã AutoLISP ở dấu nhắc lệnh của AutoCAD hoặc tải các file vào autocad để chạy. Visual LISP (VLISP) là công cụ phần mềm được thiết kế để thực hiện các chương trình AutoLISP. AutoLISP được tăng cường với Visual LISP, đưa ra một môi trường phát triển tích hợp (IDE) gồm trình biên dịch, trình gỡ rối và những công cụ phát triển khác để tăng hiệu suất.

VLISP có thêm nhiều khả năng và mở rộng ngôn ngữ để tương tác với các đối tượng sử dụng ActiveX. VLISP cũng cho phép AutoLISP đáp ứng những sự kiện thông qua đối tượng phản ứng. Các ứng dụng hay thường trình AutoLISP có thể tương tác với AutoCAD bằng nhiều cách. Những thường trình này có thể nhắc người dùng nhập câu lệnh, truy cập câu lệnh có sẵn trong AutoCAD một cách trực tiếp và đinh dạng hoặc tạo các đối tượng trong cơ sở dữ liệu.

Bằng cách tạo các thường trình AutoLISP bạn có thể thêm những câu lệnh đặc biệt vào AutoCAD. Một vài câu lệnh chuẩn của AutoCAD thực ra là những ứng dụng AutoLISP. Do AutoCAD có thể đọc đoạn mã AutoLISP một cách trực tiếp mà không cần biên dịch. Trong khi Visual LISP đưa ra một IDE, bạn có thể thử nghiệm bằng cách đưa đoạn mã vào tại dòng nhắc lệnh, nó sẽ cho bạn nhìn thấy kết quả ngay lập tức.4 ObjectARX Kỹ thuật ObjectARX cung cấp những thiết lập cho các ứng dụng thiết kế phần mềm để chia sẻ dữ liệu đối tượng thông minh.

ObjectARXTM (Phần mở rộng thời gian thực AutoCAD) là một môi trường biên dịch ngôn ngữ lập trình để phát triển các ứng dụng AutoCAD. Môi trường lập trình ObjectARX bao gồm một số thư viện liên kết động chạy trong một không gian địa chỉ giống như AutoCAD và thao tác trực tiếp với lõi cấu trúc cơ sở dữ liệu và mã AutoCAD. Những thư viện này có được ưu điểm của kiến trúc mở AutoCAD, cung cấp các truy cập trực tiếp đến cấu trúc cơ sơ dữ liệu, hệ thống đồ hoạ, và phương tiện hình học để mở rộng cách lớp và các khả năng của AutoCAD tại thời gian thực. Thêm vào đó, bạn có thể sử dụng DLLs để tạo các câu lệnh mới để thực hiện chính xác giống như các câu lệnh có sẵn của AutoCAD.

Có thể nói, trong số các ngôn ngữ lập trình mà AutoCAD hỗ trợ thì AutoLISP và Visual LISP dễ học và dễ tương tác với AutoCAD hơn cả.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ