Professional Documents
Culture Documents
BÁO CÁO CHUYÊN Đề
BÁO CÁO CHUYÊN Đề
Làm cho các tiện ích được sử dụng trong biên dịch, liên kết tự
Bmake
động, và xây dựng tài nguyên cho các ứng dụng phức tạp.
Mlink Linker được dùng để kết hợp các đối tượng vào chương trình.
Chương trình dịch tài nguyên được dùng để biên dịch tài
Rcomp
nguyên nguồn.
Thư viện tài nguyên được dùng để trộn nhiều file tài nguyên
Rlib
vào một file.
Dùng để tạo ra sự mô tả các kiểu cho một nhóm các hàm built-
Rsctype
in được sử dụng trong biểu ngữ C trong runtime.
Các kiểu file nguồn
Kiểu file Mô tả
Được tham chiếu đến như tệp tiêu đề hay tệp include. Tệp tiêu
.h
đề được khai báo trong file .mc, .mt và .r.
Được tham chiếu đến như tệp ứng dụng, đây là file nguồn nơi
.ma tất cả các tài nguyên được liên kết với nhau trong một ứng
dụng. File ứng dụng có thể được tạo ra bởi mlink hay rlib.
Được tham chiếu đến như makefile, dược đọc bởi bmake để
.mke
biết cách thức xây dựng một ứng dụng.
Được tham chiếu đến như file thư viện, được tạo ra và cập
.ml
nhật bởi mlib.
.mm Được tham chiếu đến như map file, được tạo ra bởi mlink.
Được tham chiếu đến như file đối tượng, được tạo ra bởi
.mo
mcomp. Những file này là đầu vào của mlink.
Được tham chiếu đến như file chương trình. Đây là một
kiểu file tài nguyên mà có thể trộn với các tài nguyên
.mp
khác sử dụng rlib.File chương trình được tạo ra bởi
mlink.
Được tham chiếu đến như type file, file nguồn dược sử
dụng để tạo định nghĩa kiểu cho các biểu thức C trong
.mt
hàm built-in. rsctype đọc type file và tạo ra file tài
nguyên nguồn
Được tham chiếu đến như file tài nguyên nguồn, chẳng
.r hạn như sự mô tả hộp thoại, bảng lệnh...rcomp đọc các
file tài nguyên nguồn và tạo ra file tài nguyên.
Được tham chiếu đến như file tài nguyên, rcomp tạo ra
.rsc
các file tài nguyên này.
MDL API
• Giao diện lập trình ứng dụng MDL (MDL API) là một
tập hợp các hàm và biến được khai báo mà trong đó
Microstation cung cấp chủ yếu cho người lập trình
phần mềm.
• Các hàm của MDL API thuờng được coi như các hàm
gắn liền (built-in)
• Có thể chia các hàm API thành 4 nhóm:
– Hàm của cơ chế CAD
– Hàm của ứng dụng và hệ thống
– Hàm cơ sở dữ liệu
– Giao diện người dùng đồ họa (GUI)
MDL API
MDL API
Element common 43 mselemen.fdf mdlElement_ Dùng cho thao tác trên các đối
functions tượng đơn phổ biến
Element 4 msmisc.fdf mdlIntersect_ Đáp ứng như API cho các đối
intersection tượng giao nhau
Element 4 msmisc.fdf mdlModify_ Cho phép thay đổi các đối tượng
modification đơn hoặc sự miêu tả các đối
tượng
Element descriptor 10 mselmdsc.fdf mdlElmdscr_ Dùng để thực hiện các thao tác
functions 5 mdlCopyContext_ với các đối tượng thành phần
trong các đối tượng phức tạp
Element clipping 5 msmisc.fdf mdlClip_ Cho phép liên kết các đối tượng
Element association 23 msassoc.fdf mdlAsoc_ Cung cấp sự truy cập vào khả
năng liên kết các đối tượng để
tạo thành các điểm liên kết trong
kích thước, các đường và các
cell dùng chung
Element linkage 34 mslinkge.fdf mdlLinkage_ Cho phép gắn kết, thay đổi, xoá
hoặc tách các gói cơ sở dữ liệu
của các đối tượng
Multi-line 21 msmline.fdf mdlMline_ Dùng để thiết lập và thay đổi các
elements đối tượng đa đường
Transient elements 14 mstrnsnt.fdf mdlTransient... Cung cấp API cho các đối tượng
chuyển tiếp
Dimensioning 23 msdim.fdf mdlDim_ Dùng cho các thao tác trên kích
element Function 28 msdimstyle.fd mdlDimStyle_ thước của đối tượng
f
Nested 30 msdisplaypath mdlDisplayPath_ Cho phép quản lí nhiều trường
Element instances .h hợp của đối tượng trong các file
presentation hoặc cell tham chiếu
Element reference 30 elementref.h elementRef_ Cho phép nhận dạng duy nhất
một đối tượng trong session
Surface creation 7 mselemen.fdf mdlSurface_ Dùng cho các thao tác bề mặt
Output handling 47 msoutput.fdf mdlOutput_ API dùng cho các thông điêp
đầu ra
State control 21 msstate.fdf mdlState_ Cho phép thực hiện các hàm
điều khiển trạng thái
Windows 87 mswindow.fdf mdlWindow_ Quản lí hệ điều hành window
functions một cách tổng quát
Function key 9 msmisc.fdf mdlFuncKey_ Điều khiển thực đơn Func key
Dialog box and 70 msdialog.fdf mdlDialog_ API cho hộp thoại và danh mục
Dialog item 5 ditemlib.fdf thoại
functions msritem.fdf
htmllib.fdf
miscilib.fdf
..and otheres
View handling 19 msview....fdf mdlView.... Cho phép xem và quản lý các
3 nhóm xem
Digitizer function 3 msinput.fdf mdlDigitize_ Điều khiển sự kiện số hóa
Tài nguyên
dgnBuf MSElement* Giữ thông tin của các đối tượng hiện thời trong
dgnBuf.
statedata MSStateDat Chứa các thông tin trong hàm trạng thái hiện
a thời, được định nghĩa trong global.h
Mgds_modes Mgds_mode Chứa các thông tin về sự thực thi hiện thời của
s MicroStation, được định nghĩa trong
global.h
graphConfig MSGraphCo Chứa các cấu hình đồ hoạ, được định nghĩa trong
nfig global.h
mdlCommandNumbe long Chứa số lệnh của ứng dụng MDL gần nhất
r
userPrefsP UserPrefs* Chứa các thói quen khác nhau của người sử
dụng, được định nghĩa trong userpref.h
mgdsPrompt[35] char Giữ các bài text treong dấu nhắc, mặc định là
"uStn>"
render_designLightP void* Cho phép định nghiã các độ sáng thích hợp, được
định nghĩa trong light.h
Chú ý: Trong dòng BMAKE_OPT trên, có dấu trừ và chữ i viết hoa (- I) không có dấu
cách từ BMAKE_OPT tới cuối dòng.
• Trong DOS, thay đổi thư mục dẫn đến file chứa mã
nguồn (ví dụ như YOURMAP.mc, YOURMAP.h,
v.v.). Trong trường hợp này, gõ như sau:
cd\...\YOURAPP
• Từ thư mục C:\...\YOURAPP gõ : bmakewin -a
YOURAPP.MKE
• Nếu trình ứng dụng dược biên dịch, chương trình
biên dịch sẽ đưa ra thông báo : "Building
C:\win32app\ustation\mdlapps\YOURAPP.ma".
• Cuối cùng, load chương trình YOURAPP trong
Microstation.
Chương trình minh họa
• Chức năng chính là tính toán tọa độ điểm đo chi tiết từ file
số liệu đầu vào, hiển thị các điểm đó lên file dgn trong
Microstation và tạo ra file tọa độ các điểm chi tiết.
• Chương trình gồm các file :
– file.mc : là file nguồn
– file.h và filetxt.h : là 2 tệp tiêu đề.
– filetyp.r và filedlg.r: là 2 file tài nguyên
– filetyp.mt để khai báo kiểu biến cho compiler
– File số liệu đo chi tiết đầu vào.
– File bat để chạy chương trình.
• Chương trình sử dụng các hàm chính sau :
– Hàm double Phvi(double XM,double YM,double
XH,double YH) để tính phương vị của một cạnh.
– Hàm int File_Read(void) đọc file đầu vào.
– Hàm int File_getFile(char *filename,char
*defaultExtension,char *prompt) nhận file được nhập
vào.
– Hàm int File_pushButtonHook(DialogItemMessage
*dimP) hiển thị các mức móc nối trong hộp thoại mở file.
– Hàm int File_unloadFunction(void) có chức năng
unload một hàm.
– Hàm int File_dialogBoxHook để nhận hộp thoại.
Kết luận
• MDL là một môi trường phát triển hoàn chỉnh, cho
phép các ứng dụng lợi dụng tối đa khả năng của
Microstation.
• MDL có thể được dùng để phát triển các tiện ích đơn
giản, những yêu cầu của khách hàng, hay những ứng
dụng trong thương mại đòi hỏi cần sự tinh vi, chi tiết.
• Đây là một hướng phát triển các ứng dụng chuyên
nghiệp trong Microstation để mang lại hiệu quả cao
trong công việc.
• Chuơng trình minh họa còn đơn giản và có nhiều thiếu
sót nên sẽ được nghiên cứu phát triển trong thời gian
sắp tới để có thể hoàn thiện hơn.