Bên cạnh những đặc tính thuận tiện trên, vì Civil 3D là phần mềm được thiết kế do hãng Autodesk của Mỹ nên tuân theo tiêu chuẩn AASHTO và việc thể hiện kết quả mặt cắt dọc, mặt cắt ngang
Trang 1Lời nói đầu
Sau thời gian ba tháng thực hiên nhiệm vụ đồ án tốt nghiệp, với sự hướng dẫncủa các thầy cô giáo, cùng những cố gắng của bản thân em đã hoàn thành đồ án tốtnghiệp của mình Trước tiên em xin gửi lời cảm ơn sâu sắc tới thầy giáo Thạc sĩ LêQuỳnh Mai, giảng viên thuộc bộ môn Tự động hoá thiết kế cầu đường trường Đạihọc Giao thông vận tải Hà Nội, người hướng dẫn em trong suốt quá trình làm đồ
án, đã chỉ bảo và tạo điều kiện tốt nhất để em có thể hoàn thành đồ án tốt nghiệp
Em cũng xin cảm ơn thầy giáo Kĩ sư Trương Thanh Hoàng, với sự chỉ bảo củathầy trong đợt thực tập kĩ sư, đã giúp cho em rất nhiều trong việc tìm hiểu sâu hơnphục vụ cho đồ án tốt nghiệp
Em xin gửi lời cảm ơn đến tất cả các thầy các cô trong bộ môn Tự động hóathiết kế cầu đường và các thầy cô giáo trong trường đại học Giao thông vận tải HàNội đã truyền đạt cho em những kiến thức chung về nghành công trình cũng nhưkiến thức chuyên nghành
Cuối cùng em đặc biệt cảm ơn gia đình, bạn bè và người thân đã luôn yêu quý,động viên và khuyến khích em trong suốt quá trình làm đồ án tốt nghiệp
Hà Nội - ngày 18 tháng 5 năm 2008
Sinh viên : Phan Thị Thu Hiền
Trang 2Mục lục
Mục lục 1
Chương 1 : Đặt vấn đề 3
Chương 2 : Tổng quan về Civil 3D 5
Cấu trúc của dự án tuyến trong Civil 3D: 5
Chương 3 : Mô hình đối tượng trong Civil 3D 9
3.1 Thư viện lập trình 9
3.2 Mô hình đối tượng trong Civil 3D 10
3.3 Phương thức và thuộc tính của đối tượng 12
Chương 4 : Ứng dụng VBA trong Civil 3D 16
4.1 Thể hiện trắc dọc trong VBA : 16
4.1.1 Thể hiện đường đen trên trắc dọc : 18
4.1.2 Thể hiện đường đỏ trắc dọc : 19
4.1.3 Ghi chữ và các ghi chú trên trắc dọc : 22
1 Ghi cao độ tự nhiên 23
2 Cao độ thiết kế 24
3 Khoảng cách lẻ 24
4 Khoảng cách cộng dồn 25
Trang 35 Lý trình 26
6 Dốc dọc thiết kế 27
7 Đoạn thẳng, đoạn cong 29
8 Ghi hiệu cao độ thiết kế và cao độ tự nhiên 32
4.2 Thể hiện trắc ngang 35
4.2.1 Thể hiện đường đen trắc ngang 37
4.2.2 Thể hiện đường đỏ trắc ngang : 38
4.2.3 Ghi chú trên trắc ngang 40
1 Cao độ tự nhiên 40
2 Khoảng cách lẻ tự nhiên 40
3 Cao độ thiết kế 41
4 Khoảng cách lẻ thiết kế 42
5 Ghi độ dốc trên đường đỏ trắc ngang và các thông tin siêu cao .43 4.2.4 Thể hiện nhiều trắc ngang trên cùng một bản vẽ 45
Chương 5 : Kết luận 48
Tài liệu tham khảo 49
Trang 4Chương 1 : Đặt vấn đề
Công tác thiết kế đường hiện nay ở nước ta ngày càng được tự động hoá bằngcác phần mềm hỗ trợ thiết kế trong nước và cả nước ngoài Việc sử dụng các phầnmềm giúp công tác thiết kế rút ngắn thời gian và đảm bảo tính chính xác theo hệthống Các phần mềm đã và đang được người thiết kế sử dụng phổ biến trong nướcnhư Nova –TDN, TKD, Autodesk- Softdesk, Autodesk Landdesktop, AutodeskCivil 3D Qua quá trình sử dụng, người thiết kế có thể thấy được những tính năngcủa từng chương trình từ đó sẽ xác định ưu điểm của mỗi phần mềm
Autodesk Civil 3D cũng là một phần mềm có nhiều đặc tính nổi bật Đây làmột phần mềm đang ngày càng phổ biến ở Việt Nam nhờ có các ưu điểm cơ bản,
khác hẳn so với các phần mềm khác như: các đối tượng trong Civil 3D được xây
dựng trên mô hình ba chiều, và chúng có mối quan hệ linh hoạt với nhau, khi mộtđối tượng thay đổi thì các đối tượng liên quan sẽ thay đổi theo Chính nhờ những
đặc tính này mà việc thiết kế tuyến trên Civil 3D trở nên thuận tiện hơn khi có bất
cứ thay đổi nào trong hệ thống các đối tượng của chương trình
Việc tìm hiểu các chức năng và đánh giá ứng dụng của Civil 3D đã được thực
hiện với nhiều nghiên cứu từ trước đến nay Bên cạnh những đặc tính thuận tiện
trên, vì Civil 3D là phần mềm được thiết kế do hãng Autodesk của Mỹ nên tuân
theo tiêu chuẩn AASHTO và việc thể hiện kết quả mặt cắt dọc, mặt cắt ngang
tuyến trong Civil 3D không hoàn toàn giống như những bản vẽ mặt cắt dọc , mặt
cắt ngang vẫn thường được sử dụng trong nước theo Tiêu chuẩn Việt Nam Vì vậy
đề tài Thể hiện bản vẽ thiết kế hình học tuyến đường trong Civil 3D theo tiêu
chuẩn Việt Nam được thực hiện nhằm tìm hiểu mô hình đối tượng trong VBA của
Civil 3D và từ đó thể hiện lại mặt cắt dọc và mặt cắt ngang
Trang 5Để đạt được mục tiêu đã đề ra khi thực hiện đồ án, tức là nghiên cứu về đối
tượng trắc dọc (profile) và trắc ngang (section) trong Civil 3D, bước đầu tiên trong
nghiên cứu sẽ là tìm hiểu các đối tượng cơ bản trong một bài toán thiết kế tuyến
đường Sau đó tìm hiểu mô hình cây đối tượng trong Autodesk Civil 3D Thông
qua mô hình đối tượng để có thể biết được một đối tượng có thể cho phép truy cậpđến những đối tượng liên quan nào ở cấp tiếp theo Và từ những hiểu biết đó kếthợp với thuật toán hợp lý để xây dựng phần mềm thể hiện lại bản vẽ
Cũng giống như mô hình đối tượng trong VBA của AutoCad, đối tượng trong
Autodesk Civil 3D cũng được thể hiện dưới dạng cấu trúc cây phân cấp Đối tượng
trong VBA của Civil 3D rất rộng vì ngoài các đối tượng trong mảng thiết kế
đường, nó còn kèm theo các đối tượng dạng khác Vì vậy trong giới hạn của đề tài,chỉ tìm hiểu các đối tượng liên quan đến thiết kế đường hay chính xác hơn là liênquan đến trắc dọc và trắc ngang của tuyến
Tìm hiểu đối tượng trong Civil 3D, tức là tìm hiểu các thuộc tính và phương
thức trong từng đối tượng Phương thức thể hiện hành vi của đối tượng, thuộc tínhthể hiện tính chất của đối tượng Hiểu các đối tượng tức là hiểu được người sửdụng có thể tác động (thêm vào hoặc lấy các thông tin) đến nó và thể hiện nhữngthông tin đó theo ý muốn của mình Ở đây, mục đích chính của đề tài là thể hiệnthông tin của đối tượng trắc dọc và trắc ngang của tuyến đã được tạo ra, để từ đó đisâu tìm hiểu các đối tượng khác
Như vậy, dựa trên hướng tìm hiểu trên có thể đưa ra nội dung nghiên cứu của
đề tài bao gồm các vấn đề sau :
Tìm hiểu tổng quan các đối tượng hình học trong một dự án thiết kế
tuyến của Civil 3D
Tìm hiểu mô hình đối tượng trong VBA của Civil 3D
Xây dựng phần mềm thể hiện lại trắc dọc và trắc ngang bằng ngônngữ VBA
Trang 6Chương 2 : Tổng quan về Civil 3D
Cấu trúc của dự án tuyến trong Civil 3D:
Giao diện chính của chương trình
Các đối tượng trong Civil 3D cũng tương tự các đối tượng của những chương
trình thiết kế đường khác, đó là dữ liệu điểm, đường tim tuyến, trắc dọc tim tuyến,
mô hình tuyến, trắc ngang Dưới đây là các đối tượng chính trong thiết kế đường
của Civil 3D, các đối tượng này có mối quan hệ chặt chẽ với nhau, có thể linh
động thay đổi khi một đối tượng khác thay đổi
1
3
2
4
Trang 7Points: Tập hợp các dữ liệu điểm tạo
nên bề mặt địa hình
Surface : Bề mặt địa hình tạo ra dựa
trên các điểm đã tồn tạitrong dự án
Alignment : Đường tim tuyến bao gồm đoạn
thẳng , đoạn cong, đoạn chuyểntiếp
thông số của đường tim tuyến
Trang 8
Assembly : Tập hợp các Subassembly
(bộ phận cấu thành nêntrắc ngang mẫu ) _ tạothành một trắc ngangmẫu hoàn chỉnh cho môhình tuyến
Corridor : Mô hình tuyến được tạo ra sau khi
áp trắc ngang chuẩn theo
Alignment
Section : Trắc ngang thể hiện được dựa trên các thông tin của tuyến và
các thông tin trên Corridor
Trang 10Chương 3 : Mô hình đối tượng trong
Civil 3D
3.1 Thư viện lập trình
Cũng như tất cả các ứng dụng VBA trong các chương trình khác, khi một dự
án mới được khởi tạo, lúc đó phải tham chiếu đến thư viện hỗ trợ Các đối tượngđược chia thành những loại khác nhau và được xắp xếp vào các thư viện phù hợp.Trước khi viết code, chương trình ứng dụng ActiveX yêu cầu phải tham chiếuđến các thư viện tự động dưới đây :
Autodesk Civil Engineering Land 4.0 Object Library(AeccXLand40)
Autodesk Civil Engineering UI Land 4.0 Object Library(AeccXUiLand40)
Nếu tham chiếu đến các đối tượng Roadway, thì thêm các thư viện :
Autodesk Civil Engineering Corridor 4.0 Object Library(AeccXRoadway40)
Autodesk Civil Engineering UI Corridor 4.0 ObjectLibrary (AeccXUIRoadway40)
Nếu tham chiếu đến các đối tượng Pipe, thêm các thư viện :
Autodesk Civil Engineering Pipes 4.0 Object Library(AeccXPipes4.0)
Autodesk Civil Engineering UI Pipes 4.0 Object Library
Trang 11Các thư viện này sẽ truy cập đến tất cả các đối tượng, thuộc tính, phương thức,
và các sự kiện trong API ( ActiveX programming interface )
Trang 123.2 Mô hình đối tượng trong Civil 3D
Thông qua mô hình đối tượng trong Civil 3D, ta biết được các đối tượng chính
sẽ cho phép ta truy xuất đến các đối tượng nào tiếp theo
Trong đó các đối tượng có thể được hiểu :
Documents AeccApplication
SampleLines
Section Sections
Ghi chú :
Tập đối tượng Đối tượng
Trang 13AeccAplication : đối tượng thể hiện cho một lần làm việc của Autodesk
Civil 3D COM Là đối tượng gốc trong hệ cấp bậc các đối tượng
Document : chính là một bản vẽ đơn đang được mở trong Autodesk
3.3 Phương thức và thuộc tính của đối tượng
Để tác động được hay lấy ra những thông số của bất cứ đối tượng nào, phải dựatrên phương thức và thuộc tính của nó Phương thức thể hiện hành vi của đốitượng, thuộc tính thể hiện tính chất của đối tượng Việc nghiên cứu phương thức
và thuộc tính đòi hỏi thời gian và sự tìm hiểu kĩ lưỡng đối tượng trong Civil 3D Các đối tượng được nghiên cứu nhiều nhất trong đề tài là Alignment, Profile,
SampleLine và Section Dưới đây là các phương thức và thuộc tính thường được sử
dụng của các đối tượng
Alignment :
Trang 14Phương thức và thuộc tính của đối tượng Alignment
EndingStation Trả về lý trình điểm cuối cùng của tuyến
Entities Trả về tập hợp các Entity trong tuyến
Name Cho phép thiết dặt hay trả về tên Alignment
Profiles Trả về tập các Profile của Alignment
SampleLineGroups Trả về tập các SampleLineGroup được tạo ra
trên Alignment
StatingStation Trả về lý trình của điểm đầu tiên trên tuyến
Profile :
Trang 15ElevationAt Lấy ra cao độ tại các lý trình xác định trên
tuyến
InstantGrade Nhận giá trị lý trình, trả về giá trị độ dốc và
khác biệt đại số
Alignment Trả về Alignment tương ứng với Profile
ElevetionMax Ttrả về giá trị cao độ lớn nhất trên Profile
ElevationMin Trả về giá trị cao độ thấp nhất trên Profile
EndingStation Trả về lý trình của điểm cuối cùng trên trắc dọc
Name Cho phép đặt hay lấy ra tên của đối tượng
PVIs Trả về các điểm giao cắt theo phương đứng trên
Trang 16Station Thiết đặt hoặc lấy ra lý trình của SampleLine trên
ElevationMax Ttrả về cao độ lớn nhất trong Section
ElevationMin Trả về cao độ nhỏ nhất trong Section
LengthLeft Trả về bề rộng của Section lấy về bên trái so với
Trang 17Chương 4 : Ứng dụng VBA trong Civil 3D
4.1 Thể hiện trắc dọc trong VBA :
Mặt cắt dọc là mặt cắt thẳng đứng theo dọc tuyến đường đã duỗi thẳng Tậphợp cao độ tự nhiên thể hiện trên mặt cắt dọc là đường đen Tập hợp cao độ thiết
Trang 18Đầu tiên khi chạy chương trình, người dùng phải lựa chọn đối tượng
Alignment Chương trình sẽ kiểm tra đối tượng lựa chọn, nếu đối tượng lựa chọn
không phải là Alignment , hoặc số lượng Alignment lựa chọn lớn hơn 1, chương
trình sẽ đưa ra bảng thông báo lỗi sai và yêu cầu người dùng chọn lại đối tượng
Alignment Khi đối tượng lựa chọn là 1 Alignment, người dùng sẽ chọn điểm đặt
Bắt đầu
Chọn 1 đối tượng Alignment
Kiểm tra đối tượng lựa chọn
Trang 19cho trắc dọc, và chương trình sẽ thực hiện vẽ trắc dọc của Alignment mà người
dùng vừa lựa chọn
Trình tự thực hiện vẽ mặt cắt dọc cho tuyến đường bao gồm các phần chính:
- Thể hiện đường đen trắc dọc
- Thể hiện đường đỏ trắc dọc
- Ghi chú trên mặt cắt dọc
4.1.1 Thể hiện đường đen trên trắc dọc :
Trong Profile , sử dụng thuộc tính PVIs để lấy ra các điểm giao cắt trên mặt đứng
(PVIs là viết tắt của Points of vertical intersection) Thuộc tính này cho phép ta lấy
ra các điểm giao cắt giữa Alignment và bề mặt địa hình Từ đó có thể thể hiệnđược trắc dọc chính xác như thực tế
Sử dụng các Item để truy xuất đến từng Profile Với mỗi Profile , để lấy được
các tọa độ của PVI, cũng sử dụng các Item của PVI Dựa trên tọa độ của các điểm PVI đó, và sử dụng thuật toán để vẽ các đoạn thẳng từ các điểm PVI
- Dữ liệu đầu vào :
Tỷ lệ scale của trắc dọc theo phương đứng
- Giải thuật:
Với mỗi PVI, sử dụng thuộc tính Elevation để lấy ra cao
độ của các điểm, hay chính là tung độ Y sử dụng để vẽ đường đen
Hoành độ X của PVI được xác định bằng thuộc tính
Station tại mỗi điểm trên Profile
Trang 20 Căn cứ vào mảng các toạ độ của các điểm PVI, vẽ đượcmột Polyline nối các điểm giao cắt trên trắc dọc với nhau và tạothành đường đen.
- Kết quả đạt được :
Kết quả sau khi chạy phần lập trình , ta sẽ được một đường Polyline thể hiệnđường đen chính xác với kết quả mà Civil 3D xuất ra
Đường đen được vẽ ra khi chạy VBA
Đường đen khi xuất trong Civil 3D
4.1.2 Thể hiện đường đỏ trắc dọc :
Cũng giống như đường đen, đường đỏ cũng được xác định theo các điểm PVI.Tuy nhiên ở đường đỏ khác với đường đen ở các đoạn cấu tạo nên chúng Trongđường đen thì chỉ là các đoạn thẳng được tạo từ hai điểm PVI gần nhau nhất, nhưvậy trên đường đen chỉ là các đoạn thẳng Còn trong đường đỏ phức tạp hơn, vì nóđược tạo thành từ các đoạn thẳng và các đoạn cong nối tiếp nhau Do đó việc vẽđường đỏ sẽ được chia làm hai phần khác nhau đó là vẽ các đoạn thẳng và vẽ cácđoạn cong
Trang 21Trong VBA của Civil, các đối tượng có type khác nhau được phân biệt rõ rệt
bằng việc sử dụng phương thức TypeOf … Is Nhờ sử dụng phương thức này mà ta
tìm được type của các PVI trên đường đỏ là điểm tại nơi bố trí đoạn cong(IAeccProfilePVICurve) hay là điểm tại đoạn thẳng (IAeccProfilePVITangent).Đoạn cong ở đây có thể là cung tròn (Arc), một đoạn Parabol, hay đoạn congkhông đối xứng (Asymmetric)
- Đầu vào :
Tọa độ PVI của đoạn thẳng (PVItangent)
Tọa độ PVI của đoạn cong (PVIcurve)
- Giải thuật :
Đoạn cong : căn cứ vào các điểm PVI curve , xác định
được đỉnh của đoạn cong Sử dụng thuộc tính CurveLength,
BeginStation, EndStation của đối tượng PVIcurve để lấy ra chiều
dài, lý trình điểm đầu và lý trình điểm cuối của đoạn cong Dựavào đó ta có thể dễ dàng vẽ được đoạn cong bằng phương phápchia nhỏ
Trang 22 Phương pháp chia nhỏ : gán độ dài mỗi đoạn chia Chiađường cong thành các đoạn có độ dài bằng mỗi đoạn chia Với mỗiđiểm đó ta xác định lý trình bằng cách cộng lý trình điểm đầu đoạncong với tổng chiều dài các đoạn chia tính từ điểm bắt đầu đoạn
cong Cao độ sẽ xác định bằng thuộc tính ElevationAt của đối tượng Profile
Đoạn thẳng : Các PVI còn lại chính là các điểm PVI củađoạn thẳng Dễ dàng xác định tọa độ của chúng tương tự như làmvới các PVI trên đường đen
Dựa trên tọa độ của các điểm trên đoạn cong và đoạnthẳng, gán chúng vào một mảng, và vẽ Polyline dựa trên mảng tọa
độ điểm đó
- Kết quả :
Kết quả thu được là một đường Polyline thể hiện đường đỏ như hình vẽ dưới
Ta có thể thấy, đường đỏ vẽ theo VBA và đường đỏ được Civil 3D xuất ra là
tương đối giống nhau Phần đoạn thẳng là hoàn toàn chính xác, còn trong phầnđường cong, để kết quả càng chính xác thì đoạn chia phải càng nhỏ Tuy nhiênđoạn chia càng nhỏ, chương trình sẽ có một nhược điểm đó là khối lượng sẽ nhiềuhơn và như vậy tốc độ sẽ không nhanh
Trang 23
Đường đỏ được vẽ khi chạy VBA
Đường đỏ khi xuất trong Civil 3D
4.1.3 Ghi chữ và các ghi chú trên trắc dọc :
Mục đích của việc thể hiện lại bản vẽ trắc dọc là nhằm có được các bản vẽ códạng giống như những bản vẽ hiện đang được sử dụng nhiều tại Việt Nam Vì vậycác tiêu chuẩn về cỡ chữ, về khoảng cách cũng như các tiêu chuẩn khác đều tuântheo.Việc thể hiện các thông số về khoảng cách, về cao độ sẽ bám theo các mốc
nhất định, đó chính là các cọc trên tuyến, mà ở Civil 3D chính là vị trí các
SampleLine Đơn vị trong bản vẽ chính là đơn vị được thiết đặt trong Civil 3D do
người thiết kế đã đặt trước khi thực hiện thiết kế tuyến
Trang 241 Ghi cao độ tự nhiên
Như trên đã nói, việc ghi các thông số sẽ bám theo các SampleLine , các
SampleLine chính là các đoạn thẳng cắt ngang qua Corridor để lấy các thông số về
cao độ từ một mô hình địa hình hay bề mặt đã tồn tại để tạo nên các mặt cắt ngang.Xác định các vị trí để ghi cao độ tự nhiên chính là xác định các vị trí của các
SampleLine, công việc này dựa trên thuộc tính Station của mỗi SampleLine trên Alignment
- Đầu vào :
Lý trình của các SampleLine
Cao độ trên Profile đường đen của mỗi SampleLine
- Giải thuật :
Sử dụng phương thức AddText tại vị trí của mỗi
SampleLine để ghi cao độ tự nhiên với thông số cần ghi chính là
các cao độ của SampleLine Kết hợp với thuộc tính Rotation để
Trang 25 Sử dụng phương thức AddText tại vị trí của mỗi
SampleLine để ghi cao độ tự nhiên với thông số cần ghi chính là
các cao độ của SampleLine Kết hợp với thuộc tính Rotation để
Khoảng cách lẻ chính là khoảng cách giữa các SampleLine liền kề nhau Như
vậy để xác định được khoảng cách lẻ, ta chỉ cần biết được lý trình của các
SampleLine.
- Đầu vào :