Tải bản đầy đủ (.ppt) (38 trang)

Tài liệu Tổng quan về Autocad doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 38 trang )

December 23, 20
13
ObjectARX
1
Vũ Văn Thiên
Cơ điện tử 1_K50
Tổng Quan về AutoCad
Phần mềm Cad đầu tiên là Sketchpad xuất hiện vào năm 1962 được viết bởi
Ivan Sutherland thuộc trường kĩ thuật Massachsetts.
Chức năng:
Thiết kế các bản vẽ hai chiều
Thiết kế các bản vẽ 3D
Đặc điểm nổi bật:
Chính xác
Năng suất cao
Trao đổi dữ liệu với phần mềm khác
December 23, 20
13
ObjectARX
2
Vũ Văn Thiên
Cơ điện tử 1_K50
Các ngôn ngữ phát triển trên
AutoCad
AutoLISP : (LISt Processing :ngôn ngữ xử lý danh sách) Lập trình viên có thể mở rộng tính năng của
AutoCAD bằng cách viết các lệnh của chính họ
ADS (AutoCAD Development System) : từ AutoCAD R 10, do AutoLISP không áp ứng được tốc độ cao.
Một chương trình ADS thực chất là một file khả thi (executable) chứa các hàm định nghĩa theo một
quy tắc nhất định để có thể gọi từ trong AutoCAD.
ADSRX (RX : Runtime Extension) : từ AutoCAD R13, nhằm tăng khả năng giao tiếp với AutoCad
Một chương trình ADSRX là một thư viện liên kết động (DLL) chứa các hàm có thể thực hiện từ trong


AutoCAD
December 23, 20
13
ObjectARX
3
Vũ Văn Thiên
Cơ điện tử 1_K50
Các ngôn ngữ phát triển trên
AutoCad
ObjectARX : (Mở rộng hướng đối tượng của thư viện ARX) xuất hiện cùng AutoCAD R14.
Thay vì cung cấp một thư viện các hàm như trong ARX, giờ đây một thư viện các lớp đối tượng tương ứng
với các đối tượng (object) trong bản vẽ AutoCAD cho phép thao tác dể dàng hơn rất nhiều.
Do đó các chương ứng dụng có thể dễ quản lý và chạy ổn định hơn
VBA :Từ phiên bản R14, cho phép phát triển ứng dụng AutoCAD bằng Visual Basic for Application.
Nhờ đó một đội ngũ rất lớn các lập trình viên Basic cùng với hiểu biết về môi trường AutoCAD
có thể phát triển các ứng dụng phục vụ thiết kế kỹ thuật
VisualLISP : từ AutoCAD R14. Ngoài những cải tiến về ngôn ngữ so với AutoLISP, VisualLISP còn cung
cấp một môi trương phát triển (IDE : Intergrated Development Environment) hoàn chỉnh,
cho phép soạn thảo , chạy thử , gỡ rối và dịch chương trình LISP dễ dàng hơn
December 23, 20
13
ObjectARX
4
Vũ Văn Thiên
Cơ điện tử 1_K50
Phân loại các ngôn ngữ lập trình
API phát triển AutoCAD
thông dịch (interpreted)
biên dịch (compiled)
AutoLISP, VBA và VisualLISP

ADS, ADS/ARX và ObjectARX
December 23, 20
13
ObjectARX
5
Vũ Văn Thiên
Cơ điện tử 1_K50
ObjectARX là gì ?
ObjectARX là một thư viện lập trình ứng dụng hướng đối tượng cho
môi trường AutoCAD
Phục vụ các hầu hết các nhu cầu cần thiết để phát triển AutoCAD :
Truy cập tới cơ sở dữ liệu bản vẽ
T ng tác v i AutoCad ươ ớ
Editor
T o giao di n ng i dùng s d ng ạ ệ ườ ử ụ
MFC
nh ngh a đ i t ng m i (Custom Đị ĩ ố ượ ớ
Objects)
T ng tác môi tr ng l p trình ươ ườ ậ
khác .....
December 23, 20
13
ObjectARX
6
Vũ Văn Thiên
Cơ điện tử 1_K50
Yêu cầu khi lập trình
ObjectARX
Chương trình AutoCad: Thao tác tạo ra bản vẽ,hiểu cấu trúc dữ liệu bản vẽ...
Kỹ thuật lập trình hướng đối tượng và môi trương Visual C++

