12 minute read

5. Kết chương

Hình I-10: Mở rộng khả năng cho AutoCAD dùng ObjectARX

5. Kết chương

Advertisement

Như vậy, trong chương này, toàn cảnh về việc ứng dụng công nghệ thông tin để tự động hóa công tác thiết kế công trình giao thông đã được đề cập đến. Vấn đề cốt lõi để tự động hóa thiết kế bao gồm: Quá trình thiết kế công trình giao thông và sản phẩm của từng công đoạn. Khả năng của phần cứng máy tính và các hệ thống phần mềm, bao gồm cả các phần mềm chuyên dụng. Sự đa dạng của các bài toán thiết kế cũng như những hạn chế trong các phần mềm chuyên dụng. Những đặc điểm của phần mềm và các công cụ phát triển, để từ đó có được định hướng trong việc giải quyết các vấn đề phát sinh, vốn thường gặp suốt quá trình thiết kế. Trong khuôn khổ giáo trình của một môn học, nhiều mảng kiến thức sẽ được kế thừa từ những môn học khác là điều đương nhiên, và do đó, chỉ có những nội dung mới, chưa được đề cập đến trong những môn học khác, mới được trình bày chi tiết ở đây. Với các chương tiếp theo trong giáo trình này, những kiến thức chi tiết để thực hiện tự động hóa thiết kế cầu đường sẽ được đưa ra theo những ý chính của chương đầu tiên này.

P PH HẦ ẦN N IIII:: L LẬ ẬP P T TR RÌÌN NH H T TR RÊ ÊN N Ứ ỨN NG G D DỤ ỤN NG G N NỀ ỀN N

CHƯƠNG I: KHÁI NIỆM

Trong hồ sơ thiết kế, phần tài liệu được trình bày dưới dạng bảng biểu (bảng tính kết cấu, bảng tính khối lượng, ...) và bản vẽ (mô tả cấu tạo hình học của công trình) chiếm một khối lượng đáng kể. Nội dung của những tài liệu trong phần này lại luôn có mối quan hệ rõ ràng và chặt chẽ với phần tính toán trong quá trình thiết kế, chính vì vậy, khả năng thực hiện tự động hóa công đoạn này là hoàn toàn khả thi và mang lại hiệu quả cao. Những công việc cụ thể có thể tự động hóa bao gồm: tính toán, lập bảng tính, lập bản vẽ, trong đó, phần tính toán tạo tiền đề cho quá trình thực hiện lập bảng tính và bản vẽ. Phần tính toán có thể được tách ra thành một mô-đun riêng và thực hiện độc lập với bất cứ công cụ lập trình nào, và hiện nay, công nghệ lập trình cho phép dễ dàng kết nối các mô-đun loại này với các ứng dụng khác. Phần lập bảng tính và bản vẽ, thực chất sử dụng kết quả thực hiện của mô-đun tính toán và thể hiện kết quả này dưới dạng bản vẽ kỹ thuật và bảng tính, bảng biểu phù hợp với các quy định về trình bày tài liệu trong hồ sơ thiết kế. Trong nhiều trường hợp người ta có thể kết hợp mô-đun tính toán vào cùng với quá trình tạo bảng tính hay bản vẽ, cách làm này rất hiệu quả đối với các bài toán không quá phức tạp về tính toán (như thiết kế hình học đường ô tô hay tính duyệt mặt cắt kết cấu). Nhưng đối với các bài toán có độ phức tạp cao trong tính toán (như bài toán tính kết cấu hay ổn định trượt mái dốc) thì mô-đun tính toán thường được tách riêng ra và kết quả tính toán sẽ được trình bày bởi mô-đun tạo bản vẽ và môđun tạo bảng tính riêng. Trong khuôn khổ giáo trình này, do nhắm đến tính phổ biến của các bài toán thông thường có độ phức tạp không cao nhưng đa dạng, cho nên việc định hướng giải quyết bài toán hướng đến việc hợp nhất phần tính toán vào trong mô-đun tạo bảng tính hay môđun tạo bản vẽ. Do bảng tính và bản vẽ có cấu trúc tài liệu rất khác biệt, cho nên hầu như không có phần mềm nào có thể hỗ trợ tốt cho cả hai mục đích trên cùng lúc, và trong thực tế, người ta sử dụng những phần mềm riêng để tạo bản vẽ hay bảng tính. Ví dụ trong lĩnh vực thiết kế công trình giao thông, Excel thường được dùng như là phần mềm hỗ trợ tạo bảng tính chuyên nghiệp, trong khi đó, AutoCAD lại thường được sử dụng trong việc tạo bản vẽ kỹ thuật. Bên cạnh AutoCAD và Excel, còn có nhiều phần mềm chuyên dụng khác, mà khả năng của chúng tập trung vào một số lĩnh vực hẹp, ví dụ như MIDAS/Civil tập trung vào lĩnh vực phân tích kết cấu, Nova-TDN tập trung vào lĩnh vực thiết kế hình học đường ô tô. Kết quả mà các phần mềm chuyên dụng này mang lại khá đầy đủ, có thể bao gồm hầu hết các bảng tính và bản vẽ liên quan đến bài toán được giải quyết. Tuy vậy, trong phạm vi lĩnh vực của mình, không phần mềm chuyên dụng nào có thể đáp ứng được mọi nhu cầu, và do đó, chúng thường được thiết kế theo hướng có thể kết nối với các phần mềm khác nhằm mục đích hỗ trợ người dùng giải quyết được vấn đề phát sinh bằng cách kết hợp vài phần mềm với nhau.

Hình I-1: Lập bảng tính kết cấu mặt đường trên Excel

Hình I-2: Tạo bản vẽ bình đồ tuyến đường ô tô trên AutoCAD

Để có thể kết nối với nhau, các phần mềm chuyên dụng thường cung cấp kết quả tính toán dưới dạng dữ liệu có cấu trúc và được lưu trữ trong các tệp có định dạng TEXT, ví dụ như CSV hay DXF. Với các dữ liệu có cấu trúc này, người dùng sẽ tự thực hiện việc kết nối các phần mềm lại với nhau. Việc kết nối này cũng chỉ có thể giải quyết thêm một số bài toán phát sinh, cho nên một số phần mềm đã cho phép người dùng có thể can thiệp sâu hơn nữa vào bên trong nó bằng các công cụ lập trình, để họ có thể tự giải quyết các bài toán phát sinh mà người thiết kế phần mềm không thể dự kiến trước được. Khi người dùng xây dựng những chương trình của họ dựa trên những ứng dụng được thiết kế theo cấu trúc mở này, họ sẽ tận dụng những khả năng 13

sẵn có của chúng để làm nền, giúp cho việc lập trình được nhanh và hiệu quả hơn rất nhiều so với cách lập trình thông thường, và do đó, có thể gọi chúng là các ứng dụng nền, điển hình và được sử dụng nhiều nhất làm ứng dụng nền trong lĩnh vực thiết kế là AutoCAD và Excel, ngoài việc phù hợp với định dạng tài liệu trong hồ sơ thiết kế (bản vẽ và bảng tính) chúng còn cho phép người dùng xây dựng các chương trình chạy cùng với mục đích bổ sung thêm các chức năng chuyên biệt. Như vậy, một phần mềm được gọi là ứng dụng nền khi nó thỏa mãn đồng thời các tiêu chí sau: Cho phép một chương trình chạy bên trong và cùng với nó (tương tự như một lệnh). Cho phép sử dụng các tính năng của nó thông qua công cụ lập trình thích hợp.

Hình I-3: Mô hình lập trình trên ứng dụng nền

Một lệnh mới hay một chức năng mới được xây dựng trên ứng dụng nền thực chất là một chương trình hoàn chỉnh, vì vậy, để xây dựng nó cần có công cụ lập trình tương ứng. Thông thường công cụ lập trình được hiểu như là một tập hợp bao gồm: Ngôn ngữ lập trình. Môi trường lập trình. Thư viện hỗ trợ lập trình. Một ví dụ về công cụ lập trình trên AutoCAD, đó là AutoLISP. Với công cụ lập trình này, không nhất thiết phải có môi trường lập trình và thư viện hỗ trợ lập trình, ta chỉ cần tạo ra một tệp dạng TEXT chứa các mã lệnh viết bằng ngôn ngữ AutoLISP. Tuy nhiên từ phiên bản AutoCAD R14, để thuận tiện cho người lập trình, một môi trường lập trình dành cho AutoLISP đã được bổ sung, đó là Visual LISP. Với môi trường lập trình này, việc lập và kiểm soát chương trình trở nên thuận lợi hơn rất nhiều, bởi Visual LISP đã được tích hợp nhiều tính năng hỗ trợ lập trình chuyên nghiệp, trong khi đó, nếu ta không sử dụng môi trường lập trình, thì tuy ta có thể viết được một chương trình AutoLISP hoàn chỉnh, song trong suốt quá trình xây dựng chương trình này ta luôn phải vất vả để tự kiểm soát chương trình.

Hình I-4: Xây dựng chương trình bằng ngôn ngữ AutoLISP khi không sử dụng môi trường lập trình, ta sẽ luôn phải tự kiểm soát cú pháp và các lệnh mà không có bất cứ hỗ trợ nào vì thế khả năng nhầm lẫn là rất lớn.

Hình I-5: Lập trình bằng ngôn ngữ AutoLISP trên môi trường lập trình Visual LISP, ta luôn nhận được sự hỗ trợ tự động bằng màu sắc hay các tính năng khác trong môi trường lập trình.

