Skip to Content

Cập nhật

Khái quát lập trình trong AutoCad

Printer-friendly versionGửi cho bạn bè

Những năm gần đây AutoCAD nổi lên như một phần mềm không thể thiếu trong thiết kế trong xây dựng. AutoCad hỗ trợ nhiều giao diện lập trình ứng dụng (API) để đặc chế và tự động hóa, bao gồm AutoLISP, Visual LISP, VBA, .NET, ObjectARX và giờ đây là Java cũng được đưa vào như một ngôn ngữ lập trình hỗi trợ trong AutoCad.

ObjectARX là một thư viện lớp C++; nó được sử dụng để phát triển phần mềm dựa trên AutoCAD cho những ngành riêng, như là AutoCAD Architecture (kiến trúc), AutoCAD Electrical (điện tử), AutoCAD Civil 3D (kỹ thuật xây dựng)... Hiện nay AutoDesk nhà sản xuất AutoCad lại cho ra đời một phần tính toán kết cấu trong xây dựng là Autodesk® Robot™ Structural Analysis Professional, một phần mềm khá tốt, tương lai đây sẽ là phần có thể đánh bật mọi đối thủ trong xử lý tính toán kết cấu. Một nền tảng mà Autodesk đã vạch ra chính là AutoCad. Điều đó cho thấy khả năng liên kết dữ liệu tính toán trong nội bộ AutoDesk là hết sức phong phú và mạnh mẽ. Tuy nhiên cũng các ứng của AutoDesk đều hỗ trợ người sử có thể tự lập trình các riêng cho mình để liên kế dữ liệu. Bài viết này sẽ khái quát các ứng dụng được sử trọng AutoCad.

Việc AutoCad được đưa vào những ngôn ngữ lập trình giúp người dùng cải thiện thời gian và tùy biến các lệnh trong các là rất tích cực. Việc viết mã 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ữ chính AutoLISP, ObjectARX, VBA thì AutoLISP được yêu thích hơn cả dù nó không có hỗ trợ trực tiếp cho biến kiểu mảng, 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ế AutoLISP 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ác nhân.

ObjectARX 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 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à ObjectARX  ObjectARX 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...Lập trình Object ARX đòi hỏi bạn phải có một nền tảng về lập trình C/C++ và Visual C++ rất là vững, bạn mới có thể khai thác thế mạnh của ARX được. Tại sao ObjectARX ít được đón nhận ở Việt Nam? Câu trả lời là C/C++ chưa được đưa vào học làm ngôn ngữ căn bản phổ biến ở các trường đại học, thay vào đó là Pascal. Pascal lại có cấu trúc dữ liệu khá hiền hòa giống như người anh em VB của nó. Nên để tiếp nhận được ObjectARX thì một người lập trình phải tiếp thu được C/C++ làm cơ bản, Visual C++ trên Winform và hiểu được cấu trúc các hàm của ObjectARX.

VBA cho AutoCAD không mạnh như ObjectARX, không tiện như AutoLISP, bởi thế người học VBA thường là người đã có căn bản về VB hoặc là người muốn tiết kiệm thời gian.VBA cũng có một điểm yếu nữa chính là khả năng quản lý bội nhớ rất kém, vì vậy bạn phải tinh thông về mặt cấu trúc vật lý và am hiểu lập trình hướng đối tượng trong VB để giải phóng các biến ngay sau khi dùng. Hiện nay chủ yếu các phần mềm thường được lập trình bởi những người không chuyên về Visual Basic. Mọi hàm đều sử dụng Module để phân định các chức năng cho lập trình ứng dụng. Bạn cứ tưởng tượng khi bạn dùng Module trong VBA để làm chức năng. Khi gọi các Module vào bộ nhớ, bộ nhớ sẽ lưu lại những Module để các module khác dùng lại vì các chức năng này được liên kết theo kiểu gọi lẫn nhau. Vậy nên khi AutoCad chạy một thời gian sẽ bị tràn bội nhớ dẫn đến việc VBA của bạn sẽ bị lỗi. Mặt khác VBA không tự kiểm tra dữ liệu đưa vào do đó khi ứng dụng VBA chạy, mà bạn vô tình nhập dữ liệu sai. Tất cả công sức của bạn đã tan biến. Học lập trình VBA bạn nên chú trọng đến tận dụng tối ưu hóa Class trong VBA và kiểm tra triệt để biến dữ liệu đưa vào.

Tuy nhiên việc học lập trình mất rất nhiều thời gian và có thể không hữu dụng lâu dài, sau một thời gian không sử dụng dễ mai một kiến thức, vì thế không nhất thiết phải thành thạo các ngôn ngữ này. Ngược lại, khi dừng ở mức biết vẫn đem lại các hiệu quả tốt. Người học có thể dễ tiếp thu, dễ sử dụng hết các khả năng của các ứng dụng viết cho AutoCAD theo các nhu cầu đại chúng . Có thể lập trình những ứng dụng nhỏ mà lại giúp đỡ nhiều cho công việc.Hy vọng bài viết này cho các bạn được cái nhìn tổng quát về 3 công cụ lập trình phổ biến trong AutoCad.

Comments

Mình không hiểu 1 chỗ

Xin lỗi đã làm phiền bạn.
Mình cũng đã tìm hiểu và không tìm thấy thư viện Java nào hỗ trợ ObjectARX.
Và mình không hiểu ý của bạn trong đoạn này:

"và giờ đây là Java cũng được đưa vào"

Mong được giải thích thêm!
Thanks!

Java và ObjectArx

Đó mới chỉ là ý tưởng của Autodesk khi dùng JavaBean để kết nối với COM của AutoCad, Java mới chỉ được ứng dụng với Autodesk Map 3D.

Thank bạn đã góp ý, đây là bài viết của mình vầ mảng này. Nó sẽ được sửa lại.

Cám ơn

Cám bạn đã chia sẻ, đây sẽ là thông tin thú vị cho mình ngôn ngữ lập trình.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Lines and paragraphs break automatically.

More information about formatting options



2doworld.com

VNTOWER Ltd

IStructE.Org

The Concrete Centre