Tải bản đầy đủ (.pdf) (133 trang)

Đồ Án Tính Toán Trực Tiếp Quỹ Đạo Chạy Dao CNC 5 Trục Trên Các Mặt Cong Phức Tạp

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 (2.64 MB, 133 trang )

bảng các từ viết tắt
- NC (Numerical Control): Điều khiển số.
- CNC (Computer Numerical Control): Máy gia công điều khiển số có sự
trợ giúp của máy tính trong việc vận hành và lập trình gia công.
- CL (Cutter Location) là một tập hợp các bộ giá trị tọa độ X, Y, Z của vị
trí mũi dao qui ớc, và các cosin chỉ phơng I, J, K của véc tơ trục dụng cụ
trong hệ tọa độ phôi.
- CC (Cutter Contact) điểm tiếp xúc của dao cụ với bề mặt gia công.
- CAD (Computer Aided Design): Thiết kế với sự trợ giúp của máy tính.
- CAM (Computer Aided Manufacturing): Lĩnh vực sử dụng máy tính để
tạo chơng trình điều khiển hệ thống sản xuất, kể cả trực tiếp điều khiển
các thiết bị, hệ thống đảm bảo vật t, kỹ thuật.

1


mục lục
lời nói đầu .............................................................................4
chơng 1. tổng quan về tính toán quỹ đạo gia
công trên mặt cong........................................................6
1.1. Mở đầu................................................................................................ 6
1.2. Phơng pháp đẳng nhấp nhô bề mặt................................................... 7
1.3. Phơng pháp đẳng phẳng ................................................................... 7
1.4. Phơng pháp đẳng tham số................................................................. 9

chơng 2. tính toán quỹ đạo chạy dao theo
phơng pháp đẳng phẳng ...........................................15
2.1. Mở đầu.............................................................................................. 15
2.1.1. Tìm hiểu mô hình CAD dạng lới tam giác.............................. 16
2.1.2. Giao tiếp giữa Visual Basic với Excel....................................... 18
2.1.3. Giao tiếp giữa Visual Basic với AutoCAD................................ 19


2.2. Thuật toán tính toán và mô phỏng quỹ đạo chạy dao trên mặt STL 22
2.2.1. Giao tuyến của các mặt phẳng song song với mặt lới STL ..... 22
2.2.2. Sắp xếp các đoạn giao tuyến theo thứ tự liên tiếp trên một giao
tuyến .................................................................................................... 30
2.2.3. Offset các giao tuyến để sinh ra đờng CL............................... 33
2.2.4. Xử lý hiện tợng chồng chéo (Overlap) trên đờng offset ....... 38
2.2.5. Xử lý hiện tợng đứt quãng (Gap) trên đờng offset ................ 43
2.2.6. Tính các điểm CL trên đờng offset ......................................... 44
2.2.7. Xuất G code............................................................................... 46
2.2.8. Mô phỏng quỹ đạo chạy dao ..................................................... 47

chơng 3. Tính toán quỹ đạo chạy dao theo
phơng pháp đẳng tham số .......................................48

2


3.1. Tìm hiểu mặt cong Bezier ................................................................ 48
3.1.1. Mặt cong bezier và ứng dụng của nó trong thực tiễn ................ 48
3.1.2. Phơng trình toán học của đờng và mặt Bezier....................... 48
a)

Phơng trình toán học của đờng Bezier ................................ 48

b)

Phơng trình toán học của đờng Bezier hữu tỉ...................... 50

d) Đờng và mặt cong tự do tổng quát............................................ 53
3.2. Sử dụng Visual Basic viết chơng trình hiển thị mặt cong Bezier ... 56

3.2.1. Thuật toán xây dựng các điểm CC của mặt cong...................... 56
a)

Cơ sở lý thuyết ........................................................................ 56

b)Thuật toán xây dựng mặt cong tự do tổng quát ........................... 58
3.2.3. Mô phỏng hiển thị mặt cong gia công....................................... 63
3.3 Tính các điểm CL .............................................................................. 64
3.3.1. Thuật toán tính toán các điểm CL ............................................. 64
3.3.2. Thiết lập các đờng chạy dao từ các điểm CL, mô phỏng trên
AutoCAD............................................................................................. 65
3.4 Xác định các mã lệnh G .................................................................... 66

File G code thu đợc có dạng: ..................................................68
chơng 4. gia công mẫu ...............................................69
4.1. Gia công mẫu sử dụng phơng pháp đẳng phẳng ............................ 69
4.2. Gia công mẫu sử dụng phơng pháp đẳng tham số.......................... 71

kết luận ................................................................................74
Ti liệu tham khảo ........................................................75
phụ lục ...................................................................................76
Phụ luc 1. Chơng trình tính toán quỹ đạo chạy dao theo phơng pháp
đẳng phẳng .............................................................................................. 76
Phụ lục 2. Chơng trình tính toán quỹ đạo chạy dao theo phơng pháp
đẳng tham số.......................................................................................... 117

