VBA for AutoCAD

22
VBA for AutoCAD GROUP 1 Đồ họa ứng dụng 1

description

Giới thiệu tổng quan về lập trình VBA trong AutoCAD

Transcript of VBA for AutoCAD

Page 1: VBA for AutoCAD

VBA for AutoCADGROUP 1

Đồ họa ứng dụng 1

Page 2: VBA for AutoCAD

Thông tin nhóm

NHÓM 1

STT MSSV Họ tên Email

1 1012331 Phan Tiến Quang – Nhóm trưởng [email protected]

2 1012218 Phạm Hoàng Long [email protected]

3 1012297 Đặng Hà Phong [email protected]

Đồ họa ứng dụng 2

Page 3: VBA for AutoCAD

Nội dung trình bày

Tổng quan về dự án VBA trong AutoCAD

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

Page 4: VBA for AutoCAD

1. Tổng quan về dự án VBA trong AutoCAD

Dự án VBA 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ào AutoCAD để thực thi.

Đồ họa ứng dụng 4

Page 5: VBA for AutoCAD

Cấu trúc dự án VBA

Đồ họa ứng dụng 5

1. AutoCAD Objects: đối tượng đạidiện cho bản vẽ hiện hành củaAutoCAD.

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 khaibáo, chương trình con.

4. Class module: định nghĩa cho cáclớp của dự án

Page 6: VBA for AutoCAD

Trình quản lý dự án

Đồ họa ứng dụng 6

Cách 1

Page 7: VBA for AutoCAD

Trình quản lý dự án

Đồ họa ứng dụng 7

Cách 2

Page 8: VBA for AutoCAD

Trình quản lý dự án

Đồ họa ứng dụng 8

Page 9: VBA for AutoCAD

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 trongcấu trúc đó tương đương với 1 thành phần của AutoCAD.

Đồ họa ứng dụng 9

Page 10: VBA for AutoCAD

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à đốitượng.

Đồ họa ứng dụng 10

Page 11: VBA for AutoCAD

Mô hình đối tượng

Đồ họa ứng dụng 11

Page 12: VBA for AutoCAD

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ìnhhọ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

Page 13: VBA for AutoCAD

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

Page 14: VBA for AutoCAD

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

Page 15: VBA for AutoCAD

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

Page 16: VBA for AutoCAD

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 đốitượ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.ZoomWindowbottm_left, top_right

Phóng màn hình theo hình chữ nhật định trước

ZoomScaled Application.ZoomScaledScale[, ScaleType]

Phóng màn hình theo 1 tỉ lệ xác định

Đồ họa ứng dụng 16

Page 17: VBA for AutoCAD

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

Page 18: VBA for AutoCAD

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ủaAutoCAD

GetString RetVal = Utility.GetString(HasSpaces[, Prompt])

Nhập vào 1 chuỗi ký tự

GetIntegetGetReal

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ànhình

GetPoint RetVal = Utility.GetPoint([Point][, Prompt])

Nhập vào 1 điểm bằng tọa độ hoặc chọntrên mà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 1 đối tượng bằng cách chọn trên mànhình

Đồ họa ứng dụng 18

Page 19: VBA for AutoCAD

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

Page 20: VBA for AutoCAD

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 đốitượ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.ScaleEntityBasePoint, ScaleFactor

Thay đổi tỉ lệ đối tượng đồng đều theo các phương x, y, z

Đồ họa ứng dụng 20

Page 21: VBA for AutoCAD

4. Demo

Đồ họa ứng dụng 21

Page 22: VBA for AutoCAD

The end!

Đồ họa ứng dụng 22

• Q&A

• Tham khảo: Giáo trình TDHTKCD.

• Cảm ơn thầy và các bạn đã theo dõi.