Kỹ thuật lập trình ứng dụng trên Microsoft Windows với
MFC(Microsoft Foundation Class) bởi chương trình ARX thực chất là
một thư viện liên kết động (DLL) trong các hệ điều hành Windows 32-bit.
Lập trình viên phải nắm vững các khái niệm quan trọng của lập trình hướng
đối tượng như kế thừa (inheritance) , đóng gói dữ liệu (data encapsulation) ,
đa hình (polymorphism), hàm ảo(virtual function) ...
Ðồng thời phải nắm được các thức tạo và thay đổi thiết lập các project trong
môi trường Visual C++ , các thao tác soạn thảo , biên dịch, gỡ rối các chương
trình ...
December 23, 20
13
ObjectARX
7
Vũ Văn Thiên
Cơ điện tử 1_K50
Cài đặt ObjectARX
1.AutoCAD
2.ObjectARX SDK


3.Microsoft Visual C++ .NET
4.ObjectARX Wizard
Sử dụng ArxWizards.msi "<ObjectARX SDK folder>\utils\ObjARXWiz\"
AutoCAD 2000,2000i and 2002 (plus verticals): ObjectARX 2000 and
Microsoft Visual C++ 6.0
AutoCAD 2004, 2005 and 2006 (plus verticals): ObjectARX 2004 and
Microsoft Visual C.NET 2002 (7.0)
AutoCAD 2007, 2008 and 2009 (plus verticals): ObjectARX 2007 and
Microsoft Visual C.NET 2005 (8.0)
December 23, 20

13
ObjectARX
8
Vũ Văn Thiên
Cơ điện tử 1_K50
Cấu trúc thư viện ObjectARX
Thư viện ObjectARX gồm nhiều thư viện con khác nhau tuỳ theo yêu cầu lập trình :
AcDb Các lớp cung cấp các thao tác truy cập cơ sở dữ liệu bản vẽ AutoCAD
AcGi Thư viện các lớp đối tượng dùng để thể hiện đối tượng do người sử dụng định
nghĩa (custom object)
AcGe Các lớp tiện ích hình học và đại số : điểm, véc tơ , ma trận , biểu diễn đường cong,
mặt cong ...
AcRx Phục vụ đăng ký các lớp đối tượng mới, định kiểu khi chạy chương trình ...
AcEd Dùng khi đăng ký các lệnh, xử lý các message của AutoCAD , xử lý transaction
ADS Thu viện các hàm C dựng trong các thao tác liên quan đến select đối tượng, nhập
số liệu ...
December 23, 20
13
ObjectARX
9
Vũ Văn Thiên
Cơ điện tử 1_K50
Cấu trúc một chương trình
ObjectARX
Một chương trình ObjectARX thực chất là một thư viện liên kế động trong đó có
chứa một điểm nhập (entry point) tuân theo những quy tắc nhất định cho phép
AutoCAD tương tác với chương trình
Tương tác giữa AutoCAD và ứng dụng ARX được thực hiện thông qua các
message và entry point là nơi xử lý các message này.
Entry point này đóng vai trò như hàm main() trong một chương trình C/C++ hay

một Message Loop trong một chương trình ứng dụng Windows
December 23, 20
13
ObjectARX
10
Vũ Văn Thiên
Cơ điện tử 1_K50
December 23, 20
13
ObjectARX
11
Vũ Văn Thiên
Cơ điện tử 1_K50
Tạo một Project ObjectARX mới
Bước 1:Khởi động VS 2005 và tạo một project mới như hình vẽ
Bước 2: Chọn ứng dụng cần tạo là W32 Project
December 23, 20
13
ObjectARX
12
Vũ Văn Thiên
Cơ điện tử 1_K50
Bước 3: Do ObjectArx thực chất là một DLL nên ở đây ta chọn DLL
December 23, 20
13
ObjectARX
13
Vũ Văn Thiên
Cơ điện tử 1_K50
Bước 4: Cài đặt biên dịch

+ Click vào tên Project chọn Properties
+ Chọn General >Addtional Include Directoris để thay đổi như hình
December 23, 20
13
ObjectARX
14
Vũ Văn Thiên
Cơ điện tử 1_K50
+ Chọn Code General >Runtime Library để thay đổi như hình
+ Chọn Linker > input>Addtional Dependencies
"rxapi.lib acdb17.lib acge17.lib acad.lib acedapi.lib"
December 23, 20
13
ObjectARX
15
Vũ Văn Thiên
Cơ điện tử 1_K50
+ Chuyển dịch từ *.dll sang *.arx để sau đó load vào Autocad
Bước 5: Thêm mã vào chương trình

×