3


lời nói đầu

Ngày nay khoa học công nghệ trong lĩnh vực sản xuất cơ khí phát
triển rất nhanh với nhiều tiến bộ. Đặc biệt với sự ra đời của những trung tâm
gia công CNC đã đa năng suất và chất lợng sản xuất cơ khí đợc nâng lên
rất cao. Các trung tâm CNC đã trở thành một phần tất yếu của hệ thống sản
xuất cơ khí hiện đại. Các nhà máy, phân xởng sản xuất đều phải dần dần
trang bị cho mình những máy CNC để đáp ứng yêu cầu về năng suất và chất
lợng sản xuất. Đi cùng với hệ thống CNC là các phần mềm CAD/CAM.
Sản phẩm đợc thiết kế, tính toán và phân tích trên các module CAD, sau
đó CAM lựa chọn công cụ tính toán đờng chạy dao và các thông số công
nghệ cho sản xuất. Tuy nhiên những phần mềm CAM đã đợc nhà sản xuất
đóng gói, chúng là những hộp đen mà ta không thể can thiệp trực tiếp vào
chơng trình. Đặc biệt là khi gia công các mặt cong phức tạp ta sẽ không
thể kiểm soát đợc sai số do phần mềm gây ra. Một vấn đề đặt ra là phải
đa ra một phơng pháp tính toán trực tiếp đờng chạy dao khi gia công
những mặt cong phức tạp này.
Đồ án Tính toán trực tiếp quỹ đạo chạy dao CNC 5 trục trên
các mặt cong phức tạp nhằm sinh ra đợc đờng chạy dao CNC 5 trục sử
dụng cho gia công các mặt cong phức tạp. Nội dung đồ án gồm 4 chơng:
Chơng 1. Tổng quan về tính toán quỹ đạo gia công trên mặt cong.
Do học viên Chu Ngọc Tùng và Bùi Bách Tuấn Anh thực hiện.
Chơng 2. Tính toán quỹ đạo chạy dao theo phơng pháp đẳng
phẳng. Do học viên Chu Ngọc Tùng thực hiện.
Chơng 3. Tính toán quỹ đạo chạy dao theo phơng pháp đẳng tham
số. Do học viên Bùi Bách Tuấn Anh thực hiện.

4


Chơng 4. Gia công mẫu. Do học viên Chu Ngọc Tùng và Bùi Bách
Tuấn Anh thực hiện.

Trong quá trình làm đồ án này mặc dù đã hết sức cố gắng nhng do
hạn chế về kiến thức và thời gian nên sẽ không tránh đợc những thiết sót.
Chúng em rất mong đợc sự góp ý, bổ xung, đóng góp ý kiến của thầy cô
và bạn đọc để đồ án hoàn thiện hơn. Chúng em xin trân thành cảm ơn Thạc
sỹ Vơng Xuân Hải Nghiên cứu sinh thuộc bộ môn Cơ điện tử và chế tạo
máy đặc biệt và các thầy cô trong bộ môn Cơ điện tử và chế tạo máy đặc
biệt - Khoa Hàng không vũ trụ đã tân tình giúp đỡ, chỉ bảo, tạo điều kiện
trong suốt thời gian qua để chúng em có thể hoàn thành đồ án này.
Hà Nội, Ngày ..tháng .. Năm 2009
Học viên thực hiện
Chu Ngọc Tùng
Bùi Bách Tuấn Anh

5


chơng 1. tổng quan về tính toán quỹ đạo gia
công trên mặt cong
1.1. Mở đầu
Tính toán đờng chạy dao là một phần quan trọng của quá trình lập
và kiểm tra chơng trình NC. Đờng chạy dao có ảnh hởng lớn tới độ
chính xác của bề mặt gia công, thời gian gia công, lực cắt và tuổi thọ của
dao. Do đó nó ảnh hởng tới năng suất và chất lợng của quá trình sản xuất.
Cái chúng ta cần đó là một tập hợp dữ liệu của dao, bao gồm vị trí của mũi
dao và hớng của trục dao. Đờng chạy dao phải đảm bảo sao cho số lỗi
của chơng trình sinh ra khi chạy là nhỏ hơn giá trị cho phép, thời gian gia
công là nhỏ nhất, tốc độ cắt là lớn nhất và lực cắt phải nằm trong giá trị cho
phép. Khi tính toán đờng chạy dao phải chú ý các yếu tố sau:
+ Sai số của bề mặt gia công phải nằm trong giới hạn cho phép.
+ Đặc tính hình học của mặt gia công.

+ Đặc tính hình học của mặt cắt.
+ Sự va chạm giữa dao và bề mặt gia công.
+ Hớng của trục dao.
+ Tốc độ cắt.
+ Tuổi thọ dao.
Có nhiều phơng pháp đã đợc đa ra để tính toán đờng chạy dao
nhng phổ biến là các phơng pháp nh đẳng phẳng, đẳng tham số và đẳng
nhấp nhô bề mặt. Trong giới hạn của đồ án này chúng em đã tìm hiểu và
đa ra thuật toán để tính toán đờng chạy dao theo phơng pháp đẳng
phẳng và đẳng tham số.