Thư viện hỗ trợ lập trình có thể rất đa dạng và thường là những phần bổ sung giúp cho việc xây dựng chương trình được nhanh hơn thông qua sự kế thừa những thứ đã được làm từ trước. Khi lập trình bằng AutoLISP thì thư viện hỗ trợ lập trình là tập hợp các chương trình hoàn chỉnh cũng viết bằng AutoLISP. Để sử dụng thư viện hỗ trợ lập trình thì mỗi công cụ lập trình có một quy định về cách thức sử dụng riêng, ví dụ với AutoLISP, để sử dụng một chương trình con trong thư viện, ta chỉ cần tải chương trình AutoLISP chứa chương trình con đó thông qua một câu lệnh từ chương trình chính.

Tương ứng với từng ứng dụng nền thì sẽ có các công cụ lập trình phù hợp. Một ứng dụng nền có thể hỗ trợ một hay nhiều công cụ lập trình khác nhau, tùy mục đích sử dụng. AutoCAD hỗ trợ các công cụ lập trình trên ứng dụng nền sau: AutoLISP ObjectARX VBA (Visual Basic for Applications) Còn Excel hỗ trợ các công cụ lập trình: VBA VSTO (Visual Studio Tools for Office) Mỗi công cụ lập trình luôn có những đặc điểm riêng và khó có thể phán xét cái nào hay hơn hoặc kém hơn một cách tổng quát. Do đó, để lựa chọn được công cụ lập trình thích hợp khi lập trình trên ứng dụng nền, cần dựa vào mục đích cụ thể. Ví dụ khi lập trình trên AutoCAD, để tạo các công cụ trợ giúp vẽ thì AutoLISP là lựa chọn hợp lý. Nhưng để xây dựng những ứng dụng lớn, phức tạp, đòi hỏi phải can thiệp sâu vào bên trong AutoCAD thì chỉ có thể dùng ObjectARX mới làm được. Trong lĩnh vực tự động hóa thiết kế công trình giao thông, hầu hết các bài toán lớn và cơ bản đã được giải quyết, nhưng còn rất nhiều các bài toán khác, tuy không lớn và không quá phức tạp, nhưng lại rất đa dạng và khó khái quát, vẫn chưa có phần mềm thực hiện, và do đó, phạm vi ứng dụng của lập trình trên ứng dụng nền là rất lớn và có tính hiệu quả cao. Hơn nữa, với quy mô của các bài toán này, thì việc lựa chọn VBA làm công cụ lập trình là rất phù hợp bởi: Ngôn ngữ lập trình Visual Basic (VB) là một loại ngôn ngữ dễ sử dụng, có số lượng người dùng đông đảo và tài liệu tham khảo rất phong phú. Điều này cho phép người dùng trao đổi kỹ năng, tìm kiếm tài liệu, mã nguồn một cách dễ dàng. Môi trường lập trình thân thiện, dễ dùng và đầy đủ nên việc xây dựng ứng dụng sẽ nhanh và không cần thêm công cụ lập trình nào khác. Trên tất cả các ứng dụng nền hỗ trợ VBA, giao diện lập trình là đồng nhất, do đó người dùng có thể lập trình mở rộng trên nhiều ứng dụng nền một cách thuận lợi. Thư viện lập trình có rất nhiều và đa dạng cho nên người dùng có thể xây dựng ứng dụng của mình nhanh và chuyên nghiệp. Tốc độ thực thi của chương trình nhanh. Khai thác được hầu hết các tính năng sẵn có của ứng dụng nền. Chương trình VBA có thể được nhúng trong tệp của ứng dụng nền (chẳng hạn như tệp bảng tính của Excel hay tệp bản vẽ của AutoCAD) hoặc có thể được lưu dưới dạng một dự án độc lập. Điều này giúp cho việc phân phối, chia sẻ mã lệnh được thuận tiện.

Kết chương

Tự động hóa công tác lập hồ sơ thiết kế công trình giao thông là hoàn toàn khả thi và có thể được thực hiện theo nhiều cách khác nhau. Dự án VBA nên xây dựng theo hướng gộp cả phần tính toán và xuất kết quả vào một mô-đun thống nhất. Sử dụng AutoCAD và Excel làm ứng dụng nền để xây dựng các ứng dụng bằng VBA nhằm mục đích hỗ trợ thiết kế là lựa chọn mang tính khả thi cao và có nhiều ưu điểm. Để lập trình với VBA, cách tốt nhất, là làm chủ từng phần. Đầu tiên cần nắm vững ngôn ngữ lập trình Visual Basic và cách sử dụng VBA IDE để viết mã lệnh cũng như thiết kế giao diện.

Sau đó nghiên cứu mô hình đối tượng của ứng dụng nền (là những thành phần của ứng dụng nền mà người dùng có thể sử dụng) cũng như cách sử dụng chúng bằng VBA.

This article is from: