Tải bản đầy đủ (.doc) (78 trang)

đồ án kỹ thuật cơ khí Mô phỏng quá trình gia công CNC trên máy DENFORD

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 (450.8 KB, 78 trang )

LỜI NÓI ĐẦU
Ngày nay cuộc cách mạng khoa học kĩ thuật trên thế giới đang phát
triển với tốc độ vũ bão không ngừng vươn tới những đỉnh cao mới đặc biệt
là những thành tựu khoa học trong lĩnh vực tự động hoá sản xuất. Với sự trợ
giúp của máy tính con người đã và đang nghiên cứu để ngày càng giảm tới
tối đa sự tác động trực tiếp vào quá trình sản xuất, đồng thời nâng cao năng
suất chất lượng của sản phẩm.
Ở các nước có nền công nghiệp phát triển tiên tiến việc ứng dụng máy
tính vào các nghành kinh tế, kỹ thuật trong đó có cơ khí chế tạo đã được
thực hiện từ nhiều thập kỉ trước. Một trong những vấn đề quyết định của tự
động hoá nghành cơ khí là kỹ thuật điều khiển số và công nghệ trên các máy
điều khiển số. Máy công cụ điều khiển số (NC và CNC) được dùng nhiều ở
các nước phát triển và ngày càng phổ biến sử dụng trên toàn thế giới. Ở
nước ta các trung tâm sản xuất hiện đại đã có nhiều máy điều khiển số phục
vụ công tác nghiên cứu và sản xuất.
Do nhu cầu phát triển và ứng dụng nhanh các kỹ thuật mới trong khai
thác và sử dụng máy công cụ điều khiển số (NC và CNC) đã có nhiều đề tài
nghiên cứu về máy công cụ NC và CNC. Đề tài " Mô phỏng quá trình gia
công CNC trên máy DENFORD " có nhiệm vụ nghiên cứu xây dựng, khai
thác cơ sở dữ liệu được chương trình gắn thêm vào các đối tượng trong bản
vẽ thiết kế từ đó tính toán các chế độ gia công và sinh mã điều khiển máy
CNC. Đề tài chủ yếu nghiên cứu mô phỏng gia công một dạng chi tiết là chi
tiết nối trục với kích thước nhỏ phù hợp gia công trên hệ thống CIM đồng
thời tạo ra một công cụ ứng dụng tốt trong các phòng thí nghiệm gia công
giúp cho người sử dụng kiểm tra được chương trình một cách đơn giản hiệu
quả. Trong đề tài đã sử dụng hai công cụ phát triển mở rộng là ObjectARX
và OpenGL, ObjectARX hỗ trợ việc xây dựng và khai thác hiệu quả bản vẽ
thiết kế bằng Autocad còn OpenGL là công cụ hỗ trợ tạo môi trường đồ hoạ,
1
cung cấp các công cụ cho quá trình mô phỏng. Do khối lượng công việc là
khá lớn, thời gian ngắn nên chương trình còn nhiều thiếu sót chưa thực sự


dễ sử dụng. Trong thời gian tới em sẽ cố gắng hoàn thiện và nâng cấp
chương trình chạy tốt dễ sử dụng.
Em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Đinh Văn
Phong bộ môn CƠ HỌC ỨNG DỤNG và thầy Lưu Văn Nhang bộn môn
CÔNG NGHỆ CHẾ TẠO MÁY đã giúp đỡ em trong quá trình em làm đồ
án môn học.
2
I. Chương I Giới thiệu về Máy công cụ CNC
1.1.Khái niệm cơ bản về điều khiển số
Khi gia công trên các máy công cụ thông thường các bước gia công
do người thợ thực hiện bằng tay như điều chỉnh số vòng quay, lượng chạy
dao, kiểm tra vị trí dụng cụ cắt để đạt kích thước gia công như vậy độ
chính xác gia công hay chất lượng gia công phụ thuộc quá nhiều vào trình
độ tay nghề của người thợ gia công.
Ngược lại trên các máy công cụ điều khiển số quá trình gia công được
thực hiện tự động. Trước khi gia công người ta đưa vào hệ thống điều khiển
một chuỗi các lệnh điều khiển, hệ thống điều khiển sẽ kiểm tra và thực hiện
chính xác các lệnh trong chuỗi lệnh. Do tính chính xác và không có sự tác
động của yếu tố tâm lý sức khoẻ của công nhân gia công nên gia công bằng
máy điều khiển số đạt chất lượng gia công cao. Ngoài ra do khi lập trình
điều khiển chương trình có thể sử dụng dể gia công lặp lại nhiều lần nên
năng suất gia công cao.
Các máy công cụ điều khiển theo chương trình số được gọi là các
máy NC(Numerical Control) hoặc các máy CNC(Computer Numerical
Control) trong đó máy CNC là loại máy hiện đại do kết nối được với máy
tính nên có nhiều khả năng mở rộng điều khiển và đây cũng là đối tượng
nghiên cứu của đề tài.
1.2.Đặc trưng cơ bản của máy CNC
- Nh trình bày ở trên ưu điểm chính cơ bản của máy công cụ CNC là
tính linh hoạt và tốc độ thay đổi nhanh các chương trình gia công với sự can

thiệp tối thiểu bằng tay.
- Để xác định các tương quan hình
học trong vùng làm việc của máy, trong
phạm vi chi tiết gia công một cách rõ ràng,
ta đưa vào hệ toạ độ và các điểm gốc chuẩn.
- Để thống nhất hóa mối tương quan cho
3
các máy khác nhau, người ta tiêu
chuẩn hoá các hệ trục toạ độ và chiều chuyển
động của chúng.
- Các chiều chuyển động của máy công
cụ điều khiển số được xác định bởi hệ toạ
độ vuông góc của bàn tay phải :
- Trục X có hướng dọc theo ngón tay
phải
- Trục Z có hướng dọc theo ngón
giữa (khi ngón giữa choãi vuông góc
với lòng bàn tay )
- Trục Y có hưóng dọc theo ngón
trỏ (cùng mặt phẳng lòng bàn tay)
Hệ toạ độ này luôn luôn gắn trên
chi tiết. Khi lập trình chi tiết được
coi là đứng yên. Các chuyển động
thuộc về phần dao cô
- Các trục quay tương ứng với X, Y,
Z được kí hiệu A, B, C.
Chiều quay dương ứng với chiều
quay thuận của kim đồng hồ, khi
ta nhìn dọc theo chiều dương của
trục tịnh tiến

• Trục Z
- Thường nằm song song với trục
chính công tác, hoặc chính là đường tâm
trục đó
- Nếu máy không có trục chính công
4
+C
+B
+A
+Z
+Y
+X
tác (máy bào, máy gia công điện hoá …. )
thì trục Z cũng là trục vuông góc với bàn kẹp chi tiết.
• Truc X
Trục X là trục toạ độ nằm trên mặt phẳng định vị hay song song với bề
mặt kẹp chi tiết, thưòng ưu tiên theo phương nằm ngang. Chiều của trục X
được xác định nh sau :
1. Trên các máy có dao quay tròn
a. Nếu trục Z đã nằm ngang thì chiều dương của trục X hướng về bên phải
nếu ta nhìn trục chính hướng vào chi tiết.
b. Nếu trục Z thẳng đứng và máy có một thân máy thì chiều dương của trục
X hướng về bên phải khi ta nhìn từ trục chính hướng vào chi tiết.
Nếu máy có hai thân máy thì chiêù dương của trục X hướng về bên phải
nếu ta nhìn từ trục chính hướng vào thân máy bên trái
2. Trên các máy có chi tiết quay tròn
Trục X nằm theo phương hướng kính của chi tiết và đi từ trục chi tiết đến
bàn kẹp dao chính
3. Trên các máy không có trục chính công tác
Trục x chạy song song theo hướng gia công chính

Trục Y
Vị trí của trục Y được xác định sau khi các trục X và trục Z đã được định
nghĩa
Các trục phụ
Nếu ngoài các trục X,Y,Z còn có các trục điều khiển độc lập khác, ta dùng
kí hiệu khác U( // X), V(//Y), W(// Z).
Các trục song song khác ( so với trục toạ độ chính ) nhận các kí hiệu tiếp
theo là P,Q,R.
1.3.Các điểm 0 và các điểm chuẩn của máy CNC
Trong thiết kế chế tạo bản vẽ thiết kế thường chưa phù hợp về toạ độ
so với các giới hạn về toạ độ quy định trên máy CNC nên khi lập trình và
5
nhất là tự động hoá qúa trình lập trình thì việc xác định chính xác hay hiểu
rõ về các điểm 0 và các điểm chuẩn là rất quan trọng, sau đây chúng ta sẽ
nghiên cứu các đặc điểm cơ bản về các các điểm 0 và các điểm chuẩn.
1.3.1.Điểm 0 của máy M
Các điểm 0 của máy M là diểm
gốc của các hệ thống toạ độ máy và
do nơi chế tạo ra chiếc máy đó xác
định theo kết cấu của máy. Trên các
máy phay, điểm 0 của máy thường
nằm tại điểm giới hạn dịch chuyển của
bàn máy.
1.3.2.Điểm 0 của chi tiết W
Điểm 0 của chi tiết là gốc của hệ
thống toạ độ gắn lên chi tiết. Vị trí của
điểm W do người lập trình lựa chọn và
xác định. Song người lập trình cần xác
định sao cho các kích thước trên bản vẽ
gia công trực tiếp là các giá trị toạ độ

của hệ thống toạ độ.
1.3.3.Điểm 0 của chương trình P0
Điểm 0 của chương trình là điểm mà
dụng cụ sẽ ở đó trước khi gia công. Để hợp
lý điểm 0 của chương trình được chọn làm sao khi chi tiết gia công hoặc
dụng cụ có thể được thay đổi một cách dễ dàng.
1.3.4.Các điểm chuẩn
a. Các điểm chuẩn của máy R
Trong các máy có hệ thống đo dịch chuyển, giá trị thực đo được khi bị
mất nguồn điện do sự cố sẽ mất theo.Trong những trường hợp này để đưa hệ
thống đo trở lại trạng thái đã có trước đó thì điểm O của máy phải chạy bằng
6
tất cả các trục của máy. Trong nhiều trường hợp không thực hiện được điều
này vì vướng vào các chi tiết đã kẹp trên máy hay đồ gá. Do vậy cần thiết
xác lập một điểm chuẩn thứ hai trên các trục, đó là điểm chuẩn của máy R
b. Điểm tỳ A
Điểm tú A là giao điểm của các đường trục và mặt phẳng tỳ. Trên các
máy tiện, mặt phẳng tỳ nằm ngay tại mâm cặp hoặc chấu cặp.
c. Điểm thay dao Ww
Để tránh va đập vào chi tiết gia công khi thay dao tự động dao phải
chạy đến điểm thay dao.
d. Điểm điều chỉnh dao E
Khi sử dụng nhiều dao, các kích thước của dao phải được xác định
trước trên thiết bị điều chỉnh dao để có thông tin đưa vào trong hệ thống
điều khiển nhằm hiệu chỉnh tự động kích thước dao.
e. Điểm gá dao N
Khi dụng cụ được lắp vào giá dao điểm giá dao N và điểm điều chỉnh
dao E sẽ phải trùng nhau. Trên các máy phay điểm gá dao N nằm trên vành
trục chính. Trên các máy tiện, điểm gá dao N nằm tại các mặt phẳng của đầu
rơvonve.

f. Điểm cắt của dao P
Điểm này là điểm đỉnh dao thực hoặc lý thuyết.
g. Điểm chuẩn của bàn trượt F
Tất cả các điểm trên bàn trượt đều liên quan đến điểm này.
h. Điểm chuẩn gá dao
Vị trí của dao(đầu dao rơvonve) được xác định nhờ điểm này. Nó được
dùng nh một điểm xuất phát của tất cả các kích thước trên đầu rơvonve.
7
1.4.Các dạng điều khiển
Do máy CNC có khả năng gia công được các bề mặt khác nhau nh các
lỗ, mặt phẳng, các mặt định hình Vì vậy có các dạng điều khiển máy nh :
điều khiển điểm - điểm, điều khiển theo đường thẳng và theo đường biên
dạng (đường contour).
1.4.1.Dạng điều khiển điểm - điểm
- Điều khiển điểm - điểm (theo vị trí )
được dùng để gia công các lỗ bằng các
phương pháp khoan, khoét, doa, và cắt ren lỗ.
Chi tiết gia công dược gá cố định trên bàn máy,
dung cụ cắt thực hiện chạy dao nhanh tới các
vị trí đã lập trình (hoặc chạy bàn máy). Khi đạt
tới điểm đích thì dao băt đầu cắt.
- Vị trí các lỗ có thể được điều khiển đồng
thời hoặc kế tiếp theo 2 trục toạ độ.
1.4.2. Dạng điều khiển theo đường thẳng
Là điều khiển mà khi gia công dụng cụ
Vị trí các điểm chuẩn và điểm 0 trên
máy tiện
M Điểm 0 của máy
W Điểm 0 của chi tiết
PO

Điểm 0 của chương trình
R Điểm chuẩn của máy
A Điểm tú
W
w
Điểm thay dụng cụ
E Điểm điều chỉnh dụng cụ
N Điểm đón dụng cụ
P Điểm cắt dụng cụ
F
Điểm chuẩn của bàn
trượt
T Điểm chuẩn của giá dao
8
cắt thực hiện lượng chạy dao theo mét
đường thẳng nào đó. Trên máy tiện dụng
cụ cắt chuyển động song song hoặc vuông
góc với trục của chi tiết (trục Z). Trên máy
phay dụng cụ cắt chuyển động song song
với trục Y hoặc trục X (dụng cụ cắt chuyển
động độc lập theo từng trục).
1.4.3. Dạng điều khiển theo biên dạng (contour)
Điều khiển theo biên dạng cho phép thực hiện chạy dao trên nhiều trục
cùng lúc. Các chuyển động theo các trục có sự quan hệ hàm số ràng buộc
với nhau. Dạng điêu khiển này được áp dụng trên máy tiện máy phay và các
trung tâm gia công (Machining Center).
Có 3 dạng điều khiển: điều khiển contour 2D, 2
2
1
D và điều khiển 3D

(D là kích thước).
- Điều khiển contour 2D: cho phép thực hiện chạy dao theo 2 trục
đồng thời trong một mặt phẳng gia công (ví dụ mặt phẳng XZ,
YZ). Trục thứ 3 được điều khiển hoàn toàn độc lập với các trục
kia.
- Điều khiển contour 2
2
1
D: Cho phép ăn dao đồng thời theo 2 trục
nào đó để gia công bề mặt trong một mặt phẳng nhất định. Trên
máy CNC có 3 trục X, Y, Z ta sẽ điều khiển được đồng thời X
và Y, X và Z, hoặc Y và Z. Trên các máy phay thì điều này có
nghĩa là chiều sâu cắt có thể được thực hiện bất kỳ 1 trục nào đó
trong 3 trục còn 3 trục kia để phay contour.
- Điều khiển contour 3 D: Cho phép đồng thời chạy dao theo cả 3
trục X,Y, Z. Điều khiển contour 3 D được áp dụng để gia công
các khuôn mẫu, gia công các chi tiết có bề mặt không gian phức
tạp .
1.5. Các chỉ tiêu gia công của máy CNC
9
X
Z
a. Thông số hình học
Thông số hình học của máy CNC hay của vùng gia công là thông số của
không gian mà trong đó dụng cụ cắt mà chi tiết gia công có thể tác động qua
lại ở bất kì vị trí nào. Như vậy trên các máy gia công chi tiết quay thì vùng
gia công là một khối lăng trụ được xác định bằng bán kính và chiều dài
dịch chuyển của các toạ độ
Trên các máy gia công chi tiết hình hộp chữ nhật thì vùng gia công là
khối hộp được xác định bằng các chiều dài dịch chuyển của các toạ độ (hình

vẽ) các điểm giới hạn của vùng làm việc được đánh số tương tự ký hiệu số
của ma trận. Để thuận tiện và dễ nhớ người ta đánh thứ tự các số theo quy
tắc sau: số thứ nhất của các chữ số ký hiệu các điểm theo trục thẳng đứng,
số thứ 2 của các chữ số ký hiệu các điểm thưo trục dọc (trục Z), còn số thứ 3
của các chữ số ký hiệu các điểm theo trục nằm ngang (trục X)
b. Thông sè gia công
Là tốc độ chuyển động của các cơ cấu chấp hành và công suất động cơ.
Người ta dựa vào thông số hình học như kích thước bàn máy phay hay chiều
cao của tâm máy tiện để chọn công suất động cơ, tốc độ quay của các trục
chính và lượng chạy dao để gia công các chi tiết hình hộp chữ nhật người ta
chọn các thông số gia công như sau:
- Bề rộng của bàn máy(mm)
- Công suất động cơ (KW)
- Tốc độ chạy dao (m/ph)
- Tốc độ chạy dao nhanh
(m/ph)
- Thời gian thay dao tự động
(s)
400 – 630
5 – 11
3150 – 4000
1- 10
6 – 10
3 - 7
630 – 1000
9 -15
3150 – 4000
2.4 – 8
5 – 10
3 - 10


10
c. Năng suất gia công
Là sè chi tiết gia công trong một đơn vị thời gian. Công thức tính công
suất gia công tính nh sau:
Q =
o
T
1
=
1
1
1
1








++++






∑∑∑

k
kt
i
tdctcbkt
ttttt
n
m
T
o
_thời gian cơ bản trung bình (ph)
m_số loạt chi tiết được sản xuất trong một năm
n_số lượng chi tiết được sản xuất trong một năm
i_số lượng nguyên công cần thiết để gia công một chi tiết
k_số lượng các nguyên công kiểm tra
t
ct
_thời gian thay đổi chi tiết gia công
t
td
_thời gian thay dao
t
o
_thời gian cơ bản
t
kt
_thời gian kiểm tra
t
cbkt
_thời gian chuẩn bị kết thúc
Để tăng năng suất ta phải giảm t

ct
, t
td
, t
o
, t
cbkt
, thời gian phụ. Muốn giảm
t
cbkt
ta phải dùng đồ gá vệ tinh và giảm số lượng các loại chi tiết gia công
trên máy (trên một máy CNC không nên gia công quá 30 – 50 loại chi tiết
trong một năm). Muốn giảm t
td
dùng hệ thống thay dao tự động. Trên các
máy thay dao bằng tay nên sử dụng cơ cấu kẹp nhanh. Muốn giảm t
o
thì
tăng tốc độ cắt (tăng công suất động cơ), sử dụng dao có khả năng cắt với
tốc độ cao, gia công với chế độ cắt tối ưu và gia công đồng thời bằng nhiều
dao. Muốn giảm thời gian phụ thì thì tăng tốc độ chạy nhanh của các cơ cấu
chấp hành hoặc của dao (cố gắng tăng tốc độ chạy dao nhanh tới 10 – 15
m/ph).
11
d. Độ chính xác của máy CNC
Sai sè gia công tổng cộng trên các máy CNC xuất hiện trong các hêh
thống chyển động của máy, trong các hệ thống điều khiển và kiểm tra trong
bản thân chi tiết gia công (hình vẽ)
Các sai sè gia công được ký hiệu và giải thích nh sau:
1

δ
,
2
δ
,
3
δ
,
4
δ
_ sai số lập trình, nội suy, hiệu chỉnh nội suy, và sai số
“lệnh trở về điểm O”.
5
δ
,
6
δ
_ sai số của bước bên trong và sai số tích luỹ của đattric
δ
7
_sai số của cơ cấu chuyển đổi tín hiệu
8
δ
_sai số của dreipha đặc tính chuyển động (sai số thời gian phát sinh)
9
δ
,
10
δ
,

11
δ

_sai số của truyền động (lực, mômen, tốc độ)
12
δ
_sai số của trục vít bi
13
δ
_sai số hình học của máy
14
δ
,
15
δ
_sai số biến dạng đàn hồi của máy và đồ gá

16
δ
_sai số của kích thước gá đặt dao
17
δ
_sai sè do mòn dao
18
δ
_sai số biến dạng đàn hồi của dao
19
δ
_sai số gá đặt của chi tiết gia công
20

δ
_sai số biến dạng đàn hồi của chi tiết gia công
21
δ
_sai số biến dạng nhiệt của chi tiết gia công
Sai số tổng cộng được xác định theo công thức


=
1

+
2

+
3

+
4

+
5

12
Trong đó:
1

=
1
δ

+
2
δ
+
3
δ
+
4
δ
2

=
5
δ
+
6
δ
+
δ
7
3

=
8
δ
+
9
δ
+
,

10
δ
+

11
δ
+
12
δ
4

=
16
δ
+
17
δ
+
18
δ
5

=
19
δ
+
20
δ
+
21

δ
e. Độ tin cậy của máy CNC
Các máy CNC có giá thành rất cao nên nó chỉ mang lại hiệu quả khi
chúng làm việc liên tục 2 hoặc 3 ca và không có hỏng hóc nào khi làm việc.
Trong quá trình làm việc các máy CNC phải đảm bảo độ chính xác gia công
và nếu có bị hỏng hóc thì máy phải có khả năng được sửa chữa hoặc thay
thế một số cơ cấu dễ dàng thuận tiện
Vậy độ tin cậy của máy CNC là tính chất thực hiện chức năng gia công
giữ được các chỉ tiêu công nghệ cũng nh sửa chữa theo một thời gian quy
định. Độ tin cậy của máy được đặc trưng bởi tính chất sau:
- Tính làm việc không bị hỏng: Tính chất này được đặc trưng bằng sự
làm việc liên tục của máy trong một thời gian nhất định (thời gian
chạy rà và làm việc của máy).
- Tuổi thọ của máy: Tính chất này là sự ổn định làm việc cho tới lúc
sửa chữa (1 phần tuổi thọ) và sau đó lại tiếp tục làm việc
Như vậy 2 tính chất trên đều đặc trưng cho khả năng làm việc của máy
(tính chất làm việc không bị hỏng) tồn tại trong một khoảng thời gian
nhất định còn tính chất tuổi thọ tồn tại trong suốt thời gian máy được sử
dụng, kể cả thời gian để sửa chữa.
13
- Khả năng sửa chữa: tính chất này có nghĩa là người ta có khả năng
phát hiện các khuyết tật hỏng hóc của máy và có khả năng sửa chữa
những khuyết tật và hỏng hóc đó.
Đối với máy CNC thì hai tính chất 1 và 3 là quan trọng nhất bởi vì các
máy CNC có cấu trúc rất phức tạp và có nhiều cơ cấu có tác động qua lại
lẫn nhau.
II. Chương II Lập trình gia công trên máy CNC
2.1.Cấu trúc của một câu chương trình
- Chương trình điều khiển máy CNC được cấu thành bởi một dãy các
câu chương trình bắt đầu bằng thứ tự câu.

số thứ
tự câu
Thông tin dịch chuyển Thông tin vận hành máy
Mã dịch
chuyển
Các trục toạ độ
Lượng
chạy dao
Số vòng
quay
Dụng cụ
cắt
Chức năng
phụ
N G X Y Z F S T M
N1 G90
F100 S3000 T01102
N2 G00
Z-200
M03
N3 G00
X50.0 Y35.5
N4 G01
Z150
2.2.Cấu trúc của một từ chương trình
Mỗi câu chương trình bao gồm các từ chứa đựng thông tin hình học và
công nghệ hoặc thông tin kỹ thuật của chương trình. Có thể viết từ nh thế
nào và viết bao nhiêu từ chương trình phụ thuộc vào nơi sản xuất và hệ
thống điều khiển của máy. Người ta chia thành hai nhóm từ chương trình:
- Nhóm từ biểu thị chức năng dịch chuyển.

- Nhóm từ biểu thị chức năng điều khiển máy và các chức năng phụ.
Mỗi từ chương trình bao gồm một chữ cái và một dãy số có hoặc không
có dấu (dấu nằm giữa chữ cái và dãy số X-25.2). Theo quy chuẩn các chữ
cái có một ý nghĩa xác định theo chuẩn ISO hoặc chuẩn DIN 66025(tiêu
chuẩn của CHLB Đức ). Sau đây ta sẽ xét ý nghĩa của một số lệnh cơ bản
theo chuẩn DIN 66025.
14
Ký hiệu ý nghĩa
A Chuyển động quay quanh trục X
B Chuyển động quay quanh trục Y
C Chuyển động quay quanh trục Z
D Bộ nhớ hiệu chỉnh dụng cụ cắt
E Lượng chạy dao thứ 2
F Lượng chạy dao
G Điều kiện chuyển động
H Có thể sử dụng tự do
I Thông số nội suy song song với trục X
J Thông số nội suy song song với trục Y
K Thông số nội suy song song với trục Z
L Có thể sử dụng tự do
M Chức năng phụ
N Số thứ tự câu lệnh
O Có thể sử dụng tự do
P Chuyển động thứ 3 song song với trục X
Q Chuyển động thứ 3 song song với trục Y
R
Chuyển động nhanh theo trục Z hoặc chuyển động
thứ 3 song song với trục Z
S Số vòng quay trục chính
T Dụng cụ cắt

U Chuyển động thứ 2 song song với trục X
V Chuyển động thứ 2 song song với trục Y
W Chuyển động thứ 2 song song với trục Z
X Chuyển động theo hướng trục X
Y Chuyển động theo hướng trục Y
Z Chuyển động theo hướng trục Z
G00 Chạy dao nhanh tới toạ độ lập trình
G01 Nội suy đường thẳng
G02 Nội suy cung tròn theo chiều kim đồng hồ
G03
Nội suy cung tròn theo chiều ngược chiều kim đồng
hồ
G04 Thời gian gia công
G17 Chọn mặt phẳng gia công XY
G18 Chọn mặt phẳng gia công XZ
G19 Chọn mặt phẳng gia công YZ
G33 Cắt ren có bước không đổi
G34 Cắt ren có bước tăng dần
15
G35 Cắt ren có bước giảm dần
G40 Huỷ bỏ hiệu chỉnh kích thước dụng cụ cắt
G41
Hiệu chỉnh bán kính dụng cụ cắt, dao ở bên phảI
đường viền gia công
G42
Hiệu chỉnh bán kính dụng cụ cắt, dao ở bên tráI
đường viền gia công
G43 Hiệu chỉnh kích thước dụng cụ cắt, dương
G44 Hiệu chỉnh kích thước dụng cụ cắt, âm
G53 Huỷ bỏ xê dịch điểm chuẩn đã chọn

G54 G59 Xê dịch điểm chuẩn
G62 Định vị trí nhanh
G63 Sử dông 100% lượng chạy dao
G64 Thay đổi số vòng quay và lượng chạy dao
G70 Chạy dông cụ tới vị trí ra theo trục Z
G73 Chạy dao theo lập trình
G74 Chạy dao đến điểm mốc của trục thứ 1 và thứ 2
G75 Chạy dao đến điểm mốc của trục thứ 2 và thứ 4
G80 Hủy bá chu trình đã chọn
G81…G89 Các chu trình khoan
G90 Lập trình theo các kích thước tuyệt đối
G91 Lập trình theo kích thước tương đối
G92 Đặt bé nhớ
G94 Chạy dao theo mm/phút
G95 Chạy dao theo mm/vòng quay
Các thông tin chi tiết về quy ước theo các chuẩn đã có rất nhiều tài liệu
đầy đủ có thể tham khảo trong cuốn: ("Điều khiển số và công nghệ trên máy
điều khiển số" của tác giả Nguyễn Đắc Lộc và Tăng Huy).
Toàn bộ thông tin cần thiết để thực hiện một bước gia công tạo thành
một câu chương trình và một chương trình gia công bao gồm một dấu hiệu
bắt đầu chương trình(%) và dãy các câu lệnh. Người lập trình có thể lập các
chu trình riêng theo yêu cầu đặc biệt của mình và cài đặt chúng vào bộ nhớ
của hệ điều khiển. Để giảm chi phí cho việc lập trình và tăng sự thuận tiện
khi lập trình nhiều điều kiện dịch chuyển được nhóm lại thành một chu
trình.
2.3.Các dạng nội suy
16
§iÓm b¾t ®Çu
Pa Xa/Ya
§iÓm kÕt

thóc Pe
Xe/Ye
Y
X
dX/n
dY/n
dX
dY
Bộ nội suy của hệ điều khiển dùng để tính toán các điểm trung gian
trên quỹ đạo gia công, nó là cụm phần mềm để cộng liên tục các giá trị tọa
độ của điểm xuất phát.
Một đường thẳng trong
mặt phẳng X/Y giữa các điểm
đÇu Pa(Xa/Ya) và điểm cuối
Pe(Xe/Ye) được chia thành n
đoạn đường thành phần tương
ứng là n-1 điểm trung gian, nên
ta có chiều dài dịch chuyển
dX=Xe - Xa và dY=Ye - Ya
Các giá trị toạ độ của các điểm
trung gian trên quỹ đạo được tính Hình 1 : Nội suy đường thẳng
bằng cách cộng liên tục với số gia
dX/n và số gia dY/n. Trong điều khiển theo đường viền các giá trị số gia
không nhỏ hơn đơn vị đo của hệ thống do đó không nhỏ hơn bước dịch
chuyển (0.01mm hoặc 0.001 mm). Sè chia n là bội số của bước dịch chuyển
0.01mm hoặc 0.001 mm. Phép chia cho sè n sẽ đơn giản nếu bộ nội suy làm
việc trong hệ thống thập phân.
+ Dạng nội suy đường thẳng có hai lệnh theo chuẩn DIN 66025 là
G00: Dịch chuyển nhanh của dụng cụ cắt từ điểm hiện tại của nó tới
điểm tiếp theo đã được lập trình với một tốc độ chạy tối đa(chạy dao không

gia công).
G01: Dụng cụ cắt dịch chuển từ điểm hiện tại của nó tới một điểm tiếp
theo đã được lập trình trên một đường thẳng với lượng chạy dao gia công đã
được lập trình.
+Dạng nội suy đường tròn có lệnh G02 hoặc G03 làm cho đỉnh dao
dịch chuyển theo mét cung tròn
17
M
-J
+I
Ka(Xa/Ya)
Ke(Xe/Ye)
Híng ch¹y
Y
X
G02: Điều kiện dịch chuyển G02 thực hiện dịch chuyển theo mét cung
tròn theo chiều kim đồng hồ.
G03: Điều kiện dịch chuyển G03 thực hiện dịch chuyển theo mét cung
tròn theo chiều ngược với chiều kim đồng hồ.
Để mô tả rõ ràng cần bổ
sung thêm các chỉ dẫn về vị trí
tương đối của tâm vòng tròn so
với điểm bắt đầu của vòng tròn.
Những toạ độ vòng tròn so với
điểm bắt đầu cung tròn gọi là
các thông số nội suy I, J, k xác
định vị trí của tâm vòng tròn theo
từng trục.
+ I là toạ độ của tâm vòng
tròn theo hướng trục X

+ J là toạ độ của tâm vòng
tròn theo hướng trục Y
+ K là toạ độ của tâm vòng
tròn theo hướng trục Z
Ngoài ra còn có các dạng nội suy khác nh nội suy parabol, nội suy nghép
nối
2.4.Xê dịch các điểm chuẩn
Vì các chỉ dẫn toạ độ trong chương trình đều gắn lên điểm 0 của chi tiết
W nên hệ thống toạ độ cần phải xê dịch đến điểm này. Người ta chia xê dịch
điểm chuẩn thành : Xê dịch điểm chuẩn điều chỉnh và xê dịch điểm chuẩn
lập trình.
Thông qua các
chỉ dẫn G54 và
G59 mà các kích
18
N10 G54
.
.
N40 G59 X52 Y120
.
.
.
N70 G59 X124 Y40
thước xê dịch
chính xác này được
cài đặt vào bộ
nhớ hiệu chỉnh.
Xê dịch điểm
chuẩn điều chỉnh
có ý nghĩa lớn khi gia

công trên các bàn
quay.
Xê dịch điểm
chuẩn lập trình
các giá trị phải
cho biết rõ khi
lập trình. Khác
với xê dịch điểm chuẩn
điều chỉnh các giá trị xê dịch
điểm chuẩn lập trình không được
cài đặt trong bé nhớ hiệu chỉnh.
Việc sử dụng nhiều làn xê dịch
điểm chuẩn lập trình cho phép ta
lập lại chương trình gia công
ở vị trí bất kỳ trên chi tiết gia công.
Hình 3 : Xê dịch điểm chuẩn lập trình
III. Chương III Giới thiệu về ObjectARX
Đề tài sử dụng công cụ phát triển ObjectARX để khai thác tối đa dữ
liệu của bản vẽ thiết kế đồng thời xây dựng thêm một bộ phận dữ liệu mở
rộng (ExtensionDictionary ) để bổ xung vào cơ sở dữ liệu cho bản vẽ thiết
kế. Khi đó bản vẽ thiết kế ngoài phần dữ liệu cơ bản mà AutoCAD lưu trữ
sẽ mang theo phần dữ liệu mở rộng mà chương trình đã đeo vào cho các đối
19
tượng. Sau đây ta sẽ nghiên cứu các điểm cơ bản của chương trình Autocad
và lập trình ObjectARX.
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

3.1. 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 . ObjectARX được triển khai bằng ngôn ngữ C++ với
hàng trăm lớp đối tượng (khoảng 200 với ObjectARX cho AutoCAD R14),
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 (user interface) sử dụng Microsoft
Foundation Class (MFC)
Định nghĩa các đối tượng mới (custom object) ngoài các đối tượng
có sẵn trong bản vẽ AutoCAD
Tương tác với các môi tường lập trình khác

Tới nay ObjectARX đã có phiên bản ObjectARX 2.0 (cho AutoCAD
R14) và ObjectARX 2000 cho AutoCAD 2000.
3.2. Cấu trúc thư viện ObjectARX
+ Chương trình cài đặt của ObjectARX tạo trong thư mục ObjectARX
các thư mục con có các nội dung :
\INC : Các tệp tin header C++ của thư viện
\LIB : Các thư viện ở dạng nhị phân (được link vào chương
trình ARX)
20
\CLASSMAP : Sơ đồ cấu trúc thư viện ObjectARX dưới dạng bản vẽ
AutoCAD
\DOCS : Tài liệu lập trình ObjectARX (online help)
\DOCSAMPS : Các ví dụ được nêu ra trong tài liệu
\SAMPLES : Các ví dụ
\UTILS : Các tiện Ých và thư viện kèm theo
\REDISTRIB : Các tệp tin nhị phân cần phân phối (redistribute) cùng
ứng dụng ARX

\ARXLABS : Hướng dẫn lập trình ObjectARX qua từng bước (step
by step)
+ 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 : Là 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 : Là 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 : Là 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
3.3. Tạo project và đặt các setting cho ứng dụng ARX trong Visual
C++
Một ứng dụng ObjectARX thực chất là một thư viện liên kết động
(DLL), nên trong Visual C++ , phải tạo một project Win32 Dynamic-Link
Library với các setting thích hợp để có thể gọi được từ AutoCAD .
21
Các bước sau đây được thực hiện trên Visual C++ 5.0 để tạo ra ứng
dụng ObjectARX chạy trên AutoCAD R14. Với các phiên bản khác của
Visual C++ và ObjectARX quá trình thực hiện hoàn toàn tương tự.
Bước 1 :
Khởi động Visual C++ 6.0. Từ menu File chọn New và khi hộp thoại
New xuất hiện chọn vào tab Projects
Bước 2 :
Trong danh sách các loại project Visual C++ hỗ trợ, chọn Win32
Dynamic-Link Library. Trong hộp Project Name gõ tên project, ví dụ
TestApp. Nhớ chọn mục Create new workspace để tránh dùng lại workspace
hiện thời. Nhấn OK để chấp nhận và đóng hộp thoại
Khi đó một workspace mới được tạo ra cùng với một project dynamic-

link library thích hợp cho một ứng dụng ARX. Tiếp đến là các bước đặt
setting cho project.
Bước 3 :
Từ menu Project của Visual C++ chọn Settings. Trong listbox
“Settings for:" chọn Win32 Debug nếu muốn thay đổi setting cho cấu hình
Debug, và chọn Win32 Release cho cấu hình Release.
Bước 4 :
Nhấn vào tab C/C++ để thay đổi thông số của chương trình biên dịch
(compiler settings) như dưới đây. Các setting không nêu ra ở đây để mặc
định :
Category: Code Generation
Use run-time library : Multithreaded DLL (hay Debug Multithreaded
DLL cho cấu hình Debug).
Category: Preprocessor
22
Preprocessor Definitions : thêm các chỉ thị biên dịch ACRXAPP,
RADPACK vào edit box
Additional Include Directories : thêm vào đường dẫn tới thư mục chứa
các header của thư viện ObjectARX và các thư mục khác nếu cần. Ví dụ :
thêm vào "C:\Program Files\ObjectARX\Inc; C:\GeoLib"
Bước 5 :
Đặt setting cho chương trình liên kết (linker settings). Bấm vào tab
Link . Thay đổi các giá trị nh dưới đây, các setting không nêu ra nên để mặc
định :
Category: General
Output File Name - Nhập vào tên file ứng dụng sau khi dịch. Mặc định
tên file này có phần mở rộng là .DLL, nhưng với ứng dụng ObjectARX tốt
nhất để cho phần mở rộng là .ARX
Category: Input
Object/library modules : đưa vào tên các thư viện cần thiết cho ứng

dụng. Ví dụ : “rxapi.lib acad.lib acedapi.lib”
Category: Output
Base Address - gõ vào 0x1c000000
Entry-Point Symbol - DllEntryPoint@12
Nhấn OK để chấp nhận và đóng hộp thoại. Các setting cần thiết đã
được đặt để có thể phát triển ứng dụng ObjectARX .
Lập trình viên có thể bắt đầu soạn thảo chương trình, add vào project
vừa tạo và biên dịch thành ứng dụng ObjectARX sẵn sàng chạy trong
AutoCAD.
AcEd : Dùng khi đăng ký các lệnh, xử lý các message của AutoCAD ,
xử lý transaction
23
ADS : Thư 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
3.4.Cơ sở dữ liệu và đối tượng AcDbDatabase
Bản vẽ AutoCAD là một cơ sở dữ liệu (CSDL) chứa các đối tượng tạo
nên bản vẽ. Các đối tượng trong bản vẽ thuộc một trong hai loại sau :
+ Entity (thực thể) : các đối tượng có thể hiện hình học, như các đối
tượng LINE, CIRCLE, POLYLINE Người dùng AutoCAD có thể nhìn
thấy và trực tiếp thao tác trên các thực thể bằng các lệnh hiệu chỉnh.
+ Nonentity (phi thực thể) : các đối tượng còn lại, như đối tượng kiểu
đường (linetype), kiểu chữ (text style) hay líp (layer) Các đối tượng này
thường phục vụ việc tổ chức bản vẽ, phục vụ quá trình thiết kế, hay đơn
giản chỉ là nơi chứa dữ liệu (ví dụ như dictionary) cho AutoCAD và các
chương trình ứng dụng chạy trên AutoCAD.
Đối tượng AcDbDatabase
Trong ObjectARX , cơ sở dữ liệu bản vẽ được biểu diễn bằng đối
tượng thuộc lớp AcDbDatabase (tệp tin header DBMAIN.H) . Líp
AcDbDatabase có các phương thức để đọc, ghi bản vẽ, truy cập các biến
trạng thái, các bảng ký hiệu, các từ điển và thực hiện các thao tác khác liên

quan đến cơ sở dữ liệu.
Để truy cập một bản vẽ AutoCAD , khai báo một biến kiểu con trỏ tới
đối tượng AcDbDatabase, cấp phát bộ nhớ và gọi hàm readDwgFile()
truyền vào tên file bản vẽ để đọc cơ sở dữ liệu bản vẽ :
AcDbDatabase * pDatabase = new AcDbDatabase;
pDatabase->readDwgFile(“thu.dwg”);
// truy cập cơ sở dữ liệu
24
delete pDatabase;

Hay có thể dùng hàm acdbCurDwg() để lấy con trỏ tới bản vẽ hiện thời
đang được mở trong AutoCAD :
AcDbDatabase * pDatabase = acdbCurDwg();
Để ghi lại những thay đổi trong cơ sở dữ liệu bản vẽ , có thể dùng
phương thức :
Acad::ErrorStatus save() ;
hay
Acad::ErrorStatus saveAs(const char* fileName) ;
để ghi lại dưới một tên khác.
Container và iterator
Trong cơ sở dữ liệu AutoCAD các bảng, trừ bảng biến trạng thái, được
biểu diễn bằng các đối tượng container (thùng chứa,). Ngoài ra một số đối
tượng phức hợp (complex entity) cũng có thể được coi là các container. Để
truy cập tới các phần tử của container, thư viện ObjectARX sử dụng các
iterator.
Mét iterator I của container C, là một đối tượng chứa một tham chiếu
pC tới đối tượng container C và chứa một tham chiếu pE tới phần tử nhất
định của container. Ban đầu iterator pE trỏ tới phần tử đầu tiên của C, sau
đó sử dụng các phương thức của lớp iterator (ví dụ step(), seek() ) , pE có
thể lần lượt trỏ tới các phần tử khác của C. Đồng thời có thể sử dụng số

lượng tuỳ ý các iterator trên một container, nên việc truy xuất các phần tử
25

×