6


1.2. Phơng pháp đẳng nhấp nhô bề mặt
Phơng pháp đẳng nhấp nhô bề mặt là một trong những phơng pháp
sinh ra đờng chạy dao CNC. Đờng chạy dao đẳng nhấp nhô bề mặt giữ
cho chiều cao của nhấp nhô bề mặt không đổi theo suốt chiều ngang bề mặt
gia công. Việc tính toán sinh ra đờng chạy dao đẳng nhấp nhô bề mặt cho
CNC 5 trục phức tạp hơn nhiều so với máy 3 trục, bởi vì có nhiều loại dao
đợc sử dụng và hớng của dao thay đổi trong suốt quá trình gia công.
1.3. Phơng pháp đẳng phẳng
Đờng chạy dao đẳng phẳng có thể đợc định nghĩa là các đờng
cong giao tuyến giữa bề mặt chi tiết và tập hợp các mặt phẳng song song.
Khoảng cách giữa các mặt phẳng cắt liên tiếp đợc tính toán theo chiều cao
cho phép của các nhấp nhô bề mặt. Phơng pháp này có khả năng sinh ra
đờng chạy dao trên nhiều loại mô hình khác nhau của chi tiết nh là mô
hình dạng mặt tham số, mô hình dạng solid, mô hình dạng mặt implicit và
mô hình dạng mặt STL (mô hình lới tam giác).
Năm 1985 ông Bobrow đã trình bày một ý tởng tính toán đờng

chạy dao đẳng phẳng. ý tởng này thực hiện tính toán đờng chạy dao trên
mô hình dạng solid. Đầu tiên thuật toán sẽ cắt mô hình bằng một mặt
phẳng, đờng cong giao tuyến giữa mặt phẳng với bề mặt của chi tiết sẽ
đợc tạo ra. Theo một hớng cắt nhất định, thuật toán sẽ tạo ra các đờng
giao tuyến liên tiếp từ bên này sang bên kia của bề mặt chi tiết; sau đó mặt
phẳng cắt sẽ đợc offset sang mặt phẳng liền kề. Quá trình này đợc lặp lại
cho đến khi mặt cắt cuối cùng đợc xác định. Các đờng giao tuyến này
chính là đờng CC của dao.
Một phơng pháp tính toán đờng chạy dao đẳng phẳng trên mô hình
dạng bề mặt tham số đã đợc Lartigue giới thiệu vào năm 2001. Trong
phơng pháp này thì ông đã thực hiện tính toán cho quá trình gia công sử
dụng dao phay đầu cầu. Khác với ý tởng của Bobrow đã nêu ra năm 1985,

7


Lartigue định nghĩa đờng chạy dao là tập hợp các đờng cong giao tuyến
giữa offset của bề mặt chi tiết với mặt phẳng cắt. Khoảng cách offset bằng
bán kính của dao. ý tởng này nội suy các giao điểm bằng một đờng cong
B-spline bậc 3. Đờng cong này chính là đờng chạy dao cần tính.Trong
phơng pháp này khoảng cách giữa các đờng chạy dao đợc tính toán sao
cho chiều cao nhấp nhô bề mặt lớn nhất thoả mãn chiều cao cho phép. Đặc
biệt nếu sử dụng mặt cong NURBS sẽ có sai số tích luỹ đáng kể, nguyên
nhân do quá trình offset bề mặt; quá trình cắt giữa mặt phẳng với bề mặt chi
tiết và do quá trình xử lý các điểm CC.
Vào năm 2002 Tam đã đa ra cách tính toán đờng chạy dao trực
tiếp trên mô hình dạng bề mặt implicit. Đờng chạy dao trực tiếp đợc tính
toán dựa theo tốc độ trục chính và chiều cao của nhấp nhô bề mặt lớn nhất
cho phép.
Để sinh ra đờng chạy dao trên mô hình dạng bề mặt lới tam giác

thì phơng pháp đẳng phẳng cũng đợc sử dụng. Ví dụ nh năm 2002 Xu
đã sử dụng các mặt phẳng cắt để cắt mặt lới và kết quả tạo ra các đoạn
giao tuyến giữa mặt phẳng cắt với mặt lới của chi tiết. Sau đó các đoạn
giao tuyến này đợc xử lý theo vị trí và hớng của dao.
Hơn nữa, Jun cũng đã trình bày sự nghiên cứu một vấn đề về đờng
chạy dao trên mô hình dạng bề mặt lới. Trong cách tiếp cận này, Các đoạn
đờng cong trên mặt cắt đợc xử lý để sinh ra đờng chạy dao. Thuật toán
này đa ra đờng CL có dạng của đờng cong Bezier hữu tỉ bậc 2. Trong
phơng pháp cắt, một dãy các mặt phẳng song song sẽ cắt phần offset của
bề mặt chi tiết. Kết quả là phần offset sẽ đợc cắt bởi lần lợt từng mặt cắt.
Các đoạn giao tuyến sẽ đợc lu lại riêng theo từng mặt phẳng tơng ứng.
Sự giao nhau giữa một mặt phẳng với một tam giác lới có thể đợc xác
định dễ dàng từ 2 giao điểm của mặt phẳng với các cạnh của tam giác. Tập
hợp những đoạn thẳng giao tuyến này đợc gọi là đờng CL.

