PreferencesDisplay PreferencesDrafting PreferencesFiles PreferencesOpenSave. PreferencesOutput PreferencesProfile PreferencesSelection[r]
Trang 1CÁC KHÁI NIỆM CƠ BẢN VỀ ActiveX Automation
2
Trong chương này
Tìm hiểu mô hình đối tượng trong AutoCAD
Truy xuất cây phân cấp đối tượng
Làm việc với tập đối tượng
Tìm hiểu Phương thức và Thuộc tính
Tìm hiểu Đối tượng gốc
Thư viện kiểu
Gọi lại thực thể đầu tiên trong CSDL
Sử dụng Variant trong Phương thức và Thuộc tính
Sử dụng các ngôn ngữ lập trình khác
Để sử dụng AutoCAD ActiveX Automation có hiệu quả, ta cần phải quen thuộc với các thực thể (entity), đối tượng (object), và các đặc tính của AutoCAD liên quan đến loại chương trình được dự định phát triển Nếu càng biết nhiều về các thuộc tính đồ hoạ hoặc phi đồ hoạ của đối tượng thì càng dễ dàng sử dụng AutoCAD ActiveX Automation
Luôn nhớ rằng phần trợ giúp của AutoCAD ActiveX Automation luôn sẵn sàng – chỉ cần nhấn F1 Nếu gặp vấn đề gì với bất kỳ đối tượng, phương thức, hay thuộc tính, chỉ cần lựa chọn đối tượng, phương thức hay thuộc tính đó trong VBA IDE và nhấn F1
Trang 246 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation
1 Tìm hiểu mô hình đối tượng trong AutoCAD
Một đối tượng là một khối cấu thành chính của giao diện AutoCAD ActiveX Mỗi một đối tượng thể hiện đúng một phần của AutoCAD Có rất nhiều loại đối tượng khác nhau trong giao diện AutoCAD ActiveX Ví dụ
Đối tượng đồ hoạ: line, arc, text và dimension
Cấu hình về kiểu dáng (style settings): linetype và dimension style
Cấu trúc tổ chức: layer, group, block
Thể hiện bản vẽ: view, viewport
Và ngay cả bản thân bản vẽ trong chương trình AutoCAD cũng được xem là một đối tượng
Các đối tượng được xây dựng theo quan hệ phân cấp, trong đó đối tượng Application là gốc Cấu trúc phân nhánh này còn được gọi là Mô Hình Đối Tượng
Mô hình đối tượng giúp người dùng có thể biết đối tượng nào có thể truy cập vào đối tượng nào ở cấp tiếp theo
Trang 448 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation
1.1 Sơ lược về đối tượng Application
Đối tượng Application là đối tượng gốc của mô hình đối tượng trong AutoCAD ActiveX Automation Từ đối tượng Application, ta có thể truy xuất đến bất kỳ đối tượng nào khác, hoặc thuộc tính hoặc phương thức gán cho bất kỳ đối tượng nào
Ví dụ, đối tượng Application có thuộc tính Preferences trả về đối tượng Preferences Đối tượng này cho phép truy cập đến các cấu hình bên trong của hộp thoại Option (Các cấu hình lưu trong bản vẽ nằm trong đối tượng DatabasePreferences, sẽ được
đề cập sau) Các thuộc tính khác của đối tượng Application cho phép truy cập đến các dữ liệu riêng của chương trình chẳng hạn như tên và phiên bản chương trình, và kích thước, vị trí, tính nhìn thấy của AutoCAD Các phương thức của đối tượng Application thực hiện các thao tác trong chương trình như liệt kê, nạp, gỡ bỏ chương trình ADS và ARX, thoát khỏi AutoCAD
Đối tượng Application cũng có các liên kết đến bản vẽ AutoCAD thông qua tập đối tượng Documents, các trình đơn và thanh công cụ AutoCAD thông qua tập đối tượng MenuBar và MenuGroups, và VBA IDE thông qua một thuộc tính gọi là VBE
Đối tượng Application là đối tượng toàn cục trong giao diện ActiveX Điều này có nghĩa là tất cả các phương thức và thuộc tính của đối tượng Application luôn có hiệu lực trong không gian tên toàn cục
1.2 Sơ lược về đối tượng Document
Đối tượng Document, thực chất là một bản vẽ AutoCAD, thuộc tập đối tượng Documents cho phép truy cập vào tất cả các đối tượng đồ hoạ và hầu hết các đối tượng phi đồ họa của AutoCAD Các đối tượng đồ họa (đường thẳng, hình tròn, cung, …) được truy cập thông qua tập ModelSpace và PaperSpace, còn các đối tượng phi đồ họa (layer, linetype, text style, …) được truy cập thông qua tập đối tượng có tên tương tự, chẳng hạn như Layers, Linetypes, TextStyles Đối tượng Document còn cho phép truy cập đến đối tượng Plot và Utility
Trang 650 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation
1.3 Sơ lược về tập đối tượng
AutoCAD nhóm hầu hết các đối tượng vào trong tập đối tượng Mặc dù một tập đối tượng chứa nhiều loại đối tượng khác nhau nhưng khi xử lý được sử dụng những kỹ thuật tương tự nhau Mỗi một tập đối tượng có một phương thức dùng để thêm đối tượng vào bản thân tập đối tượng đó và hầu hết các tập đối tượng đều sử dụng phương thức Add để thực hiện nhiệm vụ này Tuy nhiên mỗi thực thể1 thường được thêm vào phương thức có tên là Add<Tên thực thể>, chẳng hạn như để thêm vào một đường thẳng (Line) ta sử dụng phương thức AddLine
Các tập đối tượng cũng có những phương thức và thuộc tính giống nhau Thuộc tính Count dùng để truy cập bộ đếm số đối tượng trong tập đối tượng Phương thức Item
sử dụng để truy cập bất kỳ đối tượng nào trong tập đối tượng
1.4 Sơ lược về các đối tượng Đồ họa và Phi đồ hoạ
Các đối tượng đồ hoạ, còn gọi là thực thể, là những đối tượng hữu hình cấu thành bản vẽ (đường thẳng, hình tròn, ảnh raster2…) Để tạo những đối tượng này, ta sử dụng phương thức Add<Tên thực thể> tương ứng Để hiệu chỉnh hoặc truy vấn các đối tượng, ta sử dụng các phương thức và thuộc tính của bản thân từng đối tượng Mỗi đối tượng đồ hoạ đều có các thuộc tính cho phép ứng dụng có thể thực hiện hầu hết các lệnh hiệu chỉnh đối tượng trong AutoCAD như Copy, Erase, Move, Mirror… Những đối tượng này còn có phương thức để xác lập và gọi lại các dữ liệu
mở rộng (xdata), lựa chọn và cập nhật, và lấy lại hình bao của đối tượng Các đối tượng đồ hoạ đều có các thuộc tính điển hình như Layer, Linetype, Color, và Handle cũng như những thuộc tính riêng biệt, phụ thuộc vào loại đối tượng, chẳng hạn như Center, Radius, và Area
Các đối tượng phi đồ hoạ là những đối tượng không thể nhìn thấy được (đối tượng thông tin) chẳng hạn như Layer, Linetype, DimStyle, SelectionSets… Để tạo những đối tượng này, sử dụng phương thức Add của đối tượng tập đối tượng cha Còn để hiệu chỉnh và truy vấn các đối tượng thì sử dụng các phương thức và thuộc tính riêng của từng đối tượng Mỗi đối tượng phi đồ hoạ đều có các phương thức và thuộc tính đặc biệt tương ứng với từng mục đích; tất cả đều có các phương thức để thiết lập và gọi lại dữ liệu mở rộng (xdata), và xoá bản thân đối tượng
1.5 Sơ lược về đối tượng Preferences, Plot và Utility
Dưới đối tượng Preferences là một tập hợp các đối tượng khác tương ứng với từng thẻ trong hộp thoại Options Đồng thời, những đối tượng này đều cho phép truy cập vào các thiết lập được lưu trong dữ liệu của hộp thoại Options Những thiết lập được lưu cùng bản vẽ đều nằm trong đối tượng DatabasePreferences Ta còn có thể thiết lập và hiệu chỉnh các lựa chọn (và biến hệ thống không nằm trong hộp thoại Options) sử dụng phương thức SetVariable và GetVariable Thông tin chi tiết ở mục
“Thiết lập các lựa chọn trong AutoCAD”
được gọi là một thực thể
nhỏ riêng biệt.
Trang 7Đối tượng Plot cho phép truy cập đến những thiết lập trong hộp thoại Plot và cho phép ứng dụng có thể in bản vẽ theo nhiều phương thức khác nhau Thông tin chi
tiết về việc in ấn, xin xem thêm mục “In bản vẽ” trang 244
Đối tượng Utility bao gồm các hàm về nhập liệu của người dùng và hàm chuyển đổi Hàm nhập liệu của người dùng là những phương thức nhắc người dùng AutoCAD nhập vào rất nhiều dạng dữ liệu khác nhau trong của sổ dòng lệnh, chẳng hạn như chuỗi, số nguyên, số thực, điểm… Các hàm chuyển đổi là những phương thức thực thi trên các dữ liệu đặc biệt của AutoCAD như điểm và góc phục vụ cho việc xử lý chuỗi và số Để có thêm thông tin chi tiết về hàm nhập liệu của người dùng, xem thêm mục “Nhắc người dùng nhập liệu” trang 84
AutoCAD Application
Preferences
2 Truy xuất cây phân cấp đối tượng
Việc truy xuất cây phân cấp đối tượng được thực hiện dễ dàng ngay bên trong VBA Đó là do VBA thực thi cùng tiến trình với phiên làm việc hiện tại của AutoCAD và vì vậy việc kết nối với ứng dụng không cần thêm bước nào nữa
VBA có thể liên kết đến bản vẽ hiện hành trong phiên làm việc hiện tại của AutoCAD nhờ đối tượng ThisDrawing Nhờ có đối tượng ThisDrawing mà người lập trình có thể truy cập tức thời đến đối tượng Document hiện hành và tất cả các thuộc tính, phương thức cũng như các đối tượng khác trong cấu trúc cây phân cấp
PreferencesDisplay PreferencesDrafting PreferencesFiles PreferencesOpenSave PreferencesOutput PreferencesProfile PreferencesSelection PreferencesSystem PreferencesUser Documents
Document
DatabasePreferences Plot Utility