VBA for AutoCAD
VBA for AutoCAD GROUP Đồ họa ứng dụng Thông tin nhóm NHÓM STT MSSV Họ tên Email 1012331 Phan Tiến Quang – Nhóm trưởng oclockvn@gmail.com 1012218 Phạm Hoàng Long Phlong.fit@gmail.com 1012297 Đặng Hà Phong kieuphongdangvu@gmail.com Đồ họa ứng dụng Nội dung trình bày Tổng quan dự án VBA AutoCAD Hệ thống mô hình đối tượng AutoCAD Các thao tác AutoCAD Demo Q&A Đồ họa ứng dụng Tổng quan dự án VBA AutoCAD Dự án VBA AutoCAD chia làm loại: Dự án nhúng (Embedded Project) • • • Lưu trữ tệp DWG với thông tin khác vẽ AutoCAD Tự động thực mở vẽ chứa dự án nhúng Hiệu lực vẽ chứa Dự án độc lập (Global Project) • • • Lưu trữ tách biệt tệp có phần mở rộng *.dvb Không phụ thuộc vào vẽ Người sử dụng phải tải dự án vào AutoCAD để thực thi Đồ họa ứng dụng Cấu trúc dự án VBA AutoCAD Objects: đối tượng đại diện cho vẽ hành AutoCAD Userform: giao diện hộp thoại hỗ trợ giao tiếp người dùng chương trình Module chuẩn: chứa mã lệnh khai báo, chương trình Class module: định nghĩa cho lớp dự án Đồ họa ứng dụng Trình quản lý dự án Cách Đồ họa ứng dụng Trình quản lý dự án Cách Đồ họa ứng dụng Trình quản lý dự án Đồ họa ứng dụng Hệ thống mô hình đối tượng AutoCAD Theo góc nhìn lập trình: • AutoCAD cấu thành từ nhiều đối tượng khác • Mỗi đối tượng có nhiều đối tượng cấp độ thấp • Các đối tượng tổ chức theo cấu trúc định, đối tượng cấu trúc tương đương với thành phần AutoCAD Đồ họa ứng dụng Hệ thống mô hình đối tượng AutoCAD Các loại đối tượng AutoCAD: • Đối tượng hình học: line, arc, text, dimension,… • Thiết lập định dạng: linetype, dimension style,… • Cấu trúc tổ chức: layer, group, block,… • Đối tượng liên quan đến hiển thị vẽ: view, viewport,… • Ngay vẽ thân chương trình AutoCAD xem đối tượng Đồ họa ứng dụng 10 Mô hình đối tượng Đồ họa ứng dụng 11 Các đối tượng • Application: phiên làm việc AutoCAD • Document: vẽ mở • Tập đối tượng: ModelSpace, PaperSpace, Block • Đối tượng phi hình học: dùng để thiết lập thuộc tính cho đối tượng hình học VD: Layer, Linetype, DimStyle,… • Đối tượng hình học: thực thể cấu thành vẽ AutoCAD VD: Line, Circle,… Đồ họa ứng dụng 12 Thuộc tính đối tượng hình học • Color • Layer • Linetype • LinetypeScale • Lineweight • Visible Đồ họa ứng dụng 13 Phương thức đối tượng hình học • • • • • • • • • • • ArrayPolar ArrayRectangular Copy GetBoundingBox Highlight IntersectWith Mirror Move Rotate ScaleEntity Update Đồ họa ứng dụng 14 Các thao tác AutoCAD • Thu phóng hình vẽ • Nhập liệu người dùng từ dòng lệnh • Tạo đối tượng hình học • Hiệu chỉnh đối tượng hình học Đồ họa ứng dụng 15 Thu phóng hình vẽ (zoom) Phương thức Mã lệnh Ý Nghĩa ZoomExtents Application.ZoomExtents Phóng hình theo vùng bao tất đối tượng ZoomAll Application.ZoomAll Phóng hình theo giới hạn vẽ (2D) ZoomPrevious Application.ZoomPrevious Chuyển hình trạng thái trước ZoomPickWindow Application.ZoomPickWindow Phóng hình theo hình chữ nhật chọn ZoomWindow Application.ZoomWindow bottm_left, top_right Phóng hình theo hình chữ nhật định trước ZoomScaled Application.ZoomScaled Scale[, ScaleType] Phóng hình theo tỉ lệ xác định Đồ họa ứng dụng 16 Nhập liệu người dùng từ dòng lệnh • Được AutoCAD VBA hỗ trợ thông qua đối tượng Utility • Các phương thức thường có dạng GetXXX • Lỗi phát sinh “User input keyword” • Ẩn form nhập liệu: form.Hide() Đồ họa ứng dụng 17 Nhập liệu người dùng từ dòng lệnh (tt) Phương thức Cú pháp Ý nghĩa Prompt Utility.Prompt Message Gửi đoạn Message đến dòng lệnh AutoCAD GetString RetVal = Utility.GetString(HasSpaces[, Prompt]) Nhập vào chuỗi ký tự GetInteget GetReal RetVal = Utility.GetInteger([Prompt]) RetVal = Utility.GetReal([Prompt]) Nhập vào số nguyên số thực GetAngle RetVal = Utility.GetAngle([Point][, Prompt]) Nhập vào góc chọn góc hình GetPoint RetVal = Utility.GetPoint([Point][, Prompt]) Nhập vào điểm tọa độ chọn hình GetDistance RetVal = Utility.GetDistance([Point][, Prompt]) Nhập vào giá trị khoảng cách GetEntity Utility.GetEntity Object, PickedPoint[,Prompt] Lấy đối tượng cách chọn hình Đồ họa ứng dụng 18 Tạo đối tượng hình học Khai báo đối tượng Dim obj As AcadXXX Thêm đối tượng Set obj = Object.AddXXX (params) Object = ThisDrawing.ModelSpace ‘không gian mô hình Object = ThisDrawing.PaperSpace ‘không gian in Cập nhật đối tượng Obj.Update VD: Dim line As AcadLine Set line = ThisDrawing.AddLine(startPoint, endpoint) line.Update Đồ họa ứng dụng 19 Hiệu chỉnh đối tượng hình học Phương thức Cú pháp Ý nghĩa Copy Set RetVal = object.Copy Sao chép đối tượng Delete Object.Delete Xóa đối tượng khỏi vẽ Explode Set RetVal = object.Explode Phá vỡ đối tượng thành đối tượng Move Object.Move Point1, Point2 Tịnh tiến đối tượng Mirror Set RetVal = object.Mirror(Point1, Point2) Lấy đối xứng qua trục Offset Set RetVal = object.Offset(Distance) Tạo đối tượng với đường biên cách biên đối tượng cũ khoảng xác định Rotate Object.Rotate BasePoint, RotationAngle Xoay đối tượng quanh điểm cố định ScaleEntity Object.ScaleEntity BasePoint, ScaleFactor Thay đổi tỉ lệ đối tượng đồng theo phương x, y, z Đồ họa ứng dụng 20 Demo Đồ họa ứng dụng 21 The end! • Q&A • Tham khảo: Giáo trình TDHTKCD • Cảm ơn thầy bạn theo dõi Đồ họa ứng dụng 22 [...]... 16 Nhập liệu người dùng từ dòng lệnh • Được AutoCAD và VBA hỗ trợ thông qua đối tượng Utility • Các phương thức thường có dạng GetXXX • Lỗi phát sinh “User input keyword” • Ẩn form khi nhập liệu: form.Hide() Đồ họa ứng dụng 17 Nhập liệu người dùng từ dòng lệnh (tt) Phương thức Cú pháp Ý nghĩa Prompt Utility.Prompt Message Gửi đoạn Message đến dòng lệnh của AutoCAD GetString RetVal = Utility.GetString(HasSpaces[,... tượng Đồ họa ứng dụng 11 Các đối tượng chính • Application: phiên làm việc của AutoCAD • Document: bản vẽ đang được mở • Tập đối tượng: ModelSpace, PaperSpace, Block • Đối tượng phi hình học: dùng để thiết lập các thuộc tính cho đối tượng hình học VD: Layer, Linetype, DimStyle,… • Đối tượng hình học: thực thể cấu thành bản vẽ AutoCAD VD: Line, Circle,… Đồ họa ứng dụng 12 Thuộc tính của đối tượng hình... của đối tượng hình học • • • • • • • • • • • ArrayPolar ArrayRectangular Copy GetBoundingBox Highlight IntersectWith Mirror Move Rotate ScaleEntity Update Đồ họa ứng dụng 14 3 Các thao tác cơ bản trong AutoCAD • Thu phóng màn hình bản vẽ • Nhập liệu người dùng từ dòng lệnh • Tạo mới đối tượng hình học • Hiệu chỉnh đối tượng hình học Đồ họa ứng dụng 15 Thu phóng màn hình bản vẽ (zoom) Phương thức Mã lệnh