ActiveX_AutoCAD là một ứng dụng dạng COM (Component Object Model). Có 3 dạng ứng dụng COM là:
- In process ( ActiveX DLL)
(cần phân biệt ứng dụng COM dạng này với thư viện liên kết động DLL)
- Out of process (ActiveX EXE)
- Ocx control (ActiveX Control)
ActiveX_AutoCad chính là dạng Out of process
Do đó việc lập trình với nó cũng tương tự như lập trình với đối tượng COM thông thường. Chúng ta hoàn toàn có thể kết nối các ứng dụng khác với CAD và ngược lại.
Vấn đề là chúng ta cần biết cấu trúc của nó, nó được tổ chức ra sao, gồm những lớp cơ sở nào. Những thông tin này các bác có thể tìm hiểu trong Help của AutoCAD (rất đầy đủ và có thêm những ví dụ minh hoạ). Em xin mạn phép được trình bày một số lớp sau:
(Những thuộc tính cơ bản của đối tượng CAD thuộc về các lớp này)
- AcadApplication: có thể coi đây là đối tượng thể hiện của ứng dụng
Một đối tượng CAD được tạo ra chính là tạo ra thể hiện của nó (và tương ứng với một tuyến trình - process)
+ AcadDocument: Trong mỗi ứng dụng CAD được tạo ra, có thể xây dựng nhiều bản vẽ (.dwg), các bản vẽ đều thuộc lớp này.
Ví dụ : Thuộc tính ActiveDocument của đối tượng CAD
Tập hợp bản vẽ trong một ứng dụng (thuộc tính Documents) có thể coi là một mảng các đối tượng của lớp AcadDocument
+ Trong một đối tượng bản vẽ còn có nhiều thuộc tính gắn với các lớp khác. ví dụ: AcadModelspace, AcadTextstyle, Acaddimstyle, Acadlayer,...
Sau đây em trình bày một đoạn mã đơn giản để kết nối một ứng dụng với CAD (tạo một đối tượng CAD)
' Tat nhien trong moi truong lap trinh dau tien phai
' tham chieu toi thu vien COM cua CAD trong Reference
Public cad as AutoCad.Application
'--------------------------------
set cad = new AutoCad.Application
cad.visible=True
dim dwg as AcadDocument
set dwg = cad.Documents.Add
Đây là vài thiển ý của em, mong các bác đóng góp.
- In process ( ActiveX DLL)
(cần phân biệt ứng dụng COM dạng này với thư viện liên kết động DLL)
- Out of process (ActiveX EXE)
- Ocx control (ActiveX Control)
ActiveX_AutoCad chính là dạng Out of process
Do đó việc lập trình với nó cũng tương tự như lập trình với đối tượng COM thông thường. Chúng ta hoàn toàn có thể kết nối các ứng dụng khác với CAD và ngược lại.
Vấn đề là chúng ta cần biết cấu trúc của nó, nó được tổ chức ra sao, gồm những lớp cơ sở nào. Những thông tin này các bác có thể tìm hiểu trong Help của AutoCAD (rất đầy đủ và có thêm những ví dụ minh hoạ). Em xin mạn phép được trình bày một số lớp sau:
(Những thuộc tính cơ bản của đối tượng CAD thuộc về các lớp này)
- AcadApplication: có thể coi đây là đối tượng thể hiện của ứng dụng
Một đối tượng CAD được tạo ra chính là tạo ra thể hiện của nó (và tương ứng với một tuyến trình - process)
+ AcadDocument: Trong mỗi ứng dụng CAD được tạo ra, có thể xây dựng nhiều bản vẽ (.dwg), các bản vẽ đều thuộc lớp này.
Ví dụ : Thuộc tính ActiveDocument của đối tượng CAD
Tập hợp bản vẽ trong một ứng dụng (thuộc tính Documents) có thể coi là một mảng các đối tượng của lớp AcadDocument
+ Trong một đối tượng bản vẽ còn có nhiều thuộc tính gắn với các lớp khác. ví dụ: AcadModelspace, AcadTextstyle, Acaddimstyle, Acadlayer,...
Sau đây em trình bày một đoạn mã đơn giản để kết nối một ứng dụng với CAD (tạo một đối tượng CAD)
' Tat nhien trong moi truong lap trinh dau tien phai
' tham chieu toi thu vien COM cua CAD trong Reference
Public cad as AutoCad.Application
'--------------------------------
set cad = new AutoCad.Application
cad.visible=True
dim dwg as AcadDocument
set dwg = cad.Documents.Add
Đây là vài thiển ý của em, mong các bác đóng góp.
Ghi chú