8


1.4. Phơng pháp đẳng tham số
Đờng chạy dao của máy 5 trục (CL tool path) giống nh một đờng
cong đi qua những điểm CL (hình 1.1). Các điểm CL đợc tính toán theo
điểm CC, vec tơ pháp tuyến đơn vị của bề mặt, kích thớc của dao cắt, độ
nghiêng của dao cắt. Ngoài ra còn có cách tính đờng chạy dao theo
phơng pháp không truyền thống đó là phơng pháp phi tuyến.

Hình 1.1: Đờng chạy dao
Để dẫn hớng mũi dao giữa hai điểm CL cho trớc ta phải dịch tâm
quay của dao đồng thời dịch chuyển tọa độ của phôi gia công. Vì vậy mũi
dao di chuyển trong hệ tọa độ của chi tiết gia công theo một quỹ đạo phi
tuyến.

Trên thực tế nhiều phơng pháp tính toán đờng chạy dao đã đợc
đa ra nhng phơng pháp đẳng tham số vẫn đợc sử dụng nhiều.
Đờng chạy dao theo phơng pháp đẳng tham số các đờng cong
đợc định nghĩa nh tập hợp của các đoạn thẳng trên mặt tham số S(u, v),
tơng ứng với tập hợp của các hằng số u, v. Chú ý, mặt S(u, v) có thể hiểu
nh một ánh xạ r(u, v) từ miền tham số P(u, v) R2 tới không gian 3
chiều W(x, y, z) E3 . Trong thực tế sự liên tiếp của các điểm CC có thể
theo phơng hớng của u hoặc v, sự lựa chọn này phụ thuộc vào hình dạng

9


của mặt gia công và loại máy gia công. Dao cắt di chuyển hoặc tiến lên
phía trớc hoặc ngợc lại theo hớng đã lựa chọn. Hình 1.2 minh họa
phơng pháp đẳng tham số, các đờng cong r(u, v1) và r(u, v2), ở đây v1 và
v2 là hai hằng số tơng ứng. Sự dịch chuyển của các điểm CC đợc chọn
theo phơng của u, nh vậy tập hợp {r(u, v1), r(u, v2), r(u, v3),} tạo lên
một đờng CC hoàn chỉnh. Ngợc lại, nếu các điểm CC đợc chọn theo
phơng v thì tập hợp {r(u1, v), r(u2, v), r(u3, v),} cũng sẽ tạo lên một
đờng CC hoàn chỉnh.
z

r

v

r(u,v1)
r(u,v2)

S(u,v)


P

v2
v1
u

y

x

Hình 1.2: Phơng pháp đẳng tham số
Thông thờng khi sử dụng phơng pháp này, phơng u đợc chọn
làm phơng của CC.
Khi sử dụng phơng pháp này phải giải quyết hai vấn đề :
Tính toán các bớc tiến ( u ) trong hớng của u để định vị các
điểm CC
Tính toán các bớc nhảy ( v ) để định vị các đờng CC kế bên
tiếp theo từ một đờng có trớc.
Vấn đề đầu tiên để định vị chính xác các điểm CC liên tiếp sao cho
thỏa mẵn độ lệch giữa hai điểm CC kề bên (phơng trình 1.2). Vấn đề thứ
hai để xác định khoảng cách giữa các đờg CC cạnh nhau. Bớc tiến của

10


tham số đợc tính toán sao cho chiều cao của hai đờng CC kề bên thỏa
mãn công thức 1.1
Bớc tiến theo phơng u
Để xác định bớc tiến giữa hai điểm CC liên tiếp ta sử dụng độ lệch

trung bình avg, điểm CC tiếp theo sẽ luôn là điểm giữa của bề mặt hình chữ
nhật tiếp theo, theo phơng u. Nếu giá trị tính toán của avg là nhỏ hơn giới
hạn đã cho 0 thì điểm CC kế tiếp sẽ là điểm giữa của hình chữ nhật tiếp
theo, nếu không thì điểm tiếp theo sẽ đợc thay đổi tới trung điểm của sự
chỉnh tâm, sau đó kiểm tra lại độ lệch trung bình. Sự xác định độ lệch trung
bình bao gồm sự tính toán khoảng cách của một điểm bề mặt giữa hai điểm
liên tiếp CC1 và CC2 (xem hình 1.3). Số lợng điểm giữa hai CC do ngời
dùng nhập vào. Độ lệch trung bình đợc tính toán nhờ công thức sau:
avg =

