Phát triển AutoCAD bằng ActiveX & VBA - Chương 2 pdf

16 237 0
Phát triển AutoCAD bằng ActiveX & VBA - Chương 2 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phát triển AutoCAD bằng ActiveX và VBA | | 4 4 5 5 C C Á Á C C K K H H Á Á I I N N I I Ệ Ệ M M C C Ơ Ơ B B Ả Ả N N V V Ề Ề A A c c t t i i v v e e X X A A u u t t o o m m a a t t i i o o n n 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. 4 4 6 6 | | 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. Phát triển AutoCAD bằng ActiveX và VBA | | 4 4 7 7 4 4 8 8 | | 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. Phát triển AutoCAD bằng ActiveX và VBA | | 4 4 9 9 5 5 0 0 | | 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 raster 2 …). Để 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”. 1 Thực thể (Entity): trong một tập hợp có chứa nhiều đối tượng khác nhau, mỗi đối tượng như vậy được gọi là một thực thể. 2 Ảnh Raster: là ảnh kiểu ánh xạ bit hay ảnh dạng mành, các hình ảnh được thể hiện bởi các chấm nhỏ riêng biệt . Phát triển AutoCAD bằng ActiveX và VBA | | 5 5 1 1 Đố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 “Nhắc người dùng nhập liệu”, xem thêm mục trang 84. AutoCAD A pp lication 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. PreferencesDis p la y PreferencesDraftin g PreferencesFiles PreferencesO p enSave PreferencesOut p u t PreferencesProfile PreferencesSelection PreferencesS y stem PreferencesUser Documents Documen t DatabasePreferences Plo t Utilit y 5 5 2 2 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation Khi được sử dụng trong dự án độc lập, đối tượng ThisDrawing luôn luôn tương ứng với bản vẽ hiện hành trong AutoCAD. Còn nếu là dự án nhúng, đối tượng ThisDrawing ứng với bản vẽ có chứa dự án nhúng đó. Lấy ví dụ dòng lệnh dưới đây trong dự án độc lập sẽ lưu bất cứ bản vẽ hiện hành nào trong AutoCAD: ThisDrawing.Save 2.1. Tham chiếu đối tượng trong Cấu trúc cây phân cấp đối tượng Người lập trình có thể tham chiếu đối tượng một cách trực tiếp hoặc thông qua biến người dùng định nghĩa. Để tham chiếu đối tượng trực tiếp, phải bao hàm đối tượng trong cấu trúc phân cấp. Chẳng hạn như đoạn mã sau đây sẽ thêm một đường thẳng vào trong không gian mô hình. Chú ý rằng cấu trúc phân cấp bắt đầu bằng ThisDrawing, sau đó đến đối tượng ModelSpace và sau đó gọi phương thức AddLine: Dim startPoint(0 To 2) As Double, endPoint(0 To 2) As Double Dim LineObj as AcadLine startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 30: endPoint(1) = 20: endPoint(2) = 0 Set LineObj = ThisDrawing.ModelSpace.AddLine(startPoint,endPoint) Để tham chiếu đối tượng thông qua biến người dùng định nghĩa, người lập trình phải định nghĩa biến theo đúng kiểu mong muốn, sau đó gán biến cho một đối tượng thích hợp. Ví dụ, đoạn mã sau định nghĩa một biến (moSpace) kiểu AcadModelSpace và gán biến tương ứng với không gian mô hình hiện hành: Dim moSpace As AcadModelSpace Set moSpace = ThisDrawing.ModelSpace Đoạn mã sau sẽ thêm một đường thẳng vào không gian mô hình sử dụng biến người dùng định nghĩa: Dim startPoint(0 To 2) As Double, endPoint(0 To 2) As Double Dim LineObj as AcadLine startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0 endPoint(0) = 30: endPoint(1) = 20: endPoint(2) = 0 Set LineObj = moSpace.AddLine(startPoint,endPoint) 2.2. Truy xuất đối tượng Application Do đối tượng ThisDrawing cho phép liên kết đến đối tượng Document, người lập trình có thể tự hỏi, làm thế nào để truy xuất đến đối tượng gốc rễ nhất (đối tượng Application), nó nằm trên cả đối tượng Document trong cấu trúc cây phân cấp đối tượng. Đối tượng Document có một thuộc tính gọi là Application, cho phép liên kết đến đối tượng Application. Lấy ví dụ, đoạn mã sau sẽ cập nhật lại bản vẽ: ThisDrawing.Applications.Update 3. Làm việc với Tập đối tượng Tập đối tượng là một đối tượng được định nghĩa trước chứa tất cả các thực thể tương tự nhau. Những đối tượng sau có thể hình thành nên tập đối tượng: Phát triển AutoCAD bằng ActiveX và VBA | | 5 5 3 3 Documents Collection bao gồm tất cả các bản vẽ đang mở trong phiên làm việc hiện hành của AutoCAD. ModelSpace Collection bao gồm tất cả các đối tượng đồ hoạ (thực thể) trong không gian mô hình. PaperSpace Collection bao gồm tất cả các đối tượng đồ hoạ trong không gian in hiện hành. Block Object bao gồm tất cả các thực thể nằm trong một khối nào đó. Blocks Collection bao gồm tất cả các khối trong bản vẽ. Dictionaries Collection bao gồm tất cả các từ điển trong bản vẽ. DimStyles Collection bao gồm tất cả các kiểu kích thước trong bản vẽ. Groups Collection bao gồm tất cả các nhóm trong bản vẽ. Hyperlinks Collection bao gồm tất cả các siêu liên kết của một thực thể nào đó. Layers Collection bao gồm tất cả các lớp (layer) trong bản vẽ. Layouts Collection bao gồm tất cả các layout trong bản vẽ. Linetypes Collection bao gồm tất cả các kiểu đường (linetype) trong bản vẽ. MenuBar Collection bao gồm tất cả các trình đơn hiện có trong AutoCAD. MenuGroups Collection bao gồm tất cả các trình đơn và thanh công cụ đã được tải vào AutoCAD. RegisteredApplications Collection: bao gồm tất cả các ứng dụng đã đăng ký trong bản vẽ. SelectionSets Collection bao gồm tất cả các đối tượng được chọn trong bản vẽ. TextStyles Collection bao gồm tất cả các kiểu văn bản trong bản vẽ. UCSs Collection bao gồm tất cả các hệ toạ độ người dùng trong bản vẽ. Views Collection bao gồm tất cả các cảnh nhìn trong bản vẽ. Viewports Collection bao gồm tất cả các khung nhìn trong bản vẽ. 3.1. Truy xuất Tập đối tượng Hầu hết các tập đối tượng đều được truy xuất thông qua đối tượng Document. Đối tượng Document có một thuộc tính tương ứng với mỗi tập đối tượng. Lấy ví dụ, đoạn mã sau định nghĩa một biến và gán cho tập đối tượng Layers trong bản vẽ hiện tại: Dim layerCollection as AcadLayers Set layerCollection = ThisDrawing.Layers Tập đối tượng Documents, MenuBar và MenuGroups được truy xuất thông qua đối tượng Application. Đối tượng Application cũng có một thuộc tính tương ứng với từng tập đối tượng. Ví dụ như đoạn mã sau sẽ định nghĩa một biến và gán cho tập đối tượng MenuGroups của ứng dụng: Dim MenuGroupsCollection as AcadMenuGroups Set MenuGroupsCollection = ThisDrawing.Application.MenuGroups 5 5 4 4 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation 3.2. Thêm đối tượng mới vào Tập đối tượng Để thêm một đối tượng mới vào tập đối tượng, ta sử dụng phương thức Add. Đoạn mã sau sẽ tạo một lớp mới và thêm vào trong tập đối tượng Layers: Dim newLayer as AcadLayer Set newLayer = ThisDrawing.Layers.Add("MyNewLayer") 3.3. Duyệt Tập đối tượng Để chọn một đối tượng nào đó trong tập đối tượng, ta sử dụng phương thức Item. Phương thức Item cần có một từ định danh đóng vai trò như là chỉ số để xác định vị trí của đối tượng trong tập đối tượng cũng như là chuỗi thể hiện tên của đối tượng. Ví dụ sau sẽ duyệt qua một tập đối tượng và hiển thị tên của tất cả các lớp trong tập đối tượng: Duyệt qua tập đối tượng Layers Sub Ch2_IterateLayer() ’ Duyệt qua tập đối tượng On Error Resume Next Dim I As Integer Dim msg As String msg = "" For I = 0 To ThisDrawing.Layers.count - 1 msg = msg + ThisDrawing.Layers.Item(I).Name + vbCrLf Next MsgBox msg End Sub Đoạn ví dụ dưới đây sử dụng phương thức Item để tìm một lớp có tên là “ABC”: Tìm lớp có tên “ABC” Sub Ch2_FindLayerABC() ’ Sử dụng phương thức Item để tìm lớp tên “ABC” On Error Resume Next Dim ABCLayer As AcadLayer Set ABCLayer = ThisDrawing.Layers.Item("ABC") If Err <> 0 Then MsgBox "The layer ’ABC’ does not exist." End If End Sub CHÚ Ý: Không sử dụng các phương thức hiệu chỉnh thực thể (Copy, Array, Mirror…) cho bất cứ một đối tượng nào khi đang đồng thời duyệt qua tập đối tượng sử dụng cấu trúc For Each. Thay vào đó, có thể hoàn thành quá trình duyệt tập đối đượng trước khi hiệu chỉnh hoặc tạo một mảng tạm và gán bằng tập đối tượng sau đó có thể duyệt trên mảng vừa sao chép và thực hiện việc hiệu chỉnh bình thường. 3.4. Xoá một đối tượng khỏi Tập đối tượng Để xoá một đối tượng nào đó, sử dụng phương thức Delete trong đối tượng tìm được. Ví dụ đoạn mã sau sẽ xoá lớp ABC: Dim ABCLayer as AcadLayer [...]... vbCrLf & "Diem thu nhat: ") point2 = ThisDrawing.Utility.GetPoint _ (point1, vbCrLf & "Diem thu hai: ") ’ Tính khoảng cách giữa point1 và point2 Dim x As Double, y As Double, z As Double Dim dist As Double x = point1(0) - point2(0) y = point1(1) - point2(1) z = point1 (2) - point2 (2) dist = Sqr((Sqr((x ^ 2) + (y ^ 2) ) ^ 2) + (z ^ 2) ) ’Trình bày kết quả tính MsgBox "Khoang cach giua hai diem la: " _ & dist,... endPoint(1) = 5 endPoint (2) = 0 ’ Tạo đoạn thẳng trong Model Space Phát triển AutoCAD bằng ActiveX và VBA | 59 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, _ endPoint) ’ Xem đoạn thẳng vừa mới tạo ZoomAll End Sub Tạo một đoạn thẳng sử dụng VB Sub Ch2_AddLineVB() On Error Resume Next ’ Kết nối với chương trình AutoCAD Dim acadApp As AcadApplication Set acadApp = GetObject(, "AutoCAD. Application")... GetObject 9 .2 Đoạn mã ví dụ so sánh VBA và VB Đoạn mã ví dụ sau minh hoạ việc tạo một đoạn thẳng bằng VBA và VB: Tạo một đoạn thẳng sử dụng VBA Sub Ch2_AddLineVBA() ’ Ví dụ này sẽ thêm một đoạn thẳng vào Model Space Dim lineObj As AcadLine Dim startPoint(0 To 2) As Double Dim endPoint(0 To 2) As Double ’ Xác định điểm đầu và điểm cuối của đoạn thẳng startPoint(0) = 1 startPoint(1) = 1 startPoint (2) = 0... cách linh động hơn 8 .2 Sử dụng biến Variant trong dữ liệu mảng Biến Variant được sử dụng để truyền dữ liệu vào và ra AutoCAD ActiveX Automation Điều này có nghĩa là mảng dữ liệu phải là kiểu variant để tương thích với các phương thức và thuộc tính trong AutoCAD ActiveX Automation Ngoài ra, 56 | Chương 2: Các khái niệm cơ bản về ActiveX Automation dữ liệu mảng xuất ra từ AutoCAD ActiveX Automation phải... Mảng Variant Thông tin về mảng được truyền ngược lại từ AutoCAD ActiveX Automation là truyền ở dạng biến variant Nếu người lập trình biết rõ kiểu dữ liệu mảng, chỉ cần truy xuất vào biến variant như một mảng bình thường Nếu không nắm rõ kiểu dữ Phát triển AutoCAD bằng ActiveX và VBA | 57 liệu chứa trong biến variant, cần phải sử dụng các hàm VBA VarType hoặc Typename Các hàm này trả lại kiểu dữ liệu... trực tiếp mà không cần chứng nhận Phát triển AutoCAD bằng ActiveX và VBA | 55 • Việc sử dụng hàm, thuộc tính, và phương thức có thể được kiểm tra lúc dịch để đảm bảo sự chính xác, và do đó thời gian thực thi sẽ nhanh hơn lúc chạy chương trình • Có thể khai báo biến có kiểu đã được định nghĩa trong thư viện, như vậy sẽ tăng độ tin cậy và khả năng dễ đọc trong lúc chạy chương trình 7 Gọi lại Thực Thể Đầu... đang chạy AutoCAD, phương thức GetObject sẽ lấy lại đối tượng AutoCAD Application Nếu AutoCAD hiện tại chưa được chạy, 58 | Chương 2: Các khái niệm cơ bản về ActiveX Automation lỗi xuất hiện sẽ được chặn lại và sau đó được xóa đi Và sau đó, phương thức CreateObject sẽ cố gắng tạo đối tượng AutoCAD Application Nếu thành công, sẽ khởi động được AutoCAD; nếu không, một hôp thoại thông báo xuất hiện mô tả... Automation Object trong chương trình, người lập trình cần phải tham chiếu đến thư viện kiểu của nó Quá trình tham chiếu tự động thực hiện trong AutoCAD VBA Với các môi trường phát triển ứng dụng tương tác khác, người lập trình cần phải tự thực hiện việc tham chiếu Người lập trình có thể sử dụng các đối tượng của chương trình mà không cần thực hiện việc tham chiếu thư viện kiểu của chương trình đó Tuy nhiên,... chọn AutoCAD 20 00 Type Library (hoặc tương đương) và nhấn OK Sau đó, trong các đoạn mã ví dụ, thay thế tất cả các phần tham chiếu đến ThisDrawing bằng các biến tự định nghĩa tham chiếu đến bản vẽ hiện hành Để làm được điều này, định nghĩa một biến cho ứng dụng AutoCAD (myApp) và cho bản vẽ hiện hành (myDoc) Cuối cùng, gán các biến trong chương trình cho các ứng dụng AutoCAD hiện hành Nếu đang chạy AutoCAD, ... thuộc tính Clear và Description của Err Nếu môi trường phát triển không hỗ trợ các thuộc tính này, ta cần phải điều chỉnh ví dụ cho thích hợp Kết nối với AutoCAD từ Visual Basic Sub Ch2_ConnectToAcad() Dim acadApp As AcadApplication On Error Resume Next Set acadApp = GetObject(, "AutoCAD. Application") If Err Then Err.Clear Set acadApp = CreateObject( "AutoCAD. Application") If Err Then MsgBox Err.Description . point1(0) - point2(0) y = point1(1) - point2(1) z = point1 (2) - point2 (2) dist = Sqr((Sqr((x ^ 2) + (y ^ 2) ) ^ 2) + (z ^ 2) ) ’Trình bày kết quả tính MsgBox "Khoang cach giua hai diem la: ". phương thức và thuộc tính trong AutoCAD ActiveX Automation. Ngoài ra, Phát triển AutoCAD bằng ActiveX và VBA | | 5 5 7 7 dữ liệu mảng xuất ra từ AutoCAD ActiveX Automation phải được. Phát triển AutoCAD bằng ActiveX và VBA | | 4 4 7 7 4 4 8 8 | | Chương 2: Các khái niệm cơ bản về ActiveX Automation

Ngày đăng: 22/07/2014, 14:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan