G G I I Á Á O O T T R R Ì Ì N N H H T T Ự Ự Đ Đ Ộ Ộ N N G G H H O O Á Á T T H H I I Ế Ế T T K K Ế Ế C C Ầ Ầ U U Đ Đ Ư Ư Ờ Ờ N N G G 8 Hình I-7: Wizard trợ giúp nhập dữ liệu cho kết cấu cầu đúc hẫng của MIDAS/Civil Công cụ lập trình để tạo ra các tính năng mới cho phần mềm hiện có rất nhiều và khá dễ dùng. Hầu hết chúng tập trung hỗ trợ cho AutoCAD và Office, bởi hai phần mềm này được dùng rất phổ biến trong công tác thiết kế. Với AutoCAD ta có thể sử dụng những công cụ sau: Các công cụ lập trình nhúng sẵn bên trong AutoCAD: AutoLISP: là một ngôn ngữ lập trình dạng thông dịch, cho phép người dùng tận dụng tối đa những lệnh sẵn có của AutoCAD để tổ hợp lại nhằm tạo ra những tính năng mới có mức độ tự động hóa cao. M M Ở Ở Đ Đ Ầ Ầ U U 9 Hình I-8: Visual LISP: công cụ hỗ trợ cho lập trình với AutoLISP trong AutoCAD VBA: là một công cụ lập trình dựa trên Visual Basic, nó cho phép người dùng kết hợp tính dễ dùng và hiệu quả của môi trường lập trình Visual Basic với các tính năng và hệ thống đối tượng sẵn có trong AutoCAD. Hiện nay đây là công cụ được dùng rất phổ biến để xây dựng thêm những tính năng mới, với quy mô không lớn và không quá phức tạp trên AutoCAD. Trong lĩnh vực thiết kế công trình giao thông, công việc chiếm khối lượng lớn nhấ t và mất nhiều công nhất là tạo bản vẽ kỹ thuật. Mặc dù hầu hết người thiết kế đều dùng AutoCAD để tạo bản vẽ kỹ thuật nhưng mức độ tự động hóa vẫn rất thấp, chủ yếu sử dụng các lệnh đơn của AutoCAD (thông qua dòng lệnh hay nút bấm trong AutoCAD) cùng với các thông số hình học tính toán được (có thể bằng các phần mềm khác, ví dụ phần m ềm tính kết cấu) để xây dựng bản vẽ. Vấn đề này hoàn toàn có thể tự động hóa được khi người dùng biết kết hợp quy tắc vẽ đối tượng thiết kế với số liệu hình học tính được trong một chương trình VBA do chính họ tạo ra. G G I I Á Á O O T T R R Ì Ì N N H H T T Ự Ự Đ Đ Ộ Ộ N N G G H H O O Á Á T T H H I I Ế Ế T T K K Ế Ế C C Ầ Ầ U U Đ Đ Ư Ư Ờ Ờ N N G G 10 Hình I-9: Môi trường lập trình VBA trong AutoCAD Công cụ lập trình bên ngoài: bao gồm bất cứ ngôn ngữ lập trình nào mà có hỗ trợ công nghệ COM (Component Object Model) của Microsoft như: VB, VC++, Delphi Công cụ lập trình ObjectARX (AutoCAD Runtime Extension): là một cách mở rộng AutoCAD hiệu quả nhất và phức tạp nhất. Các phần mở rộng AutoCAD được xây dựng trên VC++ với việc sử dụng các thư viện lập trình mở rộng của AutoCAD (chính là ObjectARX). Bởi việc cho phép điều khiển trực tiếp nhân và cấu trúc dữ liệu của chương trình AutoCAD, cho nên những chương trình được viết với ObjectARX sẽ có tính linh hoạt rất cao, tốc độ chạy nhanh và nhỏ gọn hơn so với chương trình cùng loại viết bằng công cụ lập trình khác, nhưng mức độ phức tạp của việc lập trình sẽ tăng lên. Hầu hết các ứng dụng lớn chạy trên nền AutoCAD đều được xây dựng dựa trên ObjectARX: Land Desktop, Civil 3D, Nova-TDN M M Ở Ở Đ Đ Ầ Ầ U U 11 Hình I-10: Mở rộng khả năng cho AutoCAD dùng ObjectARX 5. Kết chương 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. 12 P P H H Ầ Ầ N N I I I I : : L L Ậ Ậ P P T T R R Ì Ì N N H H T T R R Ê Ê N N Ứ Ứ N N G G D D Ụ Ụ N N G 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ó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. (có thể bằng các phần mềm khác, ví dụ phần m ềm tính kết cấu) để xây dựng bản vẽ. Vấn đề này hoàn toàn có thể tự động hóa được khi người dùng biết kết hợp quy tắc vẽ đối tượng thiết kế với số. 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