BÀI GIẢNG TIN HỌC XÂY DỰNG GTVT

96 903 0
BÀI GIẢNG TIN HỌC XÂY DỰNG GTVT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BÀI GIẢNG TIN HỌC XÂY DỰNG GTVT DỰ ÁN I: XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐẶC TRƯNG HÌNH HỌC CỦA MỘT SỐ LOẠI MẶT CẮT CƠ BẢN HAY DÙNG TRONG KẾT CẤU CẦU DỰ ÁN II: CHƯƠNG TRÌNH LẬP BẢNG TỔNG HỢP VẬT TƯ DỰ ÁN III: XÂY DỰNG CHƯƠNG TRÌNH NHẬP DỮ LIỆU VÀ TỰ ĐỘNG TẠO BẢN VẼ BỐ TRÍ CHUNG TRỤ CẦU THÂN ĐẶC TRONG AUTOCAD DỰ ÁN IV: CHƯƠNG TRÌNH VẼ TRẮC DỌC TỰ NHIÊN TRÊN AUTOCAD VỚI SỐ LIỆU ĐỌC TỪ FILE EXCEL DỰ ÁN V: CHƯƠNG TRÌNH CHUYỂN ĐỔI SỐ LIỆU TỪ BẢN VẼ KHẢO SÁT ĐỊA HÌNH TRÊN AUTOCAD SANG SỐ LIỆU DẠNG TỌA ĐỘ ĐIỂM TRÊN EXCEL ĐỂ LÀM DỮ LIỆU CHO CÁC PHẦN MỀM THIẾT KẾ ĐƯỜNG

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG TRÌNH BỘ MÔN TỰ ĐỘNG HÓA THIẾT KẾ CẦU ĐƯỜNG Bài Giảng Tin học xây dựng Lê Quỳnh Mai (chủ biên) - Trần Thế Hiệp - Bùi Công Độ - Lê Đắc Hiền Hoàng Thùy Linh - Nguyễn Thị Thanh Yên - Đỗ Xuân Cảnh - Phan Thị Thu Hiền Bài Giảng Tin học xây dựng (DÙNG CHO HỆ CHÍNH QUY – BẰNG 2) NXB Đại học giao thông vận tải - 2012 Mục lục BÀI GIẢNG TIN HỌC XÂY DỰNG MỤC LỤC MỞ ĐẦU 1 TỔNG QUAN EXCEL AUTOCAD .3 VBA DỰ ÁN I: XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐẶC TRƯNG HÌNH HỌC CỦA MỘT SỐ LOẠI MẶT CẮT CƠ BẢN HAY DÙNG TRONG KẾT CẤU CẦU NỘI DUNG DỰ ÁN 1.1 Mô tả yêu cầu .5 1.2 Cấu trúc dự án 1.3 Nội dung kiến thức VBA liên quan đến dự án 1.4 Nội dung kiến thức lập trình Excel liên quan đến dự án 1.5 Những lưu ý khác .7 TRÌNH TỰ THỰC HIỆN DỰ ÁN 2.1 Tạo file Excel lưu lại thành dạng *.xlsm .7 2.2 Chạy VBA IDE tạo Userform .8 2.3 Xây dựng giao diện người sử dụng 2.4 Viết mã lệnh chi tiết cho chương trình .12 2.5 Chạy thử chương trình kiểm tra kết 19 BÀI TẬP 19 3.1 Bài tập 19 3.2 Bài tập 20 3.3 Lưu ý làm lại dự án mẫu 21 DỰ ÁN II: CHƯƠNG TRÌNH LẬP BẢNG TỔNG HỢP VẬT TƯ 22 NỘI DUNG DỰ ÁN .22 1.1 Mô tả yêu cầu 22 1.2 Cấu trúc dự án 23 1.3 Nội dung kiến thức VBA liên quan đến dự án 25 1.4 Những lưu ý khác .26 TRÌNH TỰ THỰC HIỆN DỰ ÁN 26 2.1 Lưu file liệu sang dạng xlsm .26 2.2 Tạo sheet “Tong hop vat tu” 27 2.3 Chạy VBA IDE tạo Module 27 2.4 Xây dựng giao diện người sử dụng 27 Bộ môn Tự động hóa thiết kế cầu đường i http://tdhcd.net Mục lục BÀI GIẢNG TIN HỌC XÂY DỰNG 2.5 Xây dựng khối chương trình dạng khung 27 2.6 Viết mã lệnh chi tiết cho chương trình 28 2.7 Chạy thử chương trình kiểm tra kết 36 BÀI TẬP 38 3.1 Bài tập 38 3.2 Bài tập 41 3.3 Bài tập 42 DỰ ÁN III: XÂY DỰNG CHƯƠNG TRÌNH NHẬP DỮ LIỆU VÀ TỰ ĐỘNG TẠO BẢN VẼ BỐ TRÍ CHUNG TRỤ CẦU THÂN ĐẶC TRONG AUTOCAD .44 NỘI DUNG DỰ ÁN .44 1.1 Mô tả yêu cầu 44 1.2 Kịch sử dụng kết chương trình 44 1.3 Cấu trúc dự án 44 1.4 Nội dung kiến thức VBA liên quan đến dự án 45 1.5 Những lưu ý khác .46 TRÌNH TỰ THỰC HIỆN DỰ ÁN 46 2.1 Tạo lưu vẽ mẫu xuất phát .46 2.2 Tạo lưu dự án VBA .46 2.3 Xây dựng giao diện người sử dụng 46 2.4 Xây dựng khối chương trình dạng khung 47 2.5 Viết mã lệnh chi tiết 49 2.6 Chạy thử chương trình kiểm tra kết 54 BÀI TẬP 54 3.1 Bài tập thực hành .54 3.2 Câu hỏi ôn tập 55 DỰ ÁN IV: CHƯƠNG TRÌNH VẼ TRẮC DỌC TỰ NHIÊN TRÊN AUTOCAD VỚI SỐ LIỆU ĐỌC TỪ FILE EXCEL 56 NỘI DUNG DỰ ÁN .56 1.1 Mô tả yêu cầu 56 1.2 Cấu trúc dự án 57 1.3 Nội dung kiến thức VBA liên quan đến dự án 58 1.4 Những lưu ý khác .58 TRÌNH TỰ THỰC HIỆN DỰ ÁN 58 2.1 Chạy VBA IDE tạo Module 58 2.2 Lưu trữ dự án dạng DVB 59 Bộ môn Tự động hóa thiết kế cầu đường ii http://tdhcd.net Mục lục BÀI GIẢNG TIN HỌC XÂY DỰNG 2.3 Khai báo tham chiếu hệ thống đối tượng Excel AutoCAD .59 2.4 Xây dựng giao diện người sử dụng 59 2.5 Xây dựng khối chương trình dạng khung 59 2.6 Mã lệnh toàn chương trình 66 2.7 Chạy thử chương trình kiểm tra kết 69 BÀI TẬP 70 3.1 Bài tập 70 3.2 Bài tập 71 DỰ ÁN V: CHƯƠNG TRÌNH CHUYỂN ĐỔI SỐ LIỆU TỪ BẢN VẼ KHẢO SÁT ĐỊA HÌNH TRÊN AUTOCAD SANG SỐ LIỆU DẠNG TỌA ĐỘ ĐIỂM TRÊN EXCEL ĐỂ LÀM DỮ LIỆU CHO CÁC PHẦN MỀM THIẾT KẾ ĐƯỜNG 72 NỘI DUNG DỰ ÁN .72 1.1 Mô tả yêu cầu 72 1.2 Cấu trúc dự án 73 1.3 Nội dung kiến thức VBA liên quan đến dự án 75 1.4 Những lưu ý khác .75 TRÌNH TỰ THỰC HIỆN DỰ ÁN 76 2.1 Mở file KS1.dwg 76 2.2 Chạy VBA IDE tạo Module 76 2.3 Xây dựng giao diện người sử dụng 77 2.4 Xây dựng khối chương trình dạng khung 77 2.5 Viết mã lệnh chi tiết cho chương trình chuyển đổi liệu 77 2.6 Chạy thử chương trình chuyển đổi liệu 86 2.7 Viết mã lệnh cho chương trình kiểm tra sơ liệu Excel 86 BÀI TẬP 88 3.1 Bài tập 88 3.2 Bài tập 89 Bộ môn Tự động hóa thiết kế cầu đường iii http://tdhcd.net Mở đầu BÀI GIẢNG TIN HỌC XÂY DỰNG MỞ ĐẦU TỔNG QUAN Hiện nay, máy tính đóng vai trò quan trọng trình thiết kế thi công công trình Với vai trò công cụ làm việc, giúp kỹ sư thiết kế lập vẽ nhanh chóng xác phần mềm AutoCAD, giúp cho việc tính toán mặt cắt trình bày hồ sơ thiết kế cách hiệu phần mềm Excel, giúp tính toán kết cấu cầu, cống, nhà cửa, cột tháp … nhanh chóng xác phần mềm MIDAS, tính toán kết cấu đường, mái dốc phần mềm GeoSlope Plaxis, giúp thiết kế đường ô tô phần mềm Nova-TDN, ADS-Road hay Civil 3D Đối với kỹ sư thi công, máy tính hỗ trợ việc quản lý dự án phần mềm Project hay CSM, hỗ trợ tính toán chi phí xây dựng phần mềm dự toán G8 CE Như vậy, để nhanh chóng hoàn thành với chất lượng cao: tập lớn, thiết kế môn học, đồ án tốt nghiệp hay dự án thiết kế thi công thực tế, bạn cần tận dụng sức mạnh máy tính thông qua việc khai thác phần mềm thay vẽ tính toán thủ công Với đa dạng thực tế thiết kế, thi công hay tập lớn bạn học, phần mềm đáp ứng hay giải hết vấn đề, đó, bên nhiều phần mềm, tính có sẵn giúp bạn giải vấn đề chính, chúng cho phép bạn tự xây dựng tính với công sức lập trình nhất, hiệu cao nhất, để giải vấn đề phát sinh mà bạn gặp phải trình làm việc học tập cá nhân Điển hình phần mềm AutoCAD Excel, phần mềm sử dụng phổ biến giới kỹ thuật, tính hỗ trợ lập vẽ tính toán biết, chúng tích hợp sẵn công cụ lập trình đơn giản, dễ sử dụng hiệu cao, biết đến với tên đơn giản VBA, nhằm mục đích giúp người dùng tự xây dựng chương trình, chạy chúng, để giải toán hay vấn đề phát sinh thực tế công tác học tập Bộ môn Tự động hóa thiết kế cầu đường http://tdhcd.net Mở đầu BÀI GIẢNG TIN HỌC XÂY DỰNG Bạn băn khoăn trước bắt đầu môn học bạn chưa quen việc lập trình cho dù bạn học môn Tin học đại cương, bạn băn khoăn chưa sử dụng nhiều Excel AutoCAD trình học tập từ trước đến nay, cho dù chúng đơn giản bạn làm quen môn Vẽ kỹ thuật Tất trở ngại giải với cách học thân thuộc với học hỏi tự nhiên người, tương tự việc bạn học xe đạp! Có lẽ không muốn tập xe đạp mà lại nghiên cứu trước để hiểu rõ xe đạp bánh lại đứng chạy dừng đứng, mà đa số người, có bạn, không quan tâm đến việc nghiên cứu đó, không quan tâm đến cấu khí xe đạp, thay vào việc nghiên cứu đó, bạn bắt đầu tập xe thực, bắt đầu bị ngã, bắt đầu chưa thể được, sau thời gian ngắn, bạn có cảm giác khả Việc học lập trình VBA vậy, mạnh dạn bắt đầu với hiểu biết không nhiều với tinh thần mạnh mẽ, bạn có cảm giác thú vị kết thúc môn học Mục tiêu trình đào tạo thể đồ án tốt nghiệp, nơi mà có đến 2/3 kiến thức liên quan đến thiết kế công trình giao thông, đó, môn học Tin học xây dựng thiết kế theo mục tiêu Hồ sơ thiết kế công trình giao thông, với khối lượng chủ yếu tính vẽ (chiếm 90%), thực tế công ty chứng tỏ, nội dung thực AutoCAD Excel Với vai trò kỹ sư thiết kế, bạn biết đến AutoCAD Excel mức độ biết vẽ hay biết tính toán, mà cần biết mức độ chuyên nghiệp hơn, biết điều khiển AutoCAD Excel thực theo ý tưởng bạn, mục tiêu môn học Để đạt mục tiêu, bạn cần có cách thức thực hiện, đây, VBA cách thức để bạn điều khiển AutoCAD Excel theo ý Chương trình học thiết kế theo cách dẫn bạn thực dự án từ nhỏ đến lớn, từ đơn giản đến phức tạp Các dự án chương trình, mà sau này, bạn cần đến nó, quan trọng hơn, cách thức để bạn biết cách thực hành chủ động học tập, giúp bạn đạt mục tiêu môn học EXCEL Microsoft Excel phần mềm chuyên xử lý bảng tính hãng phần mềm tiếng Microsoft Excel thực công cụ mạnh mẽ phục vụ công tác tính toán, lập bảng biểu… Với toán từ đơn giản đến phức tạp, ta sử dụng Excel để giải cách dễ dàng với nhiều tính sẵn có:  Khả tổ chức liệu mạnh mẽ với hệ thống ô, vùng liệu, bảng tính…;  Khả xử lý liệu truy vấn, lọc, tính toán… với hệ thống phong phú hàm hàm chức chuyên biệt;  Khả lập báo cáo với cách tổ chức bảng biểu hệ thống biểu đồ tương đối hoàn chỉnh; Bộ môn Tự động hóa thiết kế cầu đường http://tdhcd.net Mở đầu BÀI GIẢNG TIN HỌC XÂY DỰNG  Khả in ấn với nhiều lựa chọn khác Với cách tổ chức giống bảng tính thông thường, Excel phần mềm bảng tính trực quan dễ sử dụng Chính điều khiến cho Excel phần mềm thiếu kỹ sư thiết kế Trong thực tế, bạn sử dụng Excel để tính toán trình bày nội dung cho hầu hết loại tập lớn, đồ án tốt nghiệp hay đồ án thiết kế AUTOCAD AutoCAD phần mềm hỗ trợ tạo vẽ kỹ thuật dùng phổ biến Đây sản phẩm hãng Autodesk phát triển liên tục nhiều năm nay, điều thể việc cập nhật hàng năm phiên AutoCAD Hình vẽ AutoCAD tổ chức chủ yếu theo dạng vector chuẩn lưu trữ dạng DWG biết đến chuẩn lưu trữ hình vẽ dạng vector hiệu giới Để tạo thuận lợi tối đa cho người dùng, AutoCAD thiết kế với cấu trúc tính hợp lý:  Không gian để tạo vẽ chia thành hai loại: o Không gian mô hình (Model), nơi mà người dùng vẽ hay dựng mô hình vật thể mà không cần quan tâm đến giới hạn kích thước đối tượng, vẽ tỷ lệ trình bày o Không gian trình bày hay gọi không gian in (Layout), nơi mà người dùng vẽ hay dựng mô không gian mô hình, mục đích không gian in Mục đích không gian in giúp cho người dùng biểu diễn trình bày vẽ theo ý tưởng dựa mô hình dựng (hay vẽ) không gian mô hình Trong không gian in, với số lượng không hạn chế, người dùng dễ dàng tạo in có tỷ lệ khác nhau, cách bố trí, đặt khác từ mô hình vẽ Bộ môn Tự động hóa thiết kế cầu đường http://tdhcd.net Mở đầu BÀI GIẢNG TIN HỌC XÂY DỰNG  Thao tác tạo vẽ thực thông qua lệnh trình đơn, công cụ, đặc biệt thông qua dòng lệnh AutoCAD Với hàng trăm lệnh sẵn có, với cách thực lệnh đa dạng, người dùng làm quen sử dụng AutoCAD thời gian ngắn  Hình vẽ AutoCAD, cho dù đơn giản hay phức tạp đến mấy, tạo nên từ đối tượng hình học Và đối tượng hình học lại hệ thống đối tượng phi hình học khác AutoCAD hỗ trợ việc tạo chúng  Với cách tổ chức đối tượng hình học theo lớp (Layer), AutoCAD cho phép người dùng tổ chức vẽ, cho dù phức tạp đến mấy, thành lớp theo chủ đề khác nhau, khiến cho việc quản lý thao tác với vẽ trở nên dễ dàng  Các tiện ích in vẽ khiến cho việc in ấn trở nên đơn giản chuyên nghiệp  Khi tính sẵn có AutoCAD không đáp ứng nhu cầu người dùng người dùng sử dụng khả cho phép lập trình mở rộng AutoCAD để bổ sung thêm hay tạo tính chuyên biệt cho AutoCAD nhằm đáp ứng nhu cầu cá nhân VBA VBA (Visual Basic for Applications) công cụ lập trình cho phép xây dựng nhanh hiệu chương trình nhằm bổ sung thêm tính cho ứng dụng (AutoCAD, Excel) Một chương trình xây dựng VBA dựa ứng dụng phụ thuộc chặt chẽ vào ứng dụng đó, theo mặc định, dự án VBA hoạt động sử dụng thành phần ứng dụng Điều có nghĩa ta khó chuyển đổi dự án VBA từ loại ứng dụng sang ứng dụng khác tạo ứng dụng chạy độc lập VBA, thực chất kết hợp công cụ lập trình Visual Basic (VB) thành phần phép sử dụng ứng dụng nền, bản, việc xây dựng chương trình VBA AutoCAD Excel giống Việc sử dụng VBA thực tế diễn phổ biến tính dễ dùng hiệu cao, có nhiều tài liệu kiến thức VBA chia sẻ Internet, đó, việc lập trình với VBA trở nên thuận tiện Trong môn học này, VBA đề cập đến công cụ lập trình AutoCAD Excel, thông qua dự án mẫu, với tập kèm, bước hướng dẫn bạn làm quen làm chủ VBA Bộ môn Tự động hóa thiết kế cầu đường http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG DỰ ÁN I: XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐẶC TRƯNG HÌNH HỌC CỦA MỘT SỐ LOẠI MẶT CẮT CƠ BẢN HAY DÙNG TRONG KẾT CẤU CẦU NỘI DUNG DỰ ÁN 1.1 Mô tả yêu cầu  Tên dự án: Xây dựng chương trình tính đặc trưng hình học số loại mặt cắt hay dùng kết cấu cầu  Giao diện chương trình xây dựng Userform điều khiển (Controls) VBA IDE Excel  Khi chạy chương trình, người dùng lựa chọn loại mặt cắt cần tính, là: mặt cắt chữ nhật, mặt cắt tròn đặc mặt cắt tròn rỗng Chương trình yêu cầu người dùng nhập kích thước tương ứng với loại mặt cắt chọn  Sau nhập số liệu, bấm nút lệnh chương trình thực hiện: o Tính diện tích mặt cắt ngang, mômen quán tính mặt cắt trục y trục z (các trục qua trọng tâm mặt cắt) o Ghi kết lên Userform (trong mục “Ket qua tinh toan”)  Khi bấm nút lệnh chương trình thực hiện: o Tính diện tích mặt cắt ngang, mômen quán tính mặt cắt trục y trục z (các trục qua trọng tâm mặt cắt) o Ghi kết lên Userform o Xuất kết vào sheet1 Excel  Khi bấm nút lệnh thoát khỏi chương trình Bộ môn Tự động hóa thiết kế cầu đường http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG 2.3 Xây dựng giao diện người sử dụng  Chương trình giao diện dạng UserForm mà thực thông qua cách gọi Macro AutoCAD chế độ dòng lệnh AutoCAD 2.4 Xây dựng khối chương trình dạng khung Thêm Module vào dự án với tên đặt Chuongtrinh 2.4.1 Viết mã lệnh định nghĩa kiểu liệu người dùng cho Điểm đo Ý nghĩa TT  Tên biến Kiểu liệu Ví dụ Thứ tự điểm đo TT Long 123 Tọa độ theo phương X X Double 12.56 Tọa độ theo phương Y Y Double 52.36 Tọa độ theo phương Z (cao độ) Z Double 6.35 Kiến thức tham khảo    Cách đặt tên biến: mục trang 23 Kiểu số: mục 5.2 5.3 trang 27 Khai báo sử dụng kiểu liệu tự định nghĩa: mục 5.8, trang 31 2.4.2 Tạo chương trình Module  Chương trình thực tất nội dung dự án dạng Macro AutoCAD  Kiến thức tham khảo    Từ khóa Public: mục trang 50 (tham khảo thêm mục trang 33) Chương trình dạng thủ tục (Sub):mục 9.2, trang 51 Macro AutoCAD: mục trang 194 2.5 Viết mã lệnh chi tiết cho chương trình chuyển đổi liệu 2.5.1 Định nghĩa biến chương trình  Mã lệnh khai báo biến chương trình: Bộ môn Tự động hóa thiết kế cầu đường 77 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG  Do số lượng điểm đo xác định từ trước nên danh sách điểm đo cố định, phải sử dụng mảng động  Các điểm đo chọn từ vẽ AutoCAD nên cần đến đối tượng SelectionSet (tên đầy đủ AcadSelectionSet) để chứa tạm thời Text chọn  Tọa độ (X, Y) điểm đo vẽ điểm (point) gồm thành phần X Y Ở sử dụng biến kiểu Variant để chứa point này, nhiên có nhiều cách khác để thực nhiệm vụ  Kiến thức tham khảo       Khai báo biến bản: mục 6.2 trang 37 Khai báo biến kiểu tự định nghĩa: mục 5.8 trang 31 mục 6.3 trang 37 Khai báo mảng động: mục 6.5 trang 38 Dữ liệu kiểu Variant: mục 5.7 trang 30 Khai báo kiểu đối tượng hình học AutoCAD: mục 5.2.2 trang 224 mục 5.2.6 trang 232 khai báo đối tượng AcadText Khai báo kiểu đối tượng SelectionSet: mục 5.3.1 trang 234 2.5.2 Loại bỏ đối tượng SelectionSet cũ  AutoCAD chứa lúc nhiều đối tượng SelectionSet  Đối tượng SelectionSet dùng để chứa Text (các điểm đo) dự kiến đặt tên MySSet, nhiên việc đặt tên bị lỗi khiến cho chương trình chạy AutoCAD (vì lý đó) có sẵn tập đối tượng có tên  Có vài cách thức khác để tránh lỗi (tham khảo mục 5.3.1 trang 234)  Đoạn mã lệnh sau loại bỏ đối tượng SelectionSet có tên MySSet (nếu có):  Kiến thức tham khảo   Đối tượng SelectionSet: mục 5.3 trang 233 Đối tượng ThisDrawing: mục 4.2.2 trang 202 2.5.3 Khởi tạo đối tượng SelectionSet  Thêm vào đối tượng SelectionSet có tên MySSet dùng để lưu trữ tạm thời Text (điểm đo) thực việc lựa chọn (select) vẽ Bộ môn Tự động hóa thiết kế cầu đường 78 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG  Kiến thức tham khảo  Khởi tạo đối tượng SelectionSet: mục 5.3.1 trang 234 2.5.4 Nhập liệu  Dữ liệu nhập vào hình thức chọn đối tượng thông dụng AutoCAD Giao diện lời nhắc (prompt) AutoCAD xuất hình (phiên từ AutoCAD 2007 cài mặc định) cửa sổ dòng lệnh (Command Window) phiên AutoCAD thấp có thiết lập riêng (xem tài liệu hướng dẫn sử dụng AutoCAD, lệnh Options)  Mã lệnh:  Việc nhập liệu kết thúc người dùng bấm Enter  Câu lệnh cho phép chọn loại đối tượng (Line, Pline, Cirle, Text, …) mà bạn nhìn thấy ban vẽ (đối tượng hình học)  Kiến thức tham khảo  Các phương thức đối tượng SelectionSet: mục 5.3.2 trang 235 2.5.5 Lấy số đối tượng chọn  Sau người dùng bấm phím Enter việc lựa chọn kết thúc, đối tượng SelectionSet (tên MySSet) chứa danh sách đối tượng chọn  Trong số đối tượng chọn danh sách có đối tượng Text Do cần duyệt toàn danh sách thực chuyển đổi với đối tượng Text  Mã lệnh:  Kiến thức tham khảo  Các phương thức đối tượng SelectionSet: mục 5.3.2 trang 235 2.5.6 Lập danh sách điểm đo  Danh sách điểm đo chứa mảng động khai báo dạng mảng động (mảng chưa biết có phần tử, biết tên kiểu liệu khai báo biến)  Chỉ số danh sách (gán dòng lệnh 38) Bộ môn Tự động hóa thiết kế cầu đường 79 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG  Thực lệnh For … To … để duyệt toàn đối tượng chọn có đối tượng SelectionSet (tên MySSet) Sẽ có trường hợp xảy duyệt đối tượng chọn: o Đối tượng chọn Text o Đối tượng chọn Text (và coi liệu điểm đo chương trình này)  Mã lệnh duyệt đối tượng MySSet:  Kiểm tra xem đối tượng chọn MySSet có phải Text không: o Nếu không thực việc chuyển đổi liệu (không làm cả!) o Nếu Text lấy thông tin tọa độ (X,Y) cao độ (Z)   Lấy thông tin đối tượng chứa đối tượng SelectionSet: mục 5.3.2 trang 235 Loại đối tượng AutoCAD thường có tên bắt đầu AcDb  Nếu đối tượng chọn thứ i đối tượng MySSet Text thì: o Gán cho biến đối tượng kiểu Text để tiện cho việc xử lý (dòng lệnh 41) o Thực bẫy lỗi khả chọn phải đối tượng Text điểm đo vẽ (ví dụ chọn nhầm vào phần ghi địa hình: Nhà cấp 4) nên giá trị Text chuyển sang dạng số (Text có giá trị “Nhà cấp 4” chuyển sang dạng số được) Điều gây lỗi làm chương trình bị dừng lại, cần loại trừ lỗi cách bẫy lỗi  Bẫy lỗi: mục 14.3 trang 94 Bộ môn Tự động hóa thiết kế cầu đường 80 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG o Bật chế độ bẫy lỗi (dòng lệnh 43) trước thực việc lấy cao độ điểm đo (dòng lệnh 44): o Nếu lỗi xảy (gặp phải tình huống: Text điểm đo) bật chế độ bẫy lỗi nên chương trình không bị dừng lại, mà tiếp tục chạy với giá trị biến Elev không xác định, đồng thời đối tượng Err (xem mục 14.3.2 trang 95) chứa mã lỗi Trong trường hợp gặp lỗi này, Text điểm đo nên không thực việc chuyển đổi (tức không gán giá trị cho mảng chứa danh sách điểm đo) mà thực xóa bỏ việc bẫy lỗi vòng lặp thứ i (vòng lặp thứ i+1 tiếp tục qua dòng lệnh 43 nên việc bẫy lỗi thiết lập lại) o Nếu không xảy lỗi (giả định điểm đo), lúc giá trị Err.Number = 0, thực việc chuyển đối liệu sau:  Cấp phát mảng động (dòng lệnh 46)  Cao độ điểm đo (Z) lấy giá trị biến Elev dòng lệnh 52 (biến nhận giá trị Text, chuyển đổi dòng lệnh 44)  Thứ tự điểm đo (cũng xem tên điểm đo) lấy thứ tự danh sách (biến Order, dòng lệnh 47)  Tọa độ (X, Y) điểm đo lấy tọa độ điểm chèn Text (dòng lệnh 4951)  Đổi màu Text coi điểm đo sang màu Green (dòng lệnh 48) Bộ môn Tự động hóa thiết kế cầu đường 81 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG     Tăng số mảng động lên (dòng lệnh 53) Hiệu chỉnh đối tượng Text: mục 5.4.4 trang 258 Sử dụng phương thức thuộc tính đối tượng hình học: mục 5.4.1 trang 245 mục 5.4.2 trang 252 Sử dụng đối tượng Err: mục 14.3.2 trang 95 2.5.7 Xóa bỏ đối tượng MySSet sau sử dụng  Việc xóa đối tượng không gây liệu vẽ lưu trữ danh sách đối tượng chọn 2.5.8 Kết nối với Excel xuất liệu sau chuyển đổi  Chạy Excel (dòng lệnh 63  65)  Tạo file Excel (dòng lệnh 67)  Tạo sheet có tên “SoLieu” (dòng lệnh 68, 69):   Làm việc với Workbook: mục 7.2 trang 154 Làm việc với Worksheet: mục 7.3 trang 155  Ghi liệu từ mảng chứa thông tin điểm đo Excel: Bộ môn Tự động hóa thiết kế cầu đường 82 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG  Làm việc với Cells: mục 7.4 trang 156 Bộ môn Tự động hóa thiết kế cầu đường 83 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG 2.5.9 Mã lệnh toàn chương trình 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Option Explicit Type DiemDo TT As Long X As Double Y As Double Z As Double End Type ' Lay toa cua cac diem tren ban ve cu de chuyen du lieu thiet ke cho Nova-TDN Civil 3D Public Sub Convert() Dim DD() As DiemDo ' Mang dong chua cac diem Dim TextObj As AcadText ' Doi tuong Text cua AutoCAD Dim SsetObj As AcadSelectionSet ' Tap doi tuong SelectionSet de lam viec voi cac doi tuong cua AutoCAD Dim Elev As Double ' Cao cua diem Dim Order As Long ' thu tu cua diem Dim InsPoint As Variant ' Toa x, y cua diem Dim N As Long ' So doi tuong duoc chon ban ve AutoCAD Dim i As Long ' Duyet doi tuong 'Tim ban ve AutoCAD xem da co tap doi tuong MySSet nao khong, neu co thi xoa no di For Each SsetObj In ThisDrawing.SelectionSets If SsetObj.Name = "MySSet" Then SsetObj.Delete Exit For End If Next ' Khoi tao tap doi tuong moi de chua cac doi tuong AutoCAD Set SsetObj = ThisDrawing.SelectionSets.Add("MySSet") ' Dung Mouse de chon cac diem can chuyen doi SsetObj.SelectOnScreen ' Lay so doi tuong da chon duoc N = SsetObj.Count ' Khoi tao so thu tu cua cac diem Order = For i = To (N - 1) If SsetObj.Item(i).ObjectName = "AcDbText" Then ' Chi lam viec voi cac doi tuong dang TEXT Set TextObj = SsetObj.Item(i) Bộ môn Tự động hóa thiết kế cầu đường 84 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ' Bay loi de loai bo cac doi tuong Text khong phai la so On Error Resume Next Elev = TextObj.TextString ' Lay noi dung cua Text lam cao diem If Err.Number = Then ' Neu doi tuong Text la so ReDim Preserve DD(Order) ' Cap phat bo nho cho mang dong DD(Order).TT = Order TextObj.Color = acGreen ' Danh dau diem duoc chuyen doi ban ve AutoCAD InsPoint = TextObj.InsertionPoint ' Lay toa X, Y cho diem DD(Order).X = InsPoint(0) DD(Order).Y = InsPoint(1) DD(Order).Z = Elev Order = Order + Else ' Neu doi tuong Text khong phai la so Err.Clear End If End If Next i ' Xoa bo tap doi tuong sau dung SsetObj.Delete ' Ket noi voi Excel Dim App As Excel.Application Set App = Excel.Application App.Visible = True Dim WBook As Workbook, WSheet As Worksheet Set WBook = App.Workbooks.Add Set WSheet = WBook.Worksheets(1) WSheet.Name = "DuLieu" For i = LBound(DD) To UBound(DD) WBook.Worksheets("DuLieu").Cells(i WBook.Worksheets("DuLieu").Cells(i WBook.Worksheets("DuLieu").Cells(i WBook.Worksheets("DuLieu").Cells(i Next i + + + + 1, 1, 1, 1, 1) 2) 3) 4) = = = = DD(i).TT DD(i).X DD(i).Y DD(i).Z App.Caption = "Ket Thuc" End Sub Bộ môn Tự động hóa thiết kế cầu đường 85 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG 2.6 Chạy thử chương trình chuyển đổi liệu 2.6.1 Chạy thử chương trình  Đặt trỏ bên chương trình Convert  Bấm chọn nút Run (như hình dưới):  Chọn đối tượng, chọn loại đối tượng toàn đối tượng có vẽ (nếu cần chuyển đổi toàn điểm đo có vẽ)  Bấm Enter để kết thúc việc chọn đối tượng chuyển đổi:  Kết quả: chương trình tự động chạy Excel chuyển kết sang, cột A thứ tự (hay tên điểm đo), cột B, C, D tọa độ X, Y, Z: 2.7 Viết mã lệnh cho chương trình kiểm tra sơ liệu Excel  Kết sau chuyển sang Excel, cần kiểm tra lại cách sơ để phát lỗi người vẽ vẽ khảo sát vô tình gây ra, ví dụ nhập liệu sai Bộ môn Tự động hóa thiết kế cầu đường 86 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG  Giả định biết cao độ vùng không 10.00m, tiến hành kiểm tra xem có điểm đo có cao độ 10m không, có đánh dấu cách đổi màu chữ điểm thành màu đỏ đậm 2.7.1 Tạo mô-đun để viết mã lệnh  Trong file kết chương trình chuyển đổi xuất sang Excel  Gọi VBA IDE (có thể bấm Alt+F11)  Tạo Module1: 2.7.2 Tạo chương trình  Chương trình dạng Sub: 2.7.3 Mã lệnh kiểm tra cao độ  Chương trình tự động xác định vùng có liệu Excel cách sử dụng đối tượng UsedRange  Do quan tâm đến cao độ điểm đo, nên cần duyệt Cells cột D (tức cột số 4):  Biến r (kiểu Range) chứa thông tin đọc Cells thuộc cột (là cột chứa giá trị cao độ điểm đo) Kiểm tra giá trị biến r (r.Value), lớn 10 thực việc đổi chữ sang màu đỏ đậm Bộ môn Tự động hóa thiết kế cầu đường 87 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG   Đối tượng UsedRange: mục 7.4.3 trang 157 Thay đổi định dạng Cells: mục 2.2.2 trang 108 BÀI TẬP 3.1 Bài tập  Lập chương trình tính tổng chiều dài đoạn thẳng (đối tượng kiểu Line) chọn vẽ AutoCAD  Chương trình thực sau: o Yêu cầu người dùng chọn đối tượng vẽ Có thể chọn đối tượng, chọn nhóm chọn toàn o Lọc lấy đối tượng kiểu AcDbLine tính tổng chiều dài đối tượng o Yêu cầu người dùng chọn điểm (point) vẽ ghi kết (tổng chiều dài đoạn thẳng chọn) lên vẽ điểm (point) vừa chọn  Hướng dẫn bản: o Tên đối tượng hình học AutoCAD chứa thuộc tính ObjectName Đoạn chương trình sau hiển thị tên loại đối tượng hình học cửa sổ Immediate chọn: Public Sub TenDT() Dim Obj As AcadObject Dim Pnt As Variant ThisDrawing.Utility.GetEntity Obj, Pnt, "Chon doi tuong:" Debug.Print Obj.ObjectName End Sub o Tên số đối tượng hình học hay sử dụng: Loại đối tượng Line LWPolyLine Text Tên AcDbLine AcDbPolyline AcDbText o Chiều dài đối tượng dạng đường (Line, LWPolyLine) chứa thuộc tính Length Đoạn mã lệnh sau hiển thị chiều dài đối tượng dạng đường chọn: Public Sub TenDT() Dim Obj As AcadObject Dim Pnt As Variant ThisDrawing.Utility.GetEntity Obj, Pnt, "Chon doi tuong:" Bộ môn Tự động hóa thiết kế cầu đường 88 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG Debug.Print Obj.Length End Sub o Tạo đối tượng Text: mục 5.2.6 trang 232 3.2 Bài tập  Lập chương trình đánh dấu dòng chứa liệu cần tìm bảng Excel  Chương trình thực nội dung sau: o Yêu cầu người dùng chọn mã vật liệu cần tìm o Tự động duyệt toàn vùng liệu có đánh dấu tất dòng chứa loại vật liệu công việc khác  Hướng dẫn bản: o Mở file “Phan tich vat tu.xlsx” thư mục dự án o Khởi động VBA IDE Excel o Tạo Module1 để viết mã lệnh Bộ môn Tự động hóa thiết kế cầu đường 89 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG o Dùng hàm InputBox đối tượng Application để nhập liệu, lưu ý chọn Cell chứa mã số tật tư loại vật liệu cần đánh dấu (trong hình ô C11, loại vật liệu Xi măng PC30) o Viết mã lệnh để đánh dấu dòng có loại vật liệu chọn Bộ môn Tự động hóa thiết kế cầu đường 90 http://tdhcd.net Dự án BÀI GIẢNG TIN HỌC XÂY DỰNG o Sử dụng UsedRange để xác định vùng liệu tự động yêu cầu người dùng nhập vùng liệu hàm Application.InputBox o Mã lệnh đánh dấu dòng: Public Sub Test() Dim R As Range Set R = Application.InputBox("Chon ma so vat tu (MSVT)", Type:=8) Dim n As Long n = R.Row ‘ Số thứ tự dòng Cell chọn ThisWorkbook.ActiveSheet.Rows(n).Interior.Color = RGB(255, 0, 0) End Sub Bộ môn Tự động hóa thiết kế cầu đường 91 http://tdhcd.net [...]... http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG 2.2 Chạy VBA IDE và tạo Userform  Gọi VBA IDE: bấm Alt + F11, hoặc bấm vào biểu tượng như sau:  Tạo Userform: Chọn Insert  UserForm Bộ môn Tự động hóa thiết kế cầu đường 8 http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG 2.3 Xây dựng giao diện người sử dụng  Lựa chọn các điều khiển thích hợp từ hộp công cụ điều khiển (Control Toolbox) để xây dựng giao diện... mặt cắt chữ nhật Bộ môn Tự động hóa thiết kế cầu đường 9 http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG Khung 2 (Frame2): dùng để nhập dữ liệu cho mặt cắt tròn đặc Khung 3 (Frame3): dùng để nhập dữ liệu cho mặt cắt tròn rỗng Bộ môn Tự động hóa thiết kế cầu đường 10 http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG Để tạo ra 3 file ảnh, có thể làm bằng cách: vẽ các mặt cắt trong AutoCAD, sau... mục 2.3 trang 108) Bộ môn Tự động hóa thiết kế cầu đường 23 http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG  Người dùng chọn vùng dữ liệu cần tổng hợp 1.2.3 Khối chương trình (Module)  Chương trình được đặt trong 01 Module Bộ môn Tự động hóa thiết kế cầu đường 24 http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG  Khối mã lệnh định nghĩa kiểu dữ liệu người dùng  Khối mã lệnh thực thi chức năng... http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG 2.5 Chạy thử chương trình và kiểm tra kết quả  Trong VBA IDE: bấm F5 hoặc vào menu Run  Run Sub/Userform  Chọn loại mặt cắt cần tính, nhập số liệu, bấm nút lệnh để kiểm tra chức năng của chương trình 3 BÀI TẬP 3.1 Bài tập 1  Nên làm lại dự án mẫu trước khi làm các bài tập  Nội dung: Lập chương trình tính ứng suất lớn nhất trong bài toán uốn và kéo... thủ tục sự kiện Click của Command Button  Mã lệnh cho nút lệnh “Tinh”: Bộ môn Tự động hóa thiết kế cầu đường 14 http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG  - Mã lệnh cho thủ tục Click của nút lệnh CmdTinh sẽ được thực hiện khi người dùng kích chuột vào nút lệnh “Tinh” - Sử dụng cấu trúc lựa chọn để tính toán đặc trưng hình học cho các loại mặt cắt ngang tương ứng với lựa chọn của người dùng... kế cầu đường 26 http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG 2.2 Tạo sheet “Tong hop vat tu” 2.3 Chạy VBA IDE và tạo Module  Gọi VBA IDE: bấm Alt + F11  Tạo Module: Chọn Insert  Module 2.4 Xây dựng giao diện người sử dụng  Chương trình này không có giao diện dạng UserForm mà thực hiện thông qua cách gọi Macro của Excel (xem mục 2.3 trang 108) 2.5 Xây dựng khối chương trình dạng khung Thêm... Bộ môn Tự động hóa thiết kế cầu đường 19 http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG  Yêu cầu: o Tính ra được ứng suất kéo lớn nhất và ứng suất nén lớn nhất So sánh với ứng suất cho phép o Xuất kết quả lên UserForm và Excel 3.2 Bài tập 2  Nội dung: Lập chương trình giải phương trình bậc 2 bằng VBA trên Excel  Hướng dẫn: o Xây dựng một Userform và các điều khiển cần thiết o Người dùng nhập...Dự án 1 BÀI GIẢNG TIN HỌC XÂY DỰNG 1.2 Cấu trúc dự án 1.2.1 Giao diện của chương trình:  Giao diện của chương trình được xây dựng bằng Userform và điều khiển (Hộp danh sách tổ hợp - ComboBox, Nhãn - Label, Hộp văn bản - TextBox, Khung – Frame, Nút lệnh – CommandButton,... hình học của mặt cắt ngang và gán cho các biến tương ứng - Sau khi tính xong sẽ gán giá trị của các biến đã tính được cho các Hộp văn vản (Textbox) tương ứng Kiến thức tham khảo   Hộp văn bản (TextBox): trang 69 Các toán tử và hàm toán học: mục 7.1 và 7.1, trang 39 và 40  Mã lệnh cho nút lệnh “Tinh va xuat sang Excel”: Bộ môn Tự động hóa thiết kế cầu đường 15 http://tdhcd.net Dự án 1 BÀI GIẢNG TIN HỌC... chỉ cần sử dụng tiếng Việt không có dấu là được  Kích thước của các thành phần trên UserForm có thể điều chỉnh tùy ý, miễn là đủ để hiển thị các thông tin cần thiết Bộ môn Tự động hóa thiết kế cầu đường 21 http://tdhcd.net Dự án 2 BÀI GIẢNG TIN HỌC XÂY DỰNG DỰ ÁN II: CHƯƠNG TRÌNH LẬP BẢNG TỔNG HỢP VẬT TƯ 1 NỘI DUNG DỰ ÁN 1.1 Mô tả yêu cầu  Tên dự án: Chương trình lập bảng tổng hợp vật tư  Dữ liệu ban

Ngày đăng: 19/10/2016, 19:10

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

    • 1. TỔNG QUAN

    • 2. EXCEL

    • 3. AUTOCAD

    • 4. VBA

    • DỰ ÁN I: XÂY DỰNG CHƯƠNG TRÌNH TÍNH ĐẶC TRƯNG HÌNH HỌC CỦA MỘT SỐ LOẠI MẶT CẮT CƠ BẢN HAY DÙNG TRONG KẾT CẤU CẦU

      • 1. NỘI DUNG DỰ ÁN

        • 1.1. Mô tả yêu cầu

        • 1.2. Cấu trúc dự án

          • 1.2.1. Giao diện của chương trình:

          • 1.2.2. Khối chương trình

          • 1.3. Nội dung kiến thức VBA liên quan đến dự án

          • 1.4. Nội dung kiến thức lập trình trên Excel liên quan đến dự án

          • 1.5. Những lưu ý khác

          • 2. TRÌNH TỰ THỰC HIỆN DỰ ÁN

            • 2.1. Tạo file Excel mới và lưu lại thành dạng *.xlsm

            • 2.2. Chạy VBA IDE và tạo Userform

            • 2.3. Xây dựng giao diện người sử dụng

            • 2.4. Viết mã lệnh chi tiết cho chương trình

              • 2.4.1. Định nghĩa các biến chính của chương trình

              • 2.4.2. Mã lệnh cho thủ tục sự kiện Initialize của Userform

              • 2.4.3. Mã lệnh cho thủ tục sự kiện Change của ComboBox

              • 2.4.4. Mã lệnh cho thủ tục sự kiện Click của Command Button

              • 2.4.5. Mã lệnh của toàn bộ chương trình

              • 2.5. Chạy thử chương trình và kiểm tra kết quả

              • 3. BÀI TẬP

                • 3.1. Bài tập 1

Tài liệu cùng người dùng

Tài liệu liên quan