2. Thông tin nhóm
NHÓM 1
STT MSSV Họ tên Email
1 1012331 PhanTiến Quang – Nhóm trưởng oclockvn@gmail.com
2 1012218 Phạm Hoàng Long Phlong.fit@gmail.com
3 1012297 Đặng Hà Phong kieuphongdangvu@gmail.com
Đồ họa ứng dụng 2
3. Nội dung trình bày
Tổng quan về dự ánVBA trongAutoCAD
Hệ thống mô hình đối tượng trong AutoCAD
Các thao tác cơ bản trong AutoCAD
Demo
Q&A
Đồ họa ứng dụng 3
1
2
3
4
5
4. 1.Tổng quan về dự ánVBA trong AutoCAD
Dự ánVBA trong AutoCAD chia làm 2 loại:
1. Dự án nhúng (Embedded Project)
• Lưu trữ trong tệp DWG cùng với các thông tin khác của bản vẽ trong AutoCAD.
• Tự động thực hiện khi mở bản vẽ chứa dự án nhúng.
• Hiệu lực đối với 1 bản vẽ chứa nó.
2. Dự án độc lập (Global Project)
• Lưu trữ tách biệt trong 1 tệp có phần mở rộng là *.dvb.
• Không phụ thuộc vào 1 bản vẽ nào cả.
• Người sử dụng phải tải dự án vàoAutoCAD để thực thi.
Đồ họa ứng dụng 4
5. Cấu trúc dự ánVBA
Đồ họa ứng dụng 5
1. AutoCAD Objects: đối tượng đại
diện cho bản vẽ hiện hành của
AutoCAD.
2. Userform: giao diện hộp thoại hỗ
trợ giao tiếp giữa người dùng và
chương trình.
3. Module chuẩn: chứa mã lệnh khai
báo, chương trình con.
4. Class module: định nghĩa cho các
lớp của dự án
9. 2. Hệ thống mô hình đối tượng trong AutoCAD
Theo góc nhìn lập trình:
• AutoCAD được cấu thành từ nhiều đối tượng khác nhau.
• Mỗi đối tượng có thể có nhiều đối tượng con ở cấp độ thấp hơn.
• Các đối tượng được tổ chức theo 1 cấu trúc nhất định, mỗi đối tượng trong
cấu trúc đó tương đương với 1 thành phần củaAutoCAD.
Đồ họa ứng dụng 9
10. 2. Hệ thống mô hình đối tượng trong AutoCAD
Các loại đối tượng trong AutoCAD:
• Đối tượng hình học: line, arc, text, dimension,…
• Thiết lập về đị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ị bản vẽ: view, viewport,…
• Ngay cả bản vẽ và bản thân chương trình AutoCAD cũng được xem là đối
tượng.
Đồ họa ứng dụng 10
12. Các đối tượng chính
• Application: phiên làm việc củaAutoCAD.
• 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
13. Thuộc tính của đối tượng hình học
Đồ họa ứng dụng 13
• Color
• Layer
• Linetype
• LinetypeScale
• Lineweight
• Visible
14. Phương thức 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
15. 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
16. Thu phóng màn hình bản vẽ (zoom)
Phương thức Mã lệnh Ý Nghĩa
ZoomExtents Application.ZoomExtents Phóng màn hình theo vùng bao tất cả các đối
tượng
ZoomAll Application.ZoomAll Phóng màn hình theo giới hạn của bản vẽ (2D)
ZoomPrevious Application.ZoomPrevious Chuyển màn hình về trạng thái trước đó
ZoomPickWindow Application.ZoomPickWindow Phóng màn hình theo hình chữ nhật được chọn
ZoomWindow Application.ZoomWindow
bottm_left, top_right
Phóng màn hình theo hình chữ nhật định trước
ZoomScaled Application.ZoomScaled
Scale[, ScaleType]
Phóng màn hình theo 1 tỉ lệ xác định
Đồ họa ứng dụng 16
17. 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
18. 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[,
Prompt])
Nhập vào 1 chuỗi ký tự
GetInteget
GetReal
RetVal = Utility.GetInteger([Prompt])
RetVal = Utility.GetReal([Prompt])
Nhập vào số nguyên hoặc số thực
GetAngle RetVal = Utility.GetAngle([Point][,
Prompt])
Nhập vào 1 góc hoặc chọn 1 góc trên màn
hình
GetPoint RetVal = Utility.GetPoint([Point][,
Prompt])
Nhập vào 1 điểm bằng tọa độ hoặc chọn
trên màn hình
GetDistance RetVal = Utility.GetDistance([Point][,
Prompt])
Nhập vào giá trị khoảng cách
GetEntity Utility.GetEntityObject,
PickedPoint[,Prompt]
Lấy 1 đối tượng bằng cách chọn trên màn
hình
Đồ họa ứng dụng 18
19. Tạo mới đối tượng hình học
1. Khai báo đối tượng
Dim obj As AcadXXX
2. 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
3. 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
20. 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 bản vẽ
Explode Set RetVal = object.Explode Phá vỡ 1 đối tượng thành các đối tượng con
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 1 trục
Offset Set RetVal =
object.Offset(Distance)
Tạo mới đối tượng với đường biên cách biên của đối
tượng cũ 1 khoảng xác định
Rotate Object.Rotate BasePoint,
RotationAngle
Xoay đối tượng quanh 1 điểm cố định
ScaleEntity Object.ScaleEntity
BasePoint, ScaleFactor
Thay đổi tỉ lệ đối tượng đồng đều theo các phương x, y,
z
Đồ họa ứng dụng 20