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.