d1 + d 2 + ... + d n
n

(1.1)

ở đây di là khoảng cách từ điểm thứ i từ hai đờng CC1 CC2 và n là
số đoạn chia. Khoảng cách di đợc tính gần đúng

( xi x1 ) + ( yi y1 ) + ( zi z1 )
di =
( x2 x1 )( xi x1 ) + ( y2 y1 )( yi y1 ) + ( z2 z1 )( zi z1 )
2
2
2
( x2 x1 ) + ( y2 y1 ) + ( z2 z1 )
2

2

2


(1.2)

ở đây (xi, yi, zi) là tọa độ của điểm thành phần trên bề mặt, (x1, y1, z1)
và (x2, y2, z2) là tọa độ của CC1 và CC2

d1

d2

CC1

CC2
u
Hình 1.3: Tính độ lệch trung bình

11


Mặt khác, Ta có thể xác định bớc tiến bằng cách sử dụng độ lệch
cực đại max thay vì sử dụng độ lệch trung bình avg , vị trí của điểm CC_2
đợc xác định bởi sự kiểm tra rằng buộc max 0
Quan sát hình 1.3, véc tơ c đợc vẽ từ r (u = 0, vi ) tới r (u = 1, vi ) và độ lệch lớn
nhất max = d max (u ) đợc xác định. Nếu độ lệch lớn nhất lớn hơn 0 thì các
điểm cuối r (u = 0, vi ) và r (umax , vi ) đợc sử dụng để kiểm tra độ lệch. Đờng
cong đợc chia nhỏ một cách đệ quy cho tới khi độ lệch cực đại max là sai
lệch ít nhất so với giới hạn 0 .
r
u= 1


r (u ,v i)

d

c

u=0

Hình 1.4: Độ lệch cực đại
Để tính toán max ta sử dụng đờng cong tham số r (u , vi ) là một đờng
cong Bezier bậc ba và giải quyết các điều kiện sau một cách đồng thời.
cd = 0
T
r d = 0
T

r d < 0

(1.3)

ở đây: c = r (1, vi ) r (0, vi )
Hai điều kiện đầu tiên xác định độ lệch tối đa vecto d(u ) là vuông
góc với vecto c và r T ; Ngoài ra điều kiện cuối cùng sẽ cho ta một độ lệch
lớn nhất đúng giá trị. Ta tính xấp xỉ của đờng cong r(u, vi) sử dụng bốn
điểm điều khiển:
r (0, vi ) , r (0, vi ) +

r (0, vi )
r (1, vi )
, r (1, vi ) +

và r (1, vi ) .
3
3

12


Bớc nhảy theo phơng v
Quá trình tính toán v giữa hai điểm CC liên tiếp đợc tính sao cho
chiều cao của khoảng nhấp nhô trên toàn bộ bề mặt gia công là nhỏ hơn
giới hạn đã cho h0. Từ những hằng số vi của đờng CC r (u , vi ) , giá trị của
tham số tiếp theo vi +1 sinh ra đờng CC r (u, vi +1 ) theo phơng trình:

vi +1 = vi + v
ở đây v =

(1.4)

l
, l là khoảng cách giữa các đờng chạy dao, và Sv
Sv

chiều dài của một đờng thuộc mặt đang tính tại một giá trị uc , chính là
chiều dài của đờng cong r (uc , v) . Từ đó Sv biến thiên theo sự thay đổi
của uc , chiều dài của cung Sv đợc tính tại uc=0-> 0.25->0.5-> 0.75 và 1
tơng ứng. Giá trị lớn nhất đợc tính sao cho giá trị đạt đợc của sai số nằm
trong giới hạn nhỏ nhất. Từ giới hạn của chiều cao nhấp nhô ho và bán kính
của dao cắt R, khoảng cách giũa các đờng chạy dao l đợc tính:

l = 2(h0 (2 R h0 ))


1
2

(1.5)

Tóm lại, sử dụng phơng pháp đẳng tham số hoàn toàn đơn giản và
thích hợp trong thực tế vì sử dụng dễ dàng. Tuy nhiên phơng pháp có thể
gây ra sự chồng chéo trong gia công giữa hai đờng chạy dao liên tiếp. Số
lợng các chồng chéo này phụ thuộc vào hình học của bề mặt gia công. Ví
dụ, một mặt đợc ghép bởi bốn đờng cong đợc gia công trên máy. Việc
quy định chiều dài của đờng cong đỉnh là ít hơn chiều dài của đờng cong
đáy, và hớng của dao cắt là hớng từ đáy lên đỉnh.
Đồng thời, nếu đờng chạy dao đợc tính toán cho các bề mặt bậc
cao, độ lệch trung bình giữa các điểm CC liên tiếp có thể khác rất nhiều từ

13


