Giáo trình Thiết kế và tự động hóa thiết kế công trình giao t hông

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

pdf284 trang | Chia sẻ: tuandn | Lượt xem: 11789 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Giáo trình Thiết kế và tự động hóa thiết kế công trình giao t hông, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời nói đầu Tự động hóa trong tất cả lĩnh vực hiện đang được xã hội quan tâm đặc biệt bởi nhờ nó  năng suất lao động được nâng cao, chất lượng sản phẩm ổn định và tốt hơn, nhiều ý  tưởng mới có cơ hội trở thành hiện thực. Tự động hóa công tác thiết kế công trình giao  thông cũng không nằm ngoài quy luật chung đó, hiện nay, hầu hết các công ty trong  lĩnh vực tư vấn thiết kế công trình giao thông đều rất chú trọng thực hiện tự động hóa  công tác thiết kế trong công ty của mình. Điều này được thể hiện rõ nét trong việc đầu  tư của các công ty (mua sắm máy tính, phần mềm và đào tạo nhân lực) cũng như triển  khai tự động hóa thiết kế rất nhiều công trình trong thực tế.  Với sự đa dạng của mình, các bài toán trong công tác thiết kế luôn đòi hỏi sự linh hoạt  của công tác tự động hóa. Chính vì vậy, để phần nào đáp ứng được yêu cầu cấp bách  từ thực tế sản xuất, nội dung cuốn giáo trình này đề cập đến tất cả các vấn đề cơ bản  nhất của việc thực hiện tự động hóa thiết kế công trình giao thông cũng như phương  pháp để nâng cao mức độ tự động hóa cho phù hợp với từng yêu cầu chuyên biệt xuất  hiện trong quá trình thiết kế.  Nội dung của giáo trình này là sự đúc kết kinh nghiệm giảng dạy môn Tự động hóa  thiết kế cầu đường cho sinh viên ngành xây dựng công trình giao thông và quá trình  tham gia thực hiện tự động hóa công tác thiết kế ngoài sản xuất của các tác giả cũng  như cập nhật mới nhất những công nghệ chủ chốt phục vụ cho việc tự động hóa. Hơn  nữa, nội dung chính tập trung vào những thành phần cốt lõi phục vụ cho mục đích tự  động hóa  thiết kế cầu đường, cùng với những nội dung mang  tính gợi mở và định  hướng cho từng chuyên ngành, khiến cho cuốn giáo trình này hoàn toàn phù hợp với  định hướng đào tạo theo tín chỉ của Nhà trường.  Chúng tôi xin chân thành cảm ơn sự đóng góp ý kiến của các đồng nghiệp trong quá  trình hoàn thiện cuốn giáo trình này.   Với tốc độ phát triển rất nhanh của công nghệ như hiện nay thì chắc chắn rằng trong  thời gian tới, nhiều vấn đề liên quan đến việc thực hiện tự động hóa thiết kế sẽ phải  thay đổi, và chúng tôi hy vọng rằng, cùng với các ý kiến đóng góp của bạn đọc và sự  cập nhật kiến thức của bản thân, thì lần xuất bản sau của cuốn sách này sẽ hoàn thiện  hơn nữa, sẽ đáp ứng tốt hơn nữa yêu cầu của bạn đọc.    Hà Nội, ngày 01 tháng 06 năm 2007    Các tác giả.  i  PHẦN I: MỞ ĐẦU .................................................................................. 1 1. Tổng quan về thiết kế và tự động hóa thiết kế công trình giao thông.............................. 1 2. Đôi nét về các phần mềm dùng cho thiết kế công trình giao thông.................................. 3 3. Lựa chọn phần mềm dùng cho thiết kế công trình giao thông.......................................... 4 4. Chuyên biệt hóa phần mềm.................................................................................................... 6 5. Kết chương .............................................................................................................................. 11 PHẦN II: LẬP TRÌNH TRÊN ỨNG DỤNG NỀN ...................................... 12 CHƯƠNG I: KHÁI NIỆM........................................................................................ 12 CHƯƠNG II: TỔNG QUAN VỀ VBA ..................................................................... 19 1. Đặc điểm của VBA.................................................................................................................. 19 2. Trình tự xây dựng một dự án bằng VBA ............................................................................ 19 3. Cấu trúc của một dự án VBA................................................................................................ 20 4. Môi trường phát triển tích hợp VBA IDE............................................................................ 21 5. Ví dụ đầu tiên với VBA.......................................................................................................... 23 CHƯƠNG III: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC ................. 25 1. Những qui định về cú pháp.................................................................................................. 25 2. Các trợ giúp về cú pháp trong quá trình viết mã lệnh...................................................... 25 3. Tính năng gợi nhớ và tự hoàn thiện mã lệnh ..................................................................... 26 4. Từ khoá trong VB ................................................................................................................... 27 5. Các kiểu dữ liệu cơ bản.......................................................................................................... 28 5.1. Kiểu logic (boolean) .......................................................................................................... 29 5.2. Kiểu số nguyên.................................................................................................................. 29 5.3. Kiểu số thực....................................................................................................................... 29 5.4. Kiểu mảng (array) ............................................................................................................. 29 5.5. Kiểu chuỗi (String)............................................................................................................ 31 5.6. Kiểu thời gian (Date)......................................................................................................... 32 5.7. Kiểu Variant ...................................................................................................................... 32 5.8. Kiểu tự định nghĩa (user-defined type).............................................................................. 33 5.9. Kiểu lớp (Class)................................................................................................................. 34 6. Khai báo biến trong VB.......................................................................................................... 35 6.1. Khai báo hằng số ............................................................................................................... 38 6.2. Khai báo biến..................................................................................................................... 38 6.3. Khai báo kiểu tự định nghĩa .............................................................................................. 38 6.4. Khai báo mảng tĩnh ........................................................................................................... 39 6.5. Khai báo mảng động.......................................................................................................... 39 6.6. Khai báo, tạo và làm việc với biến đối tượng.................................................................... 40 7. Các toán tử và hàm thông dụng ........................................................................................... 40 7.1. Các toán tử......................................................................................................................... 40 7.2. Các hàm toán học .............................................................................................................. 41 7.3. Các hàm chuyển đổi dữ liệu .............................................................................................. 41 7.4. Các hàm xử lý chuỗi.......................................................................................................... 43 8. Các cấu trúc điều khiển ......................................................................................................... 44 8.1. Cấu trúc điều kiện.............................................................................................................. 44 8.2. Cấu trúc lựa chọn .............................................................................................................. 46 8.3. Vòng lặp xác định.............................................................................................................. 47 ii  8.3.1. Vòng lặp theo biến đếm .............................................................................................47 8.3.2. Lặp trong một tập hợp................................................................................................49 8.4. Vòng lặp không xác định ...................................................................................................50 9. Chương trình con ................................................................................................................... 51 9.1. Hàm (Function) ..................................................................................................................52 9.2. Thủ tục (Sub) .....................................................................................................................52 9.3. Truyền tham số cho chương trình con................................................................................52 9.3.1. Truyền tham số theo tham chiếu ................................................................................53 9.3.2. Truyền tham số theo tham trị .....................................................................................54 9.3.3. Tham số tuỳ chọn.......................................................................................................54 9.3.4. Danh sách tham số với số lượng tham số tuỳ ý..........................................................55 9.3.5. Hàm có giá trị trả về là kiểu mảng. ............................................................................55 9.4. Biến trong chương trình con ..............................................................................................56 9.5. Cách thức gọi chương trình con. ........................................................................................58 9.6. Thoát khỏi chương trình con. .............................................................................................59 10. Tổ chức các chương trình con theo hệ thống các mô‐đun chuẩn .................................. 59 11. Làm việc với UserForm và các thành phần điều khiển .................................................. 60 11.1. Các vấn đề chung .............................................................................................................60 11.1.1. Tạo UserForm và các thành phần điều khiển trong VBA IDE ................................63 11.1.2. Các thuộc tính của UserForm và các thành phần điều khiển. ..................................64 11.1.3. Các phương thức của UserForm và các thành phần điều khiển. ..............................66 11.1.4. Các sự kiện trên giao diện........................................................................................66 11.1.5. Ví dụ.........................................................................................................................67 11.2. Làm việc với UserForm ...................................................................................................68 11.3. Các điều khiển thông dụng...............................................................................................69 12. Các hộp thoại thông dụng................................................................................................... 76 12.1. Hộp thông điệp (Message Box – MsgBox)......................................................................76 12.2. Hộp nhập dữ liệu (Input Box – InputBox) .......................................................................77 12.3. Hộp thoại dựa trên điều khiển Common Dialog. .............................................................78 13. Lập trình xử lý tập tin.......................................................................................................... 80 13.1. Các hình thức truy cập tập tin ..........................................................................................81 13.2. Xử lý dữ liệu trong tập tin với các hàm I/O: ....................................................................82 13.2.1. Mở tập tin:................................................................................................................82 13.2.2. Đọc dữ liệu từ tập tin: ..............................................................................................82 13.2.3. Ghi dữ liệu vào tập tin: ............................................................................................84 13.2.4. Đóng tập tin..............................................................................................................86 13.3. Xử lý dữ liệu trong tập tin theo mô hình FSO (File System Object) ...............................86 13.3.1. Tạo tập tin mới .........................................................................................................88 13.3.2. Mở tập tin đã có để thao tác .....................................................................................89 14. Gỡ rối và bẫy lỗi trong VBAIDE ........................................................................................ 90 14.1. Phân loại lỗi trong lập trình..............................................................................................90 14.2. Gỡ rối trong lập trình .......................................................................................................91 14.2.1. Phát hiện lỗi lúc thực thi ..........................................................................................91 14.2.2. Các phương pháp thực thi mã lệnh ..........................................................................92 14.2.3. Cửa sổ trợ giúp gỡ rối ..............................................................................................93 14.3. Bẫy lỗi trong VBAIDE.....................................................................................................95 14.3.1. Câu lệnh On Error ....................................................................................................95 14.3.2. Đối tượng Err ...........................................................................................................96 14.3.3. Hàm Error ................................................................................................................97 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL ....................................... 99 1. Tổng quan về Microsoft Excel .............................................................................................. 99 1.1. Khả năng của Excel............................................................................................................99 1.2. Giao diện của Excel ...........................................................................................................99 1.3. Khả năng mở rộng của Excel ...........................................................................................100 2. Macro ..................................................................................................................................... 100 iii  2.1. Macro là gì?..................................................................................................................... 101 2.2. Tạo Macro ....................................................................................................................... 101 2.2.1. Tạo Macro theo kịch bản......................................................................................... 101 2.2.2. Tạo Macro sử dụng VBA ........................................................................................ 104 2.3. Quản lý Macro................................................................................................................. 104 2.4. Sử dụng Macro ................................................................................................................ 105 2.4.1. Thực thi Macro bằng phím tắt ................................................................................. 106 2.4.2. Thực thi Macro thông qua trình quản lý Macro ...................................................... 106 2.4.3. Thực thi Macro trực tiếp từ VBAIDE ..................................................................... 106 2.5. Hiệu chỉnh Macro............................................................................................................ 107 2.6. Vấn đề an toàn khi sử dụng Macro.................................................................................. 107 3. Xây dựng hàm mới trong Excel .......................................................................................... 107 3.1. Khái niệm về hàm trong Excel ........................................................................................ 107 3.2. Tạo hàm mới bằng VBA ................................................................................................. 108 3.2.1. Tại sao phải dùng hàm?........................................................................................... 108 3.2.2. Cấu trúc hàm ........................................................................................................... 109 3.2.3. Tạo hàm mới ........................................................................................................... 109 3.3. Hàm trả về lỗi .................................................................................................................. 111 4. Add‐in và Phân phối các ứng dụng mở rộng................................................................... 113 4.1. Khái niệm về Add-In....................................................................................................... 114 4.2. Trình quản lý Add-In....................................................................................................... 114 4.3. Tạo Add-In ...................................................................................................................... 115 4.4. Phân phối và Cài đặt Add-In ........................................................................................... 117 5. Hệ thống các đối tượng trong Excel................................................................................... 117 5.1. Mô hình đối tượng trong Excel ....................................................................................... 117 5.2. Một số đối tượng cơ bản trong Excel .............................................................................. 119 5.2.1. Đối tượng Application............................................................................................. 119 5.2.2. Đối tượng Workbook .............................................................................................. 123 5.2.3. Đối tượng Window.................................................................................................. 126 5.2.4. Đối tượng Worksheet .............................................................................................. 128 5.2.5. Đối tượng Range ..................................................................................................... 131 5.2.6. Tập đối tượng Cells ................................................................................................. 135 6. Sự kiện của các đối tượng trong Excel............................................................................... 137 6.1. Tạo bộ xử lý sự kiện cho một sự kiện ............................................................................. 138 6.2. Sự kiện trong Workbook ................................................................................................. 139 6.3. Sự kiện trong Worksheet ................................................................................................. 141 6.4. Sự kiện trong UserForm .................................................................................................. 143 6.5. Sự k