Bài Tập Về Custom Entity

Kiến thức yêu cầu

  • Sử dụng tốt AutoCAD, biết vẽ đối tượng 2D và 3D trong AutoCAD
  • C++: hiểu rõ về lập trình hướng đối tượng, triển khai được các lớp đối tượng kế thừa
  • Thư viện ObjectARX:
•Biết tạo lớp đối tượng mới kế thừa từ đối tượng cơ bản của AutoCAD,
•Biết sử dụng lớp AcEdJig
•Biết sử dụng và tính toán tốt các phép toán hình học 2D và 3D bằng cách dùng các lớp AcGePoint2d, AcGePoint3d,  AcGeVector3d
•Biết cách tạo đối tượng 3d sử dụng lớp AcDb3dSolid

Bài Tập 1

Tạo 1 lớp đối tượng mới có 2 hình dạng như hình 1 và 2 bên dưới

Yêu cầu

  • Đối tượng được kế thừa các thuộc tính của đối tượng 3D
  • Đối tượng 1 có các thuộc tính như hình 3 và 4
  • Đối tượng 2 có các thuộc tính như hình 5 và 6
  • Đối tượng 1 có grip point và osnap point như hình 7
  • Đối tượng 2 có grip point và osnap point như hình 8
  • Tạo 1 lệnh để chèn 2 đối tượng vào bản vẽ và kiểm tra hình học, đóng mở bản vẽ có đối tượng đó

 

Bài Tập 2

Tạo 2 lệnh để chèn đối tượng đã tạo trong bài tập 1

•HVAC1: chèn đối tượng hình 1
•HVAC2: chèn đối tượng hình 2

Yêu cầu

•Sử dụng lớp AcEdJig để tạo hiệu ứng khi chèn đối tượng
•Với đối tượng 1 tham khảo ví dụ trong video: chen_pipe.wmv
•Với đối tượng 2 tham khảo ví dụ trong video: chen_elbow.wmv

 

Bài Tập 3

Cài đặt sự kiện double click trên đối tượng 1 và đối tượng 2. Khi double click trên đối tượng đó sẽ hiện 1 hộp thoại hiện ra các thuộc tính của đối tượng đó. Sau khi sửa thông tin bấm OK sẽ cập nhật thông tin vào đối tượng và cập nhật cả hình học. Ví dụ đổi kiểu vẽ từ Hollow sang Solid, đối tượng sẽ cập nhật kiểu vẽ là solid

Bài Tập 4

Tạo lệnh HVACAUTOROUTE để vẽ liên tiếp đối tượng hình 1 và hình 2 trong bài tập 1. Lệnh này sẽ có 2 lựa chọn cho người dùng:

•Lựa chọn 1: pick point
•Lựa chọn 2: select object

Kết quả là đối tượng 1 và 2 sẽ được chèn tự động theo bộ điểm người dùng đã chọn. Với lựa chọn 1 thì bộ điểm do người dùng xác định trên bản vẽ, đối với lựa chọn 2 thì chương trình phải tính toán để đưa ra bộ điểm đó từ các object người dùng đã chọn. Ví dụ người dùng chọn 1 đối tượng polyline của autocad thì bộ điểm đó là các điểm đầu, điểm góc và điểm cuối của polyline. Người dùng chọn nhiều line của autocad thi phải lấy hết các điểm đầu và cuối của mỗi line, sau đó sẽ sắp xếp cho các điểm nó liên tiếp. Xem thêm chi tiết mô tả trong các hình 9, 10, 11, và 12.

Lựa chọn 1: người dùng chọn các điểm từ 1 đến 5

Lựa chọn 2: người dùng chọn 1 đối tượng polyline

Lựa chọn 2: người dùng chọn nhiều đối tượng line

Kết quả:

Tài liệu

http://arxdummies.blogspot.com.br/p/blog-page.html

Thư viện ObjectARX

- arxdev.chm -> Custom Objects

- Sample:

   + samples\entity\polysamp

   + samples\com\AsdkSquareWrapper_dg

 

Bài tập tiếp theo: Bài Tập Về Xdata trong lập trình ObjectARX

share on facebook