trị số cực đại thực sự. Độ lệch cực đại đợc tính toán cũng có thể khác rất
nhiều từ trị số cực đại thực sự khi một đờng cong CC xấp xỉ nh một
đờng cong Bezier bậc ba chỉ với bốn điểm điều khiển, vì thế sự tính toán
của bớc tiến gây ra lỗi không phát hiện đợc.

14


chơng 2. tính toán quỹ đạo chạy dao theo
phơng pháp đẳng phẳng
2.1. Mở đầu

- Phơng pháp đẳng phẳng là một trong những phơng pháp tính toán
quỹ đạo chạy dao hiệu quả và đã đợc sử dụng trong nhiều phần mềm
CAM. Phơng pháp này có thể sử dụng cho nhiều dạng mô hình bề mặt
khác nhau nh mô hình dạng solid, dạng mặt tham số, dạng mặt implicit và
mặt STL (lới tam giác). Đặc biệt là với mô hình dạng mặt STL thì phơng
pháp này thể hiện đợc hết những u điểm của nó nh:
+ Quá trình tính toán không quá phức tạp.
+ Có độ chính xác cao.
+ Sai số tích luỹ của quá trình tính toán nhỏ.
Chính vì vậy trong giới hạn của đồ án tôi thực hiện tính toán đờng
chạy dao đẳng phẳng trên mô hình dạng bề mặt STL.
- Hiện nay có rất nhiều ngôn ngữ lập trình có thể đợc sử dụng để
tính toán đờng chạy dao. Trong đó Visual Basic là một ngôn ngữ lập trình
rất mạnh. Ngời lập trình có thể khai thác khả năng tự động của Visual
Basic để viết chơng trình một cách nhanh chóng và thuận tiện. Hơn nữa
Visual Basic có giao diện khá thân thiện với ngời sử dụng. Từ những u
điểm trên tôi đã sử dụng ngôn ngữ Visual Basic để lập trình tính toán đờng
chạy dao.
- Quá trình thực hiện tính toán đờng chạy dao trên bề mặt lới tam
giác chúng ta phải xử lý một lợng dữ liệu khá lớn. Đó là toạ độ đỉnh của
các tam giác lới, toạ độ của các giao điểm, của các điểm trên đờng
offset Dữ liệu này có cấu trúc dạng bảng. Vì vậy để thuận tiện ta có thể
sử dụng các bảng tính của Excel để ghi và đọc dữ liệu của các quá trình tính
toán.

15


- Để lập trình tính toán đờng chạy dao ta thực hiện qua nhiều bớc
xử lý trung gian. Kết quả dữ liệu cuối cùng của đờng chạy dao thu đợc có

chính xác hay không là phụ thuộc vào các kết quả tính toán trung gian. Sau
mỗi bớc trung gian các kết quả tính toán đều đợc ghi lại vào bảng tính
của Excel. Để thực hiện nội dung nghiên cứu của đồ án này tôi sử dụng
giao diện của AutoCAD để hiển thị và kiểm tra tính chính xác của mặt gia
công, các kết quả trung gian, dữ liệu đờng chạy dao và mô phỏng đờng
chạy dao.
2.1.1. Tìm hiểu mô hình CAD dạng lới tam giác
- Các bề mặt lới tam giác là các mô hình chi tiết có định dạng file
STL. Nó là sản phẩm đợc số hoá của công nghệ tái tạo hay đợc gọi là
công nghệ ngợc. Các bề mặt chi tiết có thể đợc số hoá nhanh chóng nhờ
sự trợ giúp của máy tính. Bằng cách sử dụng các máy đo toạ độ 3D và phần
mềm thiết kế chuyên dụng. Máy đo toạ độ có thể là dạng tiếp xúc (máy
CMM) hoặc không tiếp xúc (máy scanner laser). Dữ liệu thu đợc sau khi
đo là tập hợp các điểm (đám mây điểm) của chi tiết. Các gói phần mềm
chuyên dụng đợc sử dụng để xử lý đám mây điểm. Đám mây điểm đợc
đa giác hoá để hình thành bề mặt vật thể. Sau đó dữ liệu đợc chuyển sang
file định dạng .STL.

Hình 2.1: Ví dụ về mô hình dạng lới STL

16


- Cấu trúc của file STL chứa dữ liệu của tất cả các tam giác trên bề
mặt lới chi tiết. Nó bao gồm toạ độ 3 đỉnh của các tam giác lới và toạ độ
của vector pháp tuyến của bề mặt tam giác đó. Dữ liệu của các tam giác có
vị trí ngẫu nhiên trên file STL mà không theo một trật tự nhất định. Ví dụ
một mô hình lới STL hình 2.2 và cấu trúc file của nó nh hình 2.3.

Hình 2.2: Mô hình mặt cong dạng STL


Tên của
chi tiết

Toạ độ của vector
pháp tuyến của mặt
tam giác

Toạ độ 3
đỉnh của
tam giác
(x,y,z)

