Truy cp đn Object Hierarchy bằng VB, VBA trong các môi tr ng khác.

Một phần của tài liệu LẬP TRÌNH TRONG AUTOCAD (Trang 28 - 30)

VII. Căn bả nv VBA.

7. Truy cp đn Object Hierarchy bằng VB, VBA trong các môi tr ng khác.

Ta cũng có thể truy cập đến Object Hierarchy của cad bằng các ngôn ngữ khác nh VB, VBA trong Excel, Word,…. Việc đầu tiên ta phải Tham chiếu đến AutoCAD Type Library. Để làm việc này ta làm nh sau :

Chọn References option từ Project menu, hộp thoại Reference dialog hiện lên. Trong References dialog box, chọn Type library for AutoCAD, and then click OK.

Khái niệm về Type library for AutoCAD. Các đối t ợng, thuộc tính và ph ơng thức đ ợc đ a ra bởi kỹ thuật tự động hoá đối t ợng có chứa một type library. Một type library là một file hoặc một phần của file miêu tả kiểu của một hoặc nhiều đối t ợng.Type libraries không chứa Object; chúng chứa các thông tin về Object. Để truy cập đến type library, applications và browsers có thể xác định đ ợc đặc tr ng của từng object, nh là giao diện của đối t ợng, tên và địa chỉ của từng thành phần của dao diện đó.Tr ớc khi bạn sử dụng, Bạn phải tham chiếu đến type library. AutoCAD VBA sẽ tự tham chiếu đến AutoCAD type library.Đối các môi tr ờng khác bạn phải tạo tham chiếu tới AutoCAD type library, acax16enu.tlb. File này mặc định nằm trong th mục C:\program files\common files\autodesk shared.

Tuy nhiên, sẽ tốt hơn nếu bạn add type library reference vì những u điểm sau : - Ch ơng trình sẽ chay nhanh hơn, ổn định hơn.

- Function, properties, methods có thểđ ợc kiểm tra khi bạn đánh code. - Chức năng tìm kiếm và thả xuống sau dấu chấm của các đối t ợng. Sub Ch2_ConnectToAcad()

Dim acadApp As AcadApplication On Error Resume Next

Set acadApp = GetObject(, "AutoCAD.Application.16") If Err Then

Err.Clear

Set acadApp = CreateObject("AutoCAD.Application.16") If Err Then BỘ MÔN TIN HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠ I HỌC XÂY DỰNG

MsgBox Err.Description Exit Sub

End If End If

MsgBox "Now running " + acadApp.Name + " version " + acadApp.Version End Sub

Dim acadDoc As AcadDocument Set acadDoc = acadApp.ActiveDocument …………………………

acadApp.visible = True

Nếu AutoCad đang chạy – GetObject sẽ không sinh ra lỗi. Ng ợc lại nếu sinh ra lỗi, tức là CAD ch a chạy. Khi đó CreatObject sẽ khởi động CAD. Nếu có nhiều session của CAD đang chạy thì ch ơng trình sẽ lấy Session đầu tiên trong Windows Running Object Table.

BỘ MÔN TIN HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠ I HỌC XÂY DỰNG

CH NG 2 : LÀM VI C V I MÔI TR NG AUTOCAD I. M, đóng và ghi l i bn v

Một phần của tài liệu LẬP TRÌNH TRONG AUTOCAD (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(101 trang)