Hình 2.3: Cấu trúc của file STL

17


2.1.2. Giao tiếp giữa Visual Basic với Excel
- Nội dung nghiên cứu của đồ án đã sử dụng ngôn ngữ lập trình
Visual Basic để thực hiện các bớc tính toán đờng chạy dao. Các quá trình
tính toán đều phải đọc và ghi dữ liệu lên bảng tính của file Excel. Do đó ta
phải tạo liên kết giữa chơng trình Visual Basic và Excel. Sử dụng các hàm
sau để liên kết:
+ Để kết nối với Excel sử dụng hàm:
Ketnoi_Excel(ByVal XlsFile, ByVal XlsSheet)
+ Để huỷ kết nối với Excel sử dụng hàm:
HuyKetnoi_Excel()
+ Để đọc dữ liệu từ một ô của bảng tính sử dụng hàm:
GetExcel(ByVal i&, ByVal j&) As Double

+ Để ghi dữ liệu vào một ô của bảng tính sử dụng hàm:
PutExcel(ByVal i&, ByVal j&, ByVal data As Double)
+ Để mở file Excel:
OpenExel()
( Chi tiết của các hàm trình bày trong phụ lục )
- Trớc khi thực hiện các bớc tính toán ta phải nhập toàn bộ dữ liệu
của bề mặt cần gia công vào file Excel. Các bớc nhập nh sau: Trên menu
chính ta chọn Data -> Import External Data -> Import Data.... Khi hộp thoại
Select Data Source xuất hiện thì ta chọn file có định dạng STL của bề mặt
gia công để import. Ví dụ khi nhập dữ liệu của mô hình bề mặt STL trong
hình 2.2 ta thu đợc kết quả nh hình 2.4.

18


Hình 2.4: Cấu trúc file Excel sau khi nhập dữ liệu từ file STL
2.1.3. Giao tiếp giữa Visual Basic với AutoCAD
- Ta sử dụng giao diện của AutoCAD để hiển thị và kiểm tra các kết
quả tính toán trung gian, dữ liệu đờng chạy dao và mô phỏng quá trình dao
chạy. Các kết quả đó đợc hiển thị từ những đối tợng cơ bản AutoCAD
nh đòng thẳng, đờng tròn Chính vì vậy ta phải tạo liên kết giữa Visual
Basic với AutoCAD bằng cách tham chiếu tới th viện AutoCAD Type
Libraly. Thực hiện nh sau:

19


Chọn References option từ Project menu, hộp thoại References
dialog xuất hiện. Trong References dialog box chọn Type libraly
AutoCAD, sau đó click OK.

- Sử dụng hàm sau để kết nối VisualBasic với AutoCAD:
Sub Ketnoi AutoCAD ()
On Error Resume Next
' Kết nối với AutoCAD:
Dim acadApp As AcadApplication
Set acadApp = GetObject(, "AutoCAD.Application.16")
If Err Then
Err.Clear
Set acadApp = CreateObject("AutoCAD.Application.16")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
' Kết nối với bản vẽ:
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
' Khai báo đối tợng đờng thẳng:
Dim lineObj As AcadLine
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
End sub.
Nếu AutoCAD đang chạy thì lệnh GetObject sẽ không sinh ra lỗi.
Ngợc lại nếu sinh ra lỗi, tức là CAD cha chạy. Khi đó lệnh CreatObject
sẽ khởi động CAD. Nếu có nhiều cửa sổ của CAD đang chạy thì chơng
trình sẽ lấy cửa sổ đầu tiên trong Windows Running Object Table

20



- Để mô phỏng kiểm tra các quá trình tính toán trên AutoCAD thì ta
sử dụng lệnh vẽ đờng thẳng:
Vẽ Line:
SetLineObject=Object.AddLine(StartPoint, EndPoint)
StartPoint

EndPoint

( 0, 0, 0 )
Hình 2.5: Đờng thẳng đợc vẽ trên AutoCAD
Bảng 2.1: Kiểu dữ liệu của đờng thẳng
Tên

Kiểu dữ liệu

Miêu tả
Mảng 3 hần tử kiểu Double là toạ độ

StartPoint

Variant

3D của điểm đầu của đờng thẳng
trong hệ toạ độ WCS
Mảng 3 hần tử kiểu Double là toạ độ

EndPoint

Variant


3D của điểm cuối của đờng thẳng
trong hệ toạ độ WCS

Chỉ với lệnh vẽ đờng thẳng ta có thể kiểm tra các quá trình tính toán
xử lý dữ liệu dã đúng theo yêu cầu hay cha, phát hiện ra lỗi sai của chơng
trình và nguyên nhân gây ra lỗi; có thể mô phỏng đờng chạy dao một cách
trực quan.

21


2.2. Thuật toán tính toán và mô phỏng quỹ đạo chạy dao trên mặt STL
2.2.1. Giao tuyến của các mặt phẳng song song với mặt lới STL
Để sinh ra các đờng giao tuyến ta sử dụng một dãy các mặt phẳng
song song cắt mô hình lới của chi tiết. Các mặt phẳng này cách đều nhau
một khoảng nhất định. đợc xác định dựa vào chiều cao nhấp nhô bề
mặt lớn nhất cho phép. Để thuận tiện cho quá trình tính toán, không mất
tính tổng quát ta chọn các mặt phẳng này song song với một trong ba mặt
phẳng của hệ trục toạ độ. Chọn các mặt phẳng cắt có dạng:

yk = y0 + k . (k=0,n)



Hình 2.6: Các mặt phẳng cắt song song
Đầu tiên ta phải xác định đợc tập hợp những mặt phẳng sử dụng để
cắt mặt lới. Số lợng các mặt phẳng cắt phải đảm bảo toàn bộ bề mặt gia
công đợc cắt. Trớc hết cần tìm mặt phẳng tơng ứng với yk nhỏ nhất và
lớn nhất. Quá trình cắt mặt lới sẽ đợc thực hiện bắt đầu từ mặt phẳng
yk = yk min . Sau đó quá trình sẽ đợc tiếp tục với những mặt cắt liền kề cho


đến khi mặt cắt tơng ứng yk = ykmax đợc thực hiện.
Ví dụ khi sử dụng mặt phẳng y = yk để cắt mặt lới nh trong hình
2.6 ta sẽ thu đợc kết quả nh sau:

22


Mặt phẳng y= yk
Giao tuyến

Hình 2.7: Giao tuyến của một mặt phẳng cắt với mặt lới STL
Nh thế quá trình cắt sẽ diễn ra liên tục từ bên này sang bên kia của
bề mặt gia công. Kết quả thu đợc là tập hợp các đờng giao tuyến của các
mặt phẳng cắt với mô hình lới của chi tiết.

Hình 2.8: Tập hợp các giao tuyến của các mặt phẳng cắt với mặt STL
Để xác định đợc mặt phẳng cắt đầu tiên và mặt phẳng cắt cuối cùng
ta phải tìm đợc điểm nằm trên mặt gia công có giá trị toạ độ y nhỏ nhất và
lớn nhất. Mặt phẳng cắt đầu tiên sẽ là yk = ymin . Mặt phẳng cắt tiếp theo sẽ

đợc xác định bằng cách offset mặt phẳng đầu tiên một khoảng bằng . Cứ
nh vậy ta tăng dần chiều sâu mặt phẳng cắt cho đến khi yk = ymax .
Giá trị toạ độ của các tam giác lới không đợc bố trí theo một quy
luật nhất định trên file dữ liệu. Chính vì vậy không thể xác định đợc ngay

23


một mặt phẳng giao tuyến sẽ cắt những tam giác lới nào của bề mặt gia

công. Với mỗi mặt phẳng cắt ta dùng thuật toán kiểm tra lần lợt tất cả các
tam giác lới trên bề mặt gia công để xác định những tam giác nào sẽ có
giao tuyến với mặt phẳng đó.
Để xác định vị trí tơng đối của các tam giác lới so với một giao
tuyến ta kiểm tra lần lợt 3 cạnh của tam giác đó có giao với mặt phẳng hay
không. Ví trí tơng đối của một mặt phẳng so với một tam giác lới có thể
có các trờng hợp nh sau:

yk

Giao tuyến chỉ đi qua 1 đỉnh tam

yk

Giao tuyến đi qua 2 cạnh tam giác

giác

yk

yk

Giao tuyến đi qua 1 đỉnh và một

Giao tuyến trùng với một cạnh của

cạnh của tam giác

tam giác


Hình 2.9: Vị trí tơng đối của một mặt phẳng cắt với một tam giác lới
Với từng mặt phẳng cắt ta phải kiểm tra lần lợt tất cả các tam giác
lới xem chúng có giao nhau không. Ví dụ với tam giác ABC và mặt

24


phẳng yk , nếu: ( y A yk )( yB yk ) < 0 thì mặt phẳng

yk sẽ cắt cạnh AB.

Tơng tự với các cạnh khác ta cũng kiểm tra nh vậy. Giá trị toạ độ của các
giao điểm sẽ đợc ghi lại.
Khi một mặt phẳng cắt có giao tuyến với tam giác lới thì toạ độ các
giao điểm sẽ đợc tính và ghi lại. Nếu mặt phẳng yk cắt tam giác ABC tại 2
điểm M và N thì toạ độ của chúng đợc xác định nh sau:

yk

Hình 2.10: Mặt phẳng

yk cắt tam giác ABC tại M và N

Toạ độ của M và N đợc tính theo:

xM =

yk y A
( xC x A ) + x A
yC y A

y M = yk

zM =

yk y A
( zC z A ) + z A
yC y A

xN =

yk y B
.( x A xB ) + xB
y A yB
y N = yk

zN =

yk y B
.( z A z B ) + z B
y A yB
25


×