Professional Documents
Culture Documents
Thuyet Minh DATN
Thuyet Minh DATN
bng cc t vit tt
- NC (Numerical Control): iu khin s.
- CNC (Computer Numerical Control): My gia cng iu khin s c s
tr gip ca my tnh trong vic vn hnh v lp trnh gia cng.
- CL (Cutter Location) l mt tp hp cc b gi tr ta X, Y, Z ca v
tr mi dao qui c, v cc cosin ch phng I, J, K ca vc t trc dng c
trong h ta phi.
- CC (Cutter Contact) im tip xc ca dao c vi b mt gia cng.
- CAD (Computer Aided Design): Thit k vi s tr gip ca my tnh.
- CAM (Computer Aided Manufacturing): Lnh vc s dng my tnh
to chng trnh iu khin h thng sn xut, k c trc tip iu khin
cc thit b, h thng m bo vt t, k thut.
2
mc lc
li ni u ............................................................................. 4
chng 1. tng quan v tnh ton qu o gia
cng trn mt cong........................................................ 6
1.1. M u................................................................................................ 6
1.2. Phng php ng nhp nh b mt................................................... 7
1.3. Phng php ng phng ................................................................... 7
1.4. Phng php ng tham s................................................................. 9
chng 2. tnh ton qu o chy dao theo
phng php ng phng ........................................... 15
2.1. M u.............................................................................................. 15
2.1.1. Tm hiu m hnh CAD dng li tam gic.............................. 16
2.1.2. Giao tip gia Visual Basic vi Excel ....................................... 18
2.1.3. Giao tip gia Visual Basic vi AutoCAD................................ 19
2.2. Thut ton tnh ton v m phng qu o chy dao trn mt STL 22
2.2.1. Giao tuyn ca cc mt phng song song vi mt li STL..... 22
2.2.2. Sp xp cc on giao tuyn theo th t lin tip trn mt giao
tuyn.................................................................................................... 30
2.2.3. Offset cc giao tuyn sinh ra ng CL............................... 33
2.2.4. X l hin tng chng cho (Overlap) trn ng offset ....... 38
2.2.5. X l hin tng t qung (Gap) trn ng offset ................ 43
2.2.6. Tnh cc im CL trn ng offset ......................................... 44
2.2.7. Xut G code............................................................................... 46
2.2.8. M phng qu o chy dao..................................................... 47
chng 3. Tnh ton qu o chy dao theo
phng php ng tham s....................................... 48
3
3.1. Tm hiu mt cong Bezier ................................................................ 48
3.1.1. Mt cong bezier v ng dng ca n trong thc tin................ 48
3.1.2. Phng trnh ton hc ca ng v mt Bezier....................... 48
a) Phng trnh ton hc ca ng Bezier ................................ 48
b) Phng trnh ton hc ca ng Bezier hu t...................... 50
d) ng v mt cong t do tng qut ............................................ 53
3.2. S dng Visual Basic vit chng trnh hin th mt cong Bezier ... 56
3.2.1. Thut ton xy dng cc im CC ca mt cong...................... 56
a) C s l thuyt ........................................................................ 56
b)Thut ton xy dng mt cong t do tng qut ........................... 58
3.2.3. M phng hin th mt cong gia cng....................................... 63
3.3 Tnh cc im CL.............................................................................. 64
3.3.1. Thut ton tnh ton cc im CL............................................. 64
3.3.2. Thit lp cc ng chy dao t cc im CL, m phng trn
AutoCAD............................................................................................. 65
3.4 Xc nh cc m lnh G.................................................................... 66
File G code thu c c dng: .................................................. 68
chng 4. gia cng mu............................................... 69
4.1. Gia cng mu s dng phng php ng phng ............................ 69
4.2. Gia cng mu s dng phng php ng tham s.......................... 71
kt lun................................................................................ 74
Ti liu tham kho ........................................................ 75
ph lc................................................................................... 76
Ph luc 1. Chng trnh tnh ton qu o chy dao theo phng php
ng phng .............................................................................................. 76
Ph lc 2. Chng trnh tnh ton qu o chy dao theo phng php
ng tham s.......................................................................................... 117
4
li ni u
Ngy nay khoa hc cng ngh trong lnh vc sn xut c kh pht
trin rt nhanh vi nhiu tin b. c bit vi s ra i ca nhng trung tm
gia cng CNC a nng sut v cht lng sn xut c kh c nng ln
rt cao. Cc trung tm CNC tr thnh mt phn tt yu ca h thng sn
xut c kh hin i. Cc nh my, phn xng sn xut u phi dn dn
trang b cho mnh nhng my CNC p ng yu cu v nng sut v cht
lng sn xut. i cng vi h thng CNC l cc phn mm CAD/CAM.
Sn phm c thit k, tnh ton v phn tch trn cc module CAD, sau
CAM la chn cng c tnh ton ng chy dao v cc thng s cng
ngh cho sn xut. Tuy nhin nhng phn mm CAM c nh sn xut
ng gi, chng l nhng hp en m ta khng th can thip trc tip vo
chng trnh. c bit l khi gia cng cc mt cong phc tp ta s khng
th kim sot c sai s do phn mm gy ra. Mt vn t ra l phi
a ra mt phng php tnh ton trc tip ng chy dao khi gia cng
nhng mt cong phc tp ny.
n Tnh ton trc tip qu o chy dao CNC 5 trc trn
cc mt cong phc tp nhm sinh ra c ng chy dao CNC 5 trc s
dng cho gia cng cc mt cong phc tp. Ni dung n gm 4 chng:
Chng 1. Tng quan v tnh ton qu o gia cng trn mt cong.
Do hc vin Chu Ngc Tng v Bi Bch Tun Anh thc hin.
Chng 2. Tnh ton qu o chy dao theo phng php ng
phng. Do hc vin Chu Ngc Tng thc hin.
Chng 3. Tnh ton qu o chy dao theo phng php ng tham
s. Do hc vin Bi Bch Tun Anh thc hin.
5
Chng 4. Gia cng mu. Do hc vin Chu Ngc Tng v Bi Bch
Tun Anh thc hin.
Trong qu trnh lm n ny mc d ht sc c gng nhng do
hn ch v kin thc v thi gian nn s khng trnh c nhng thit st.
Chng em rt mong c s gp , b xung, ng gp kin ca thy c
v bn c n hon thin hn. Chng em xin trn thnh cm n Thc
s Vng Xun Hi Nghin cu sinh thuc b mn C in t v ch to
my c bit v cc thy c trong b mn C in t v ch to my c
bit - Khoa Hng khng v tr tn tnh gip , ch bo, to iu kin
trong sut thi gian qua chng em c th hon thnh n ny.
H Ni, Ngy ..thng .. Nm 2009
Hc vin thc hin
Chu Ngc Tng
Bi Bch Tun Anh
6
chng 1. tng quan v tnh ton qu o gia
cng trn mt cong
1.1. M u
Tnh ton ng chy dao l mt phn quan trng ca qu trnh lp
v kim tra chng trnh NC. ng chy dao c nh hng ln ti
chnh xc ca b mt gia cng, thi gian gia cng, lc ct v tui th ca
dao. Do n nh hng ti nng sut v cht lng ca qu trnh sn xut.
Ci chng ta cn l mt tp hp d liu ca dao, bao gm v tr ca mi
dao v hng ca trc dao. ng chy dao phi m bo sao cho s li
ca chng trnh sinh ra khi chy l nh hn gi tr cho php, thi gian gia
cng l nh nht, tc ct l ln nht v lc ct phi nm trong gi tr cho
php. Khi tnh ton ng chy dao phi ch cc yu t sau:
+ Sai s ca b mt gia cng phi nm trong gii hn cho php.
+ c tnh hnh hc ca mt gia cng.
+ c tnh hnh hc ca mt ct.
+ S va chm gia dao v b mt gia cng.
+ Hng ca trc dao.
+ Tc ct.
+ Tui th dao.
C nhiu phng php c a ra tnh ton ng chy dao
nhng ph bin l cc phng php nh ng phng, ng tham s v ng
nhp nh b mt. Trong gii hn ca n ny chng em tm hiu v
a ra thut ton tnh ton ng chy dao theo phng php ng
phng v ng tham s.
7
1.2. Phng php ng nhp nh b mt
Phng php ng nhp nh b mt l mt trong nhng phng php
sinh ra ng chy dao CNC. ng chy dao ng nhp nh b mt gi
cho chiu cao ca nhp nh b mt khng i theo sut chiu ngang b mt
gia cng. Vic tnh ton sinh ra ng chy dao ng nhp nh b mt cho
CNC 5 trc phc tp hn nhiu so vi my 3 trc, bi v c nhiu loi dao
c s dng v hng ca dao thay i trong sut qu trnh gia cng.
1.3. Phng php ng phng
ng chy dao ng phng c th c nh ngha l cc ng
cong giao tuyn gia b mt chi tit v tp hp cc mt phng song song.
Khong cch gia cc mt phng ct lin tip c tnh ton theo chiu cao
cho php ca cc nhp nh b mt. Phng php ny c kh nng sinh ra
ng chy dao trn nhiu loi m hnh khc nhau ca chi tit nh l m
hnh dng mt tham s, m hnh dng solid, m hnh dng mt implicit v
m hnh dng mt STL (m hnh li tam gic).
Nm 1985 ng Bobrow trnh by mt tng tnh ton ng
chy dao ng phng. tng ny thc hin tnh ton ng chy dao trn
m hnh dng solid. u tin thut ton s ct m hnh bng mt mt
phng, ng cong giao tuyn gia mt phng vi b mt ca chi tit s
c to ra. Theo mt hng ct nht nh, thut ton s to ra cc ng
giao tuyn lin tip t bn ny sang bn kia ca b mt chi tit; sau mt
phng ct s c offset sang mt phng lin k. Qu trnh ny c lp li
cho n khi mt ct cui cng c xc nh. Cc ng giao tuyn ny
chnh l ng CC ca dao.
Mt phng php tnh ton ng chy dao ng phng trn m hnh
dng b mt tham s c Lartigue gii thiu vo nm 2001. Trong
phng php ny th ng thc hin tnh ton cho qu trnh gia cng s
dng dao phay u cu. Khc vi tng ca Bobrow nu ra nm 1985,
8
Lartigue nh ngha ng chy dao l tp hp cc ng cong giao tuyn
gia offset ca b mt chi tit vi mt phng ct. Khong cch offset bng
bn knh ca dao. tng ny ni suy cc giao im bng mt ng cong
B-spline bc 3. ng cong ny chnh l ng chy dao cn tnh.Trong
phng php ny khong cch gia cc ng chy dao c tnh ton sao
cho chiu cao nhp nh b mt ln nht tho mn chiu cao cho php. c
bit nu s dng mt cong NURBS s c sai s tch lu ng k, nguyn
nhn do qu trnh offset b mt; qu trnh ct gia mt phng vi b mt chi
tit v do qu trnh x l cc im CC.
Vo nm 2002 Tam a ra cch tnh ton ng chy dao trc
tip trn m hnh dng b mt implicit. ng chy dao trc tip c tnh
ton da theo tc trc chnh v chiu cao ca nhp nh b mt ln nht
cho php.
sinh ra ng chy dao trn m hnh dng b mt li tam gic
th phng php ng phng cng c s dng. V d nh nm 2002 Xu
s dng cc mt phng ct ct mt li v kt qu to ra cc on
giao tuyn gia mt phng ct vi mt li ca chi tit. Sau cc on
giao tuyn ny c x l theo v tr v hng ca dao.
Hn na, Jun cng trnh by s nghin cu mt vn v ng
chy dao trn m hnh dng b mt li. Trong cch tip cn ny, Cc on
ng cong trn mt ct c x l sinh ra ng chy dao. Thut ton
ny a ra ng CL c dng ca ng cong Bezier hu t bc 2. Trong
phng php ct, mt dy cc mt phng song song s ct phn offset ca
b mt chi tit. Kt qu l phn offset s c ct bi ln lt tng mt ct.
Cc on giao tuyn s c lu li ring theo tng mt phng tng ng.
S giao nhau gia mt mt phng vi mt tam gic li c th c xc
nh d dng t 2 giao im ca mt phng vi cc cnh ca tam gic. Tp
hp nhng on thng giao tuyn ny c gi l ng CL.
9
1.4. Phng php ng tham s
ng chy dao ca my 5 trc (CL tool path) ging nh mt ng
cong i qua nhng im CL (hnh 1.1). Cc im CL c tnh ton theo
im CC, vec t php tuyn n v ca b mt, kch thc ca dao ct,
nghing ca dao ct. Ngoi ra cn c cch tnh ng chy dao theo
phng php khng truyn thng l phng php phi tuyn.
Hnh 1.1: ng chy dao
dn hng mi dao gia hai im CL cho trc ta phi dch tm
quay ca dao ng thi dch chuyn ta ca phi gia cng. V vy mi
dao di chuyn trong h ta ca chi tit gia cng theo mt qu o phi
tuyn.
Trn thc t nhiu phng php tnh ton ng chy dao c
a ra nhng phng php ng tham s vn c s dng nhiu.
ng chy dao theo phng php ng tham s cc ng cong
c nh ngha nh tp hp ca cc on thng trn mt tham s S(u, v),
tng ng vi tp hp ca cc hng s u, v. Ch , mt S(u, v) c th hiu
nh mt nh x r(u, v) t min tham s P(u, v) R
2
ti khng gian 3
chiu W(x, y, z) E
3
. Trong thc t s lin tip ca cc im CC c th
theo phng hng ca u hoc v, s la chn ny ph thuc vo hnh dng
10
ca mt gia cng v loi my gia cng. Dao ct di chuyn hoc tin ln
pha trc hoc ngc li theo hng la chn. Hnh 1.2 minh ha
phng php ng tham s, cc ng cong r(u, v
1
) v r(u, v
2
), y v
1
v
v
2
l hai hng s tng ng. S dch chuyn ca cc im CC c chn
theo phng ca u, nh vy tp hp {r(u, v
1
), r(u, v
2
), r(u, v
3
),} to ln
mt ng CC hon chnh. Ngc li, nu cc im CC c chn theo
phng v th tp hp {r(u
1
, v), r(u
2
, v), r(u
3
, v),} cng s to ln mt
ng CC hon chnh.
S(u,v)
v
r(u,v1)
r(u,v2)
u
x
y
z
r
P
v1
v2
Hnh 1.2: Phng php ng tham s
Thng thng khi s dng phng php ny, phng u c chn
lm phng ca CC.
Khi s dng phng php ny phi gii quyt hai vn :
Tnh ton cc bc tin ( u ) trong hng ca u nh v cc
im CC
Tnh ton cc bc nhy ( v ) nh v cc ng CC k bn
tip theo t mt ng c trc.
Vn u tin nh v chnh xc cc im CC lin tip sao cho
tha mn lch gia hai im CC k bn (phng trnh 1.2). Vn th
hai xc nh khong cch gia cc g CC cnh nhau. Bc tin ca
11
tham s c tnh ton sao cho chiu cao ca hai ng CC k bn tha
mn cng thc 1.1
Bc tin theo phng u
xc nh bc tin gia hai im CC lin tip ta s dng lch
trung bnh
avg
, im CC tip theo s lun l im gia ca b mt hnh ch
nht tip theo, theo phng u. Nu gi tr tnh ton ca
avg
l nh hn gii
hn cho
0
th im CC k tip s l im gia ca hnh ch nht tip
theo, nu khng th im tip theo s c thay i ti trung im ca s
chnh tm, sau kim tra li lch trung bnh. S xc nh lch trung
bnh bao gm s tnh ton khong cch ca mt im b mt gia hai im
lin tip CC
1
v CC
2
(xem hnh 1.3). S lng im gia hai CC do ngi
dng nhp vo. lch trung bnh c tnh ton nh cng thc sau:
1 2
...
n
avg
d d d
n
+ + +
=
(1.1)
y d
i
l khong cch t im th i t hai ng CC
1
CC
2
v n l
s on chia. Khong cch d
i
c tnh gn ng
( ) ( ) ( )
( )( ) ( )( ) ( )( )
( ) ( ) ( )
2 2 2
1 1 1
2 1 1 2 1 1 2 1 1
2 2 2
2 1 2 1 2 1
i i i
i
i i i
x x y y z z
d
x x x x y y y y z z z z
x x y y z z
+ +
=
+ +
+ +
(1.2)
y (x
i
, y
i
, z
i
) l ta ca im thnh phn trn b mt, (x
1
, y
1
, z
1
)
v (x
2
, y
2
, z
2
) l ta ca CC
1
v CC
2
CC1 CC2
d1
u
d2
Hnh 1.3: Tnh lch trung bnh
12
Mt khc, Ta c th xc nh bc tin bng cch s dng lch
cc i
max
thay v s dng lch trung bnh
avg
, v tr ca im CC_2
c xc nh bi s kim tra rng buc
0 max
Quan st hnh 1.3, vc t c c v t ( 0, )
i
u v = r ti ( 1, )
i
u v = r v lch ln
nht ( )
max max
u = d c xc nh. Nu lch ln nht ln hn
0
th cc
im cui ( 0, )
i
u v = r v ( , )
max i
u v r c s dng kim tra lch. ng
cong c chia nh mt cch quy cho ti khi lch cc i
max
l sai
lch t nht so vi gii hn
0
.
r(u,vi)
r
c
d
u=0
u=1
Hnh 1.4: lch cc i
tnh ton
max
ta s dng ng cong tham s ( , )
i
u v r l mt ng
cong Bezier bc ba v gii quyt cc iu kin sau mt cch ng thi.
0
0
0
T
T
=
<
c d
r d
r d
`
``
(1.3)
y: (1, ) (0, )
i i
v v = c r r
Hai iu kin u tin xc nh lch ti a vecto ( ) u d l vung
gc vi vecto c v
T
r` ; Ngoi ra iu kin cui cng s cho ta mt lch
ln nht ng gi tr. Ta tnh xp x ca ng cong r(u, v
i
) s dng bn
im iu khin:
(0, )
i
v r ,
(0, )
(0, )
3
i
i
v
v +
r
r
`
,
(1, )
(1, )
3
i
i
v
v +
r
r
`
v
(1, )
i
v r
.
13
Bc nhy theo phng v
Qu trnh tnh ton v gia hai im CC lin tip c tnh sao cho
chiu cao ca khong nhp nh trn ton b b mt gia cng l nh hn
gii hn cho h
0
. T nhng hng s
i
v ca ng CC ( , )
i
u v r , gi tr ca
tham s tip theo
1 i
v
+
sinh ra ng CC
1
( , )
i
u v
+
r theo phng trnh:
1 i i
v v v
+
= +
(1.4)
y
v
l
v
S
=
, l l khong cch gia cc ng chy dao, v
v
S
chiu di ca mt ng thuc mt ang tnh ti mt gi tr
c
u
, chnh l
chiu di ca ng cong
( , )
c
u v r
. T
v
S bin thin theo s thay i
ca
c
u
, chiu di ca cung
v
S c tnh ti u
c
=0-> 0.25->0.5-> 0.75 v 1
tng ng. Gi tr ln nht c tnh sao cho gi tr t c ca sai s nm
trong gii hn nh nht. T gii hn ca chiu cao nhp nh
o
h v bn knh
ca dao ct R, khong cch gia cc ng chy dao l c tnh:
1
2
0 0
2( (2 )) l h R h =
(1.5)
Tm li, s dng phng php ng tham s hon ton n gin v
thch hp trong thc t v s dng d dng. Tuy nhin phng php c th
gy ra s chng cho trong gia cng gia hai ng chy dao lin tip. S
lng cc chng cho ny ph thuc vo hnh hc ca b mt gia cng. V
d, mt mt c ghp bi bn ng cong c gia cng trn my. Vic
quy nh chiu di ca ng cong nh l t hn chiu di ca ng cong
y, v hng ca dao ct l hng t y ln nh.
ng thi, nu ng chy dao c tnh ton cho cc b mt bc
cao, lch trung bnh gia cc im CC lin tip c th khc rt nhiu t
14
tr s cc i thc s. lch cc i c tnh ton cng c th khc rt
nhiu t tr s cc i thc s khi mt ng cong CC xp x nh mt
ng cong Bezier bc ba ch vi bn im iu khin, v th s tnh ton
ca bc tin gy ra li khng pht hin c.
15
chng 2. tnh ton qu o chy dao theo
phng php ng phng
2.1. M u
- Phng php ng phng l mt trong nhng phng php tnh ton
qu o chy dao hiu qu v c s dng trong nhiu phn mm
CAM. Phng php ny c th s dng cho nhiu dng m hnh b mt
khc nhau nh m hnh dng solid, dng mt tham s, dng mt implicit v
mt STL (li tam gic). c bit l vi m hnh dng mt STL th phng
php ny th hin c ht nhng u im ca n nh:
+ Qu trnh tnh ton khng qu phc tp.
+ C chnh xc cao.
+ Sai s tch lu ca qu trnh tnh ton nh.
Chnh v vy trong gii hn ca n ti thc hin tnh ton ng
chy dao ng phng trn m hnh dng b mt STL.
- Hin nay c rt nhiu ngn ng lp trnh c th c s dng
tnh ton ng chy dao. Trong Visual Basic l mt ngn ng lp trnh
rt mnh. Ngi lp trnh c th khai thc kh nng t ng ca Visual
Basic vit chng trnh mt cch nhanh chng v thun tin. Hn na
Visual Basic c giao din kh thn thin vi ngi s dng. T nhng u
im trn ti s dng ngn ng Visual Basic lp trnh tnh ton ng
chy dao.
- Qu trnh thc hin tnh ton ng chy dao trn b mt li tam
gic chng ta phi x l mt lng d liu kh ln. l to nh ca
cc tam gic li, to ca cc giao im, ca cc im trn ng
offset D liu ny c cu trc dng bng. V vy thun tin ta c th
s dng cc bng tnh ca Excel ghi v c d liu ca cc qu trnh tnh
ton.
16
- lp trnh tnh ton ng chy dao ta thc hin qua nhiu bc
x l trung gian. Kt qu d liu cui cng ca ng chy dao thu c c
chnh xc hay khng l ph thuc vo cc kt qu tnh ton trung gian. Sau
mi bc trung gian cc kt qu tnh ton u c ghi li vo bng tnh
ca Excel. thc hin ni dung nghin cu ca n ny ti s dng
giao din ca AutoCAD hin th v kim tra tnh chnh xc ca mt gia
cng, cc kt qu trung gian, d liu ng chy dao v m phng ng
chy dao.
2.1.1. Tm hiu m hnh CAD dng li tam gic
- Cc b mt li tam gic l cc m hnh chi tit c nh dng file
STL. N l sn phm c s ho ca cng ngh ti to hay c gi l
cng ngh ngc. Cc b mt chi tit c th c s ho nhanh chng nh
s tr gip ca my tnh. Bng cch s dng cc my o to 3D v phn
mm thit k chuyn dng. My o to c th l dng tip xc (my
CMM) hoc khng tip xc (my scanner laser). D liu thu c sau khi
o l tp hp cc im (m my im) ca chi tit. Cc gi phn mm
chuyn dng c s dng x l m my im. m my im c
a gic ho hnh thnh b mt vt th. Sau d liu c chuyn sang
file nh dng .STL.
Hnh 2.1: V d v m hnh dng li STL
17
- Cu trc ca file STL cha d liu ca tt c cc tam gic trn b
mt li chi tit. N bao gm to 3 nh ca cc tam gic li v to
ca vector php tuyn ca b mt tam gic . D liu ca cc tam gic c
v tr ngu nhin trn file STL m khng theo mt trt t nht nh. V d
mt m hnh li STL hnh 2.2 v cu trc file ca n nh hnh 2.3.
Hnh 2.2: M hnh mt cong dng STL
Hnh 2.3: Cu trc ca file STL
Tn ca
chi tit
To ca vector
php tuyn ca mt
tam gic
To 3
nh ca
tam gic
(x,y,z)
18
2.1.2. Giao tip gia Visual Basic vi Excel
- Ni dung nghin cu ca n s dng ngn ng lp trnh
Visual Basic thc hin cc bc tnh ton ng chy dao. Cc qu trnh
tnh ton u phi c v ghi d liu ln bng tnh ca file Excel. Do ta
phi to lin kt gia chng trnh Visual Basic v Excel. S dng cc hm
sau lin kt:
+ kt ni vi Excel s dng hm:
Ketnoi_Excel(ByVal XlsFile, ByVal XlsSheet)
+ hu kt ni vi Excel s dng hm:
HuyKetnoi_Excel()
+ c d liu t mt ca bng tnh s dng hm:
GetExcel(ByVal i&, ByVal j&) As Double
+ ghi d liu vo mt ca bng tnh s dng hm:
PutExcel(ByVal i&, ByVal j&, ByVal data As Double)
+ m file Excel:
OpenExel()
( Chi tit ca cc hm trnh by trong ph lc )
- Trc khi thc hin cc bc tnh ton ta phi nhp ton b d liu
ca b mt cn gia cng vo file Excel. Cc bc nhp nh sau: Trn menu
chnh ta chn Data -> Import External Data -> Import Data.... Khi hp thoi
Select Data Source xut hin th ta chn file c nh dng STL ca b mt
gia cng import. V d khi nhp d liu ca m hnh b mt STL trong
hnh 2.2 ta thu c kt qu nh hnh 2.4.
19
Hnh 2.4: Cu trc file Excel sau khi nhp d liu t file STL
2.1.3. Giao tip gia Visual Basic vi AutoCAD
- Ta s dng giao din ca AutoCAD hin th v kim tra cc kt
qu tnh ton trung gian, d liu ng chy dao v m phng qu trnh dao
chy. Cc kt qu c hin th t nhng i tng c bn AutoCAD
nh ng thng, ng trn Chnh v vy ta phi to lin kt gia Visual
Basic vi AutoCAD bng cch tham chiu ti th vin AutoCAD Type
Libraly. Thc hin nh sau:
20
Chn References option t Project menu, hp thoi References
dialog xut hin. Trong References dialog box chn Type libraly
AutoCAD, sau click OK.
- S dng hm sau kt ni VisualBasic vi AutoCAD:
Sub Ketnoi AutoCAD ()
On Error Resume Next
' Kt ni vi 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
' Kt ni vi bn v:
Dim acadDoc As AcadDocument
Set acadDoc = acadApp.ActiveDocument
' Khai bo i tng ng thng:
Dim lineObj As AcadLine
Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double
End sub.
Nu AutoCAD ang chy th lnh GetObject s khng sinh ra li.
Ngc li nu sinh ra li, tc l CAD cha chy. Khi lnh CreatObject
s khi ng CAD. Nu c nhiu ca s ca CAD ang chy th chng
trnh s ly ca s u tin trong Windows Running Object Table
21
- m phng kim tra cc qu trnh tnh ton trn AutoCAD th ta
s dng lnh v ng thng:
V Line:
SetLineObject=Object.AddLine(StartPoint, EndPoint)
Hnh 2.5: ng thng c v trn AutoCAD
Bng 2.1: Kiu d liu ca ng thng
Tn Kiu d liu Miu t
StartPoint Variant
Mng 3 hn t kiu Double l to
3D ca im u ca ng thng
trong h to WCS
EndPoint Variant
Mng 3 hn t kiu Double l to
3D ca im cui ca ng thng
trong h to WCS
Ch vi lnh v ng thng ta c th kim tra cc qu trnh tnh ton
x l d liu d ng theo yu cu hay cha, pht hin ra li sai ca chng
trnh v nguyn nhn gy ra li; c th m phng ng chy dao mt cch
trc quan.
StartPoint
EndPoint
( 0, 0, 0 )
22
2.2. Thut ton tnh ton v m phng qu o chy dao trn mt STL
2.2.1. Giao tuyn ca cc mt phng song song vi mt li STL
sinh ra cc ng giao tuyn ta s dng mt dy cc mt phng
song song ct m hnh li ca chi tit. Cc mt phng ny cch u nhau
mt khong nht nh. c xc nh da vo chiu cao nhp nh b
mt ln nht cho php. thun tin cho qu trnh tnh ton, khng mt
tnh tng qut ta chn cc mt phng ny song song vi mt trong ba mt
phng ca h trc to . Chn cc mt phng ct c dng:
0
.
k
y y k = +
(k=0,n)
Hnh 2.6: Cc mt phng ct song song
u tin ta phi xc nh c tp hp nhng mt phng s dng
ct mt li. S lng cc mt phng ct phi m bo ton b b mt gia
cng c ct. Trc ht cn tm mt phng tng ng vi
k
y nh nht v
ln nht. Qu trnh ct mt li s c thc hin bt u t mt phng
min k k
y y = . Sau qu trnh s c tip tc vi nhng mt ct lin k cho
n khi mt ct tng ng
k kmax
y y =
c thc hin.
V d khi s dng mt phng
k
y y =
ct mt li nh trong hnh
2.6 ta s thu c kt qu nh sau:
23
Hnh 2.7: Giao tuyn ca mt mt phng ct vi mt li STL
Nh th qu trnh ct s din ra lin tc t bn ny sang bn kia ca
b mt gia cng. Kt qu thu c l tp hp cc ng giao tuyn ca cc
mt phng ct vi m hnh li ca chi tit.
Hnh 2.8: Tp hp cc giao tuyn ca cc mt phng ct vi mt STL
xc nh c mt phng ct u tin v mt phng ct cui cng
ta phi tm c im nm trn mt gia cng c gi tr to y nh nht v
ln nht. Mt phng ct u tin s l
min k
y y = . Mt phng ct tip theo s
c xc nh bng cch offset mt phng u tin mt khong bng . C
nh vy ta tng dn chiu su mt phng ct cho n khi
max k
y y = .
Gi tr to ca cc tam gic li khng c b tr theo mt quy
lut nht nh trn file d liu. Chnh v vy khng th xc nh c ngay
Mt phng y=
k
y
Giao tuyn
24
mt mt phng giao tuyn s ct nhng tam gic li no ca b mt gia
cng. Vi mi mt phng ct ta dng thut ton kim tra ln lt tt c cc
tam gic li trn b mt gia cng xc nh nhng tam gic no s c
giao tuyn vi mt phng .
xc nh v tr tng i ca cc tam gic li so vi mt giao
tuyn ta kim tra ln lt 3 cnh ca tam gic c giao vi mt phng hay
khng. V tr tng i ca mt mt phng so vi mt tam gic li c th
c cc trng hp nh sau:
Giao tuyn ch i qua 1 nh tam
gic
Giao tuyn i qua 2 cnh tam gic
Giao tuyn i qua 1 nh v mt
cnh ca tam gic
Giao tuyn trng vi mt cnh ca
tam gic
Hnh 2.9: V tr tng i ca mt mt phng ct vi mt tam gic li
Vi tng mt phng ct ta phi kim tra ln lt tt c cc tam gic
li xem chng c giao nhau khng. V d vi tam gic ABC v mt
k
y
k
y
k
y
k
y
25
phng
k
y
, nu:
( )( ) 0
A k B k
y y y y <
th mt phng
k
y
s ct cnh AB.
Tng t vi cc cnh khc ta cng kim tra nh vy. Gi tr to ca cc
giao im s c ghi li.
Khi mt mt phng ct c giao tuyn vi tam gic li th to cc
giao im s c tnh v ghi li. Nu mt phng
k
y ct tam gic ABC ti 2
im M v N th to ca chng c xc nh nh sau:
Hnh 2.10: Mt phng
k
y
ct tam gic ABC ti M v N
To ca M v N c tnh theo:
( )
k A
M C A A
C A
y y
x x x x
y y
= +
M k
y y =
( )
k A
M C A A
C A
y y
z z z z
y y
= +
.( )
k B
N A B B
A B
y y
x x x x
y y
= +
N k
y y =
.( )
k B
N A B B
A B
y y
z z z z
y y
= +
k
y
26
C nh vy thut ton s kim tra ln lt cc tam gic, nu c cc
giao im th to ca chng s c ghi li. on thng gia hai giao
im l mt on giao tuyn. ng giao tuyn cn tm l tp hp cc on
giao tuyn lin tip.
Qu trnh sinh ra giao tuyn vi mt mt phng ct kt thc th
chng trnh s chuyn sang x l vi mt phng ct tip theo. C nh vy
cc ng giao tuyn s ln lt c sinh ra t bn ny sang bn kia ca
b mt gia cng. Cc to giao im c ghi li tng ng vi tng giao
tuyn, ht giao tuyn ny n giao tuyn kia.
Ly v d vi mt cong trong hnh 2.2 ta thu c kt qu cc giao
tuyn nh sau:
Hnh 2.11: Tp hp cc ng giao tuyn
27
To ca cc giao im sau khi tnh c s c ghi li vo bng
tnh ca file Excel. Cc to s c ghi ln lt trn bng tnh tng ng
vi tng giao tuyn, ht giao tuyn ny ti giao tuyn khc. Kt qu thu
c nh sau:
Hnh 2.12: D liu ca cc ng giao tuyn c lu trn file Excel
28
Ly v d vi mt m hnh khc ta thu c cc kt qu sau:
M hnh dng li tam gic
Cc giao tuyn thu c khi ct m hnh theo chiu dc
Cc giao tuyn thu c khi ct m hnh theo chiu ngang
Hnh 2.13: Sinh ra giao tuyn trn mt m hnh khc
29
Hnh 2.14: S thut ton sinh ra cc giao tuyn
Bt u
Xc nh mt phng ct u tin v mt phng ct cui cng
Ly gi tr to 3 nh ca tam gic th i
Mt phng ct giao
vi cc cnh tam gic
Ghi to giao im
trn cnh BC v AB
Ghi to giao im
trn cnh AB v AC
Ghi to giao im
trn cnh AC v BC
Kt thc
Mt phng ct giao
vi cnh AB
Mt phng ct giao
vi cnh BC
Mt phng ct th k
Tam gic tip theo
Mt phng tip theo
MP ct cui c x l
ng
Sai
Sai
Sai
ng
ng
ng
ng
Sai
Sai
Cc tam gic c k.tra xong
30
2.2.2. Sp xp cc on giao tuyn theo th t lin tip trn mt
giao tuyn
Trn mt file STL th gi tr to ca cc tam gic li khng c
sp xp theo mt th t nht nh. Vi mi tam gic trn b mt li chng
ta khng bit c gi tr to ca n c ghi ti v tr no trn file STL.
Chnh v vy khi s dng mt mt phng ct mt li ta s thu c d
liu ca cc on giao tuyn m khng bit on giao tuyn nm v tr
no trn ng giao tuyn tng ng. c th sinh ra ng chy dao ta
phi sp xp cc on giao tuyn theo mt th t ln lt t u n
cui ng giao tuyn. Cc ng giao tuyn s c sp xp theo quy lut
tng dn hoc gim dn theo gi tr ca cc on giao tuyn. Ta s sp xp
cc ng tng dn v gim dn xen k nhau c th sinh ra ng chy
dao theo kiu zigzag.
V d mt mt phng ct cc tam gic thnh cc on giao tuyn nh
hnh 2.15.
Hnh 2.15: Cc on giao tuyn trn cng mt ng giao tuyn trc
khi sp xp
Trn hnh 2.15 th tn ca cc on giao tuyn c nh du theo v
tr to ca n c lu trn bng tnh ca file Excel. T nh n ln
31
(A1B1 n A6B6 ) tng ng v tr to ca n c lu t trn xung
di trn mt ct ca bng tnh.
Vn t ra l phi sp xp to ca cc on giao tuyn theo th
t t trn xung di ca bng tnh tng ng vi v tr t u n cui ca
giao tuyn hoc ngc li. Kt qu sp xp li c th hin trn hnh 2.16.
Hnh 2.16: Cc on giao tuyn trn cng mt ng giao tuyn sau khi
sp xp
Thut ton sp xp c th hin nh trong hnh 2.17.
32
Hnh 2.17: Thut ton sp xp li v tr ca cc on giao tuyn
Bt u
Tm on giao tuyn c gi tr to nh nht
Tm cc on giao tuyn lin k
Sp dy tng dn
Tm on giao tuyn c gi tr to ln nht
Tm cc on giao tuyn lin k
Sp dy gim dn
Tt c cc giao tuyn
c sp xp
Kt thc
Sai
ng
Cc on giao tuyn
c tm ht
Cc on giao tuyn
c tm ht
Sai
Sai
ng
ng
33
2.2.3. Offset cc giao tuyn sinh ra ng CL
thu c ng CL th ta phi offset cc ng giao tuyn tm
c. Hng offset l hng ra ngoi b mt gia cng. offset cc giao
tuyn theo ng hng nh vy ta da vo vector php tuyn ca cc mt
tam gic li. Khong cch offset f c tnh bng bn knh ca con dao
phay u cu. Khong cch ny c th c la chn tu vo ngi s
dng. Tu theo gi tr to ca vector php tuyn ca mt tam gic li
x
v v
z
v ta c cc trng hp offset nh sau:
Trng hp 1: 0
x
v > v 0
z
v >
Hnh 2.18a: Offset giao tuyn khi 0
x
v > v 0
z
v >
To ca on offset thu c:
.sin( )
C B
x x f teta = +
.sin( )
C B
z z f teta = +
arctan( )
A B
A B
z z
teta
x x
.sin( )
D A
x x f teta = +
.sin( )
D A
z z f teta = +
34
Trng hp 2: 0
x
v = v 0
z
v >
Hnh 2.18b: Offset giao tuyn khi 0
x
v = v 0
z
v >
To ca on offseet thu c:
C B
x x =
C B
z z f = +
D A
x x =
D A
z z f = +
Trng hp 3: 0
x
v < v 0
z
v >
Hnh 2.18c: Offset giao tuyn khi 0
x
v < v 0
z
v >
.sin( )
C B
x x f teta =
.sin( )
C B
z z f teta = +
arctan( )
A B
A B
z z
teta
x x
.sin( )
D A
x x f teta =
.sin( )
D A
z z f teta = +
35
Trng hp 4: 0
x
v < v 0
z
v <
Hnh 2.18d: Offset giao tuyn khi 0
x
v < v 0
z
v <
To on offset thu c:
.sin( )
C B
x x f teta =
.sin( )
C B
z z f teta =
arctan( )
A B
B A
z z
teta
x x
.sin( )
D A
x x f teta =
.sin( )
D A
z z f teta =
Trng hp 5: 0
x
v > v 0
z
v <
Hnh 2.18e: Offset giao tuyn khi 0
x
v > v 0
z
v <
36
To on offset thu c:
.sin( )
C B
x x f teta = +
.sin( )
C B
z z f teta =
arctan( )
B A
B A
z z
teta
x x
.sin( )
D A
x x f teta = +
.sin( )
D A
z z f teta =
Sau khi tnh c to ca cc offset th cc to ny c ghi li
vo bng ca file Excel. T nhng ng offset ny ta c th x l sinh
ra ng chy dao. Kt qu offset ca mt giao tuyn nh hnh 2.19.
Hnh 2.19: Offset mt ng giao tuyn
Sau khi offset ton b cc giao tuyn ta thu c mt phng offset
nh hnh 2.20.
Hnh 2.20: Tp hp cc ng offset ca cc giao tuyn
37
Hnh 2.21: Lu thut ton offset giao tuyn
Bt u
c d liu ca mt on giao tuyn
0
x
v >
v 0
z
v >
0
x
v =
v 0
z
v >
0
x
v <
v 0
z
v >
0
x
v <
v 0
z
v <
Tnh d liu
on offset
theo TH5
Tnh d liu
on offset
theo TH4
Tnh d liu
on offset
theo TH3
Tnh d liu
on offset
theo TH2
Tnh d liu
on offset
theo TH1
Offset on giao tuyn tip theo
Tt c cc on giao
tuyn c offset
Kt thc
ng
ng
Sai
ng
ng
ng
Sai
Sai
Sai
Sai
38
2.2.4. X l hin tng chng cho (Overlap) trn ng offset
Khi offset cc on giao tuyn nm trn nhng b mt lm s xut
hin cc Overlap. l hin tng giao nhau gia hai on offset to ra
nhng phn tha. Nh trong hnh 2.22:
Hnh 2.22: Hin tng Overlap trn ng offset
Vn t ra l phi sa cc Overlap ny, loi b nhng phn tha.
m bo cho ng CL l mt ng lin tc. bit c nhng on
offset no c to thnh Overlap th ta phi dng thut ton kim tra xem
nhng on lin k c ct nhau khng. Nu 2 on m giao nhau th ta loi
b nhng on offset nm gia hai on ny. Giao im ca hai on offset
s c ly lm im cui ca on th nht v im u ca on th hai.
Hin tng Overlap c th c cc trng hp nh sau:
+ on offset th nht v on th 5 giao nhau. Trng hp ny ta s
tnh to giao im ca on offset1 v on offset5. Sau ly giao
im ny lm im cui ca on offset 1 v l im u ca on offset 5.
Cc on offset 2,3 v 4 s b loi b. Nh trong hnh 2.23a. Cc trng
hp khc cng c x l tng t.
39
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23a. on offset th 1 v th 5 c to overlap
+ on offset th nht v on th 4 giao nhau:
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23b: on offset th 1 v th 4 c to overlap
40
+ on offset th nht v on th 3 giao nhau:
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23c: on offset th 1 v th 3 c to overlap
+ on offset th nht v on th 2 giao nhau:
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23d: on offset th 1 v th 2 c to overlap
41
+ on offset th 1, 2 v 3 khng giao nhau ng thi on on th
3 nm gia on 1 v 2. Trng hp ny ta ko di on offset 1 cho ct
on offset 3. Ly giao im lm im cui ca offset 1 v l im u ca
offset 3, on offset 2 b loi b. Nh trong hnh 2.23e.
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23e: on offset th 1, 2 v 3 khng giao nhau ng thi on
on th 3 nm gia on 1 v 2
+ on offset th 1, 2 v 3 khng giao nhau ng thi on on th
1 nm gia on th 2 v 3. Trng hp ny cng c x l tng t khi
on offset 3 nm gia offset 1 v 2. Nh trong hnh 2.23f.
Trc khi sa Overlap Sau khi sa Overlap
Hnh 2.23f: on offset th 1, 2 v 3 khng giao nhau ng thi on
on th 1 nm gia on th 2 v 3
42
Lu thut ton:
Hnh 2.24: Lu thut ton x l hin tng Overlap
X l Overlap trng hp on th i
v on th i+4 giao nhau
X l Overlap trng hp on th i
v on th i+3 giao nhau
X l Overlap trng hp on th i
v on th i+2 giao nhau
X l Overlap trng hp on th i;
i+1; i+2 khng giao nhau v on th
i+2 nm gia on i v i+1
X l Overlap trng hp on th i;
i+1; i+2 khng giao nhau v on th i
nm gia on i +2 v i+1
X l ht cc
giao tuyn
Kt thc
X l tng giao
Bt u
X l Overlap trng hp on th i
v on th i+1 giao nhau
Sai
ng
43
2.2.5. X l hin tng t qung (Gap) trn ng offset
ng CL c sinh ra bng cch offset ng giao tuyn s c hin
tng t qung. C ngha l cc on offset khng ni tip nhau mt cch
lin tc trn ng CL. Nhng v tr nh vy c gi l Gap. Vn t ra
l phi sa cc Gap ny sao cho ng CL tr thnh mt ng lin tc.
Gap xut hin ti cc on offset tng ng vi cc on giao tuyn nm
trn nhng mt cong li. Nh trong hnh 2.25.
Hnh 2.25: Hin tng Gap trn ng offset
Trong phn nghin cu ny ta s dng dao phay u cu gia cng
chi tit. Khi c th sa Gap bng cch ko di hai on offset cho giao
nhau, v ng CL s i qua giao im ny.
Hnh 2.26: X l hin tng Gap trn ng offset
44
2.2.6. Tnh cc im CL trn ng offset
Sau khi cc ng offset c x l xong chng tr thnh nhng
ng cong lin tc. Cc ng offset ny s c ti u sinh ra ng
CL cn tnh. Trn mt ng offset c th c nhng on offset c chiu
di rt nh. l nhng on offset ca on giao tuyn nm st nh
ca tam gic. C th lm trn nhng on ny nh sau:
Hnh 2.27: Tnh im CL
Trn mt ng offset ta kim tra vi cc on offset lin tip. Cc
im u mt trn ng offset l A,B,C, Nu khong cch d t im B
ti on AC nh hn gi tr cho php ta c th b qua im B v ng
offset mi ch i qua im A v C. Gi tr ca d c th thay i tu thuc
ngi s dng. Sau khi kim tra ton b cc im trn ng offset tho
mn iu kin nh trn th cc im cui cng thu c s l nhng im
CL cn tnh. Cc ng CL thu c c dng nh hnh 2.28.
Hnh 2.28: Cc ng CL thu c
on offset 1
on offset 2
ng offset
45
Gi tr ca nhng im CL c lu trong file Excel nh trong hnh 2.29.
Hnh 2.29: D liu ca ng CL
46
2.2.7. Xut G code
kim tra chnh xc ca d liu ng CL ta thc hin xut file
G code gia cng mu. V iu kin cha c chng trnh postprocessor
cho my 5 trc nn ta thc hin kim tra ng chy dao trn my 3 trc.
S dng thut ton xut d liu G code cho CNC 3 trc ta c file G code
nh hnh 2.30.
Hnh 2.30: File G code cho my 3 trc
47
2.2.8. M phng qu o chy dao
S dng giao din ca AutoCAD ta c th kim tra ng chy dao
CNC ng theo nh hay cha trc khi xut file NC gia cng. M
phng c th kim tra c:
- Th t ng chy dao theo kiu zigzag
- S lin tc ca ng chy dao
- Vector php tuyn ca b mt gia cng ti v tr dao chy qua
Kt qu m phng nh sau:
Hnh 2.31: M phng qu o chy dao trn giao din AutoCAD
48
chng 3. Tnh ton qu o chy dao theo
phng php ng tham s
3.1. Tm hiu mt cong Bezier
3.1.1. Mt cong bezier v ng dng ca n trong thc tin
ng v mt Bezier hin nay c s dng nhiu trong k thut
ha. ng bezier s dng v cc ng cong trong cc phn mm ha
nh photoshop, Coredow to cho nt v mm v mn hn, s dng v
th, to font ch Mt Bezier ng dng trong k thut to hnh, iu khc,
h tr trong cng vic to cc mt cong phc tp.
3.1.2. Phng trnh ton hc ca ng v mt Bezier
a) Phng trnh ton hc ca ng Bezier
Cho 2 im P0=(x0,y0,z0) v P1=(x1,y1,z1) bng ni suy tuyn tnh
ta vit c on thng ni hai im:
C(u)=(x(u),y(u),z(u))=(1-u)*P0+u*P1 (3.1)
vi 0<=u<=1.
Hnh 3.1 on thng ni hai im
Bng cch ni suy tng t t 3 im P0,P1,P2 ta c ng cong
C(u) nh sau:
Da trn cp P0, P1 ta c C1(u)
49
1 0 1
( ) (1 ) u u u = + C p p (3.2)
Da trn cp P1, P2 ta c C2(u)
2 1 2
( ) (1 ) u u u = + C p p (3.3)
T C1(u), C2(u) ta c C(u)
2 2
0 1 2
( ) (1 ) 2 (1 ) u u u u u = + + C p p p
(3.4)
T ta vit c phng trnh ca ng cong Bezier cho n im ni suy
c dng nh sau:
,
0
( ) ( ( ), ( ), ( )) ( )
n
i n i
i
u x u y u z u B u
=
= =
C P
(3.5)
,
!
( ) (1 )
!( )!
0 1
i n i
i n
n
B u u u
i n i
u
(3.6)
Vi
,
( )
i n
B u l a thc bernstein, u l tham s, Pi l cc im iu khin
V d vit ng cong cho 4 im iu khin P0, P1, P2, P3 c
biu din nh hnh v.
Hnh 3.2 ng cong Bezier
* Cc tnh cht ca ng Bezier
- [ ]
,
( ) 0 , ; 0,1
i n
B u i n u
(3.7)
-
,
0
( ) 1
n
i n
i
B u
=
=
(3.8)
50
-
0, ,
(0) (1) 1
n n n
B B = =
(3.9)
-
, , 1 1, 1
( ) (1 ) ( ) ( )
i n i n i n
B u u B u uB u
= +
(3.10)
-
'
, 1, 1 , 1
( ) ( ) ( )
i n i n i n
B u nB u nB u
=
(3.11)
b) Phng trnh ton hc ca ng Bezier hu t
Dng biu din Bezier thc cht l dng biu din ca mt a thc
ni suy v vy n khng th biu din chnh xc elip, hnh trn v vy
biu din cc i tng ny mt cch chnh xc ngi ta s dng ng
Bezier hu t
( )
( )
( )
( )
( )=
( )
X u
x u
W u
Y u
y u
W u
=
(3.12)
V d ng trn c tm gc ta bn knh bng 1 c biu din di
dng Bezier hu t nh sau
2
2
2
1 ( )
( )
1 ( )
2 ( )
( )
1 ( )
u X u
x u
u W u
u Y u
y u
u W u
= =
+
= =
+
(3.13)
nh ngha: ng cong Bezier hu t c nh ngha bng biu thc sau
,
0
,
0
,
( )
( )
( )
!
( ) (1 )
!( )!
0 1
n
i n i i
i
n
i n i
i
i n i
i n
B u w
u
B u w
n
B u u u
i n i
u
=
=
=
=
P
C
(3.14)
Trong wi l trng s.
thun tin khi tnh ton gi tr im v kho st ng Bezier hu
t, ta chuyn v dng Bezier trong khng gian 4 chiu nh sau:
T tp im {Pi} v tp trng s {Wi} cho trc ta xc nh tp im{Piw}
51
w
( , , , )
i i i i i i i
w x w y w z w = p (3.15)
Ta c th vit:
,
0
,
( ) ( )
!
( ) (1 )
!( )!
0 1
n
w w
i n i
i
i n i
i n
u B u
n
B u u u
i n i
u
=
=
=
C P
(3.16)
Tp im {Pi} c xc nh:
, 0 0 1, 0 0 1, 1 0
( ) (1 ) ( ) ( )
1,...,
0,...,
w w w
k i k i k i
u u u u u
k n
i n k
+
= +
=
P P P
(3.17)
* S thay i ca trng s Wi
Trng s Wi thay i ko theo s thay i ca ng cong Bezier ta
c th minh ha bng hnh v:
Hnh 3.3 S ph thuc ca ng cong vo Wi
Wi cng ln th ng cong cng ko gn im iu khin. Hnh
minh ha cho 4 ng c cc im iu khin nh nhau {P
0
,P
1
,P
2
,P
3
,P
4
,P
5
}
nhng ng c trng s w
i
ln hn c cong ln hn.
52
c) Phng trnh ton hc ca mt Bezier v mt Bezier hu t
ng cong C(u) l mt hm gi tr vecto ca tham s u. N l nh
x ca mt ng thng vo khng gian 3 chiu Euclidean, t mt hm
b mt cng l l mt hm gi tr vecto theo hai tham s u v v, cng l nh
x t mt min phng (u,v) vo khng gian Euclidean 3 chiu.
Hnh 3.4 Anh x t (u,v) ti S(u,v)
nh ngha: Mt cong Bezier c nh ngha theo biu thc sau
, , ,
0 0
( , ) ( ) ( )
n m
i n j m i j
i j
u v B u B v
= =
=
S P
(3.18)
,
!
( ) (1 )
!( )!
i n i
i n
n
B u u u
i n i
(3.19)
,
!
( ) (1 )
!( )!
j m j
j m
m
B v u v
j m j
(3.20)
Vi u, v l cc tham s 0 , 1 u v
Tng t ng cong Bezier ta cng c mt cong Bezier hu t
biu cc mt cong phc tp nh hnh xuyn, mt cu, mt Elip
53
Mt cong Bezier hu t c nh ngha nh sau:
, , , ,
0 0
, , ,
0 0
( ) ( )
( , )
( ) ( )
n m
i n j m i j i j
i j
n m
i n j m i j
i j
B u B v w
u v
B u B v w
= =
= =
=
P
S (3.21)
, , ,
0 0
( ) ( )
n m
w w
i n j m i j
i j
B u B v
= =
=
S P (3.22)
Vi Wi,j l cc trng s theo phng u v phng v
Hnh 3.5 Mt Bezier hu t
d) ng v mt cong t do tng qut
Mt mt cong tng qut c th bao gm nhiu thnh phn, bng
phng, li, lm v cc gc un ln v cng phc tp, vic biu din ng
v mt di dng Bezier c th gy ra li khi biu bin cc on giao nhau
ca cc thnh phn ny khi cho tham s u, v chy u t 01 v vy ngi
ta phi phn nh cc tham s theo cc on biu din chnh xc hn
V d
0 1
0 1
u
v
54
Ngi ta c th phn thnh cc on nh nh sau:
1 2 3
1 2 3
0 1
0 1
u u u
v v v
Khi gi tr cc im ti cc cp (u,v) phn ra ta coi nh l im
cui ca ng cong hay mt cong, v ng thi l im u ca ng
cong hay mt cong tip theo. Nhim v ca chng ta l phn chng lm sao
cc ng cong hay mt cong ti cc im nt ny l lin tc.
Hnh 3.6
T C(u) ta phn nh ra thnh 3 ng cong C
1
(u), C
2
(u), C
3
(u)
Hnh 3.7 S phn nh cc ng cong
nh ngha mt ng cong tng qut nh sau
0
( ) ( )
n
P
i i
i
C u N u P
a u b
=
=
(3.23)
{P
i
} l tp im iu khin
55
( )
p
i
N u l biu thc c bn c nh ngha cho cc im iu khin
1
, , 1 1, 1
1 1
( ) ( ) ( )
i p
i
i p i p i p
i p i i p i
u u
u u
N u N u N u
u u u u
+ +
+
+ + + +
= +
(3.24)
Vi
1
,0
1
1
( )
0 [ , ]
i i
i
i i
neu u u u
N u
neu u u u
+
+
=
Tng t ta c phng trnh tham s ca ng cong t do tng qut
biu din dng hu t
,
0
,
0
( )
( )
( )
n
i p i i
i
n
i p i
i
N u wP
C u
N u w
a u b
=
=
=
(3.25)
Vi gi tr ca u c xc nh nh sau:
Nh vy mt cong t do tng qut c biu din nh sau
, , , ,
0 0
, , ,
0 0
( ) ( )
( , )
( ) ( )
n m
i p j q i j i j
i j
n m
i p j q i j
i j
N u N v w P
S u v
N u N v w
= =
= =
=
(3.27)
Vi u v v c tnh nh sau:
1 1
1 1
0, ... 0, , ... ,1, ... 1
p r p
p p
U u u
+
+ +
=
_ _
(3.28)
1 1
1 1
0, ... 0, , ... ,1, ... 1
q s q
q q
V v v
+
+ +
=
_ _
(3.29)
r=n+p+1
s=m+q+1
1 1
1 1
, ... , , ... , , ... (3.26)
p m p
p p
U a a u u b b
+
+ +
=
_ _
56
Hnh 3.8 Mt cong tng qut
3.2. S dng Visual Basic vit chng trnh hin th mt cong Bezier
3.2.1. Thut ton xy dng cc im CC ca mt cong
a) C s l thuyt
xy dng thut ton tnh ton cc im CC ca mt mt cong ta
i t vic xy dng thut ton tnh ton cc im ca mt ng cong, ta
s dng thut ton de Casteljau.
Cho ng C(u) c vit trn n im iu khin cho trc {Pi} bi ton
t ra l tnh im C(u) vi u l tham s xc nh c trc
+
= +
=
, 0 0 1, 0 0 1, 1 0
( ) (1 ) ( ) ( )
Vi
1,...,
0,...,
k i k i k i
u u u u u
k n
i n k
P P P
(3.30)
C(u) c tnh quy ti gi tr cui cng C(u)=
,0 0
( )
n
u P
57
Thut ton c m t nh sau:
0
1,0
1 2,0
1,1
2
1,0
,0 0
1,1
2
1, 2
1 2, 2
1, 1
... ( )
n
n
n
n
n
n n
n
n
u
=
p
p
p p
p
p
p
p C
p
p
p
p p
p
p
.
. . .
. . .
. . .
.
(3.31)
Vi n im iu khin cho trc {P
0
,P
1
,...,P
n
} ta tnh c n-1 im
P
1
,
k
vi k chy t 1 n n-1 theo cng thc (3.30). Tng t ta tnh c n-2
im P
2
,
k
. Ta tnh n bc nh th s c kt qu cui cng l P
n
,
0
. Gi tr
cui cng ny chnh l gi tr ca C(u
0
).
Ta c th m t bng hnh v
Hnh 3.9 Thut ton de Casteljau
58
Tng t nh ng Bezier ta c thut ton de Casteljau cho ng
Bezier hu t
T tp {P
i
} v tp trng s {w
i
} cho trc ta xy dng tp im {
w
i
p }
w
( , , , )
i i i i i i i
w x w y w z w = p (3.32)
Ta c th vit
,
0
,
( ) ( )
!
( ) (1 )
!( )!
0 1
n
w w
i n i
i
i n i
i n
u B u
n
B u u u
i n i
u
=
=
=
C P
(3.33)
V cc im {
w
i
p } c tnh nh sau
, 0 0 1, 0 0 1, 1 0
( ) (1 ) ( ) ( )
for
1,...,
0,...,
w w w
k i k i k i
u u u u u
k n
i n k
+
= +
=
P P P
(3.34)
Vi C(u) l gi tr c quy ti im cui cng ti k=n, i=0.
b)Thut ton xy dng mt cong t do tng qut
Nhc li phng trnh ca mt cong t do tng qut phng trnh
, , , ,
0 0
, , ,
0 0
( ) ( )
( , )
( ) ( )
n m
i p j q i j i j
i j
n m
i p j q i j
i j
N u N v w P
S u v
N u N v w
= =
= =
=
(3.27)
Vi u v v c tnh nh sau
1 1
1 1
0, ... 0, , ... ,1, ... 1
p r p
p p
U u u
+
+ +
=
_ _
1 1
1 1
0, ... 0, , ... ,1, ... 1
q s q
q q
V v v
+
+ +
=
_ _
r=n+p+1
s=m+q+1
59
Bc 1: Nhp cc im iu khin v cc trng s
Tp im iu khin {P
i
} v tp trng s {w
i
} c ngi lp trnh nhp
trc tip vo file Exel lm d liu u vo.
Hnh 3.10: D liu u vo t Exel
Cc im iu khin ny s c lm d liu u vo ca Visual
Basic (VB) qua vic khai bo i tng Object.
Bc 2: Tnh cc gi tr u v v l cc gi tr tham s biu th bc
nhy v bc tin ca cc im CC k cn.
*Tnh v
Da vo chiu cao nhp nh cho php ca sn phm cn gia cng ta
c h
0
, c bn knh dao ct R, t ta tnh c cc bc tin cn thit gia
hai im CC .
0 0
2 (2 ) l h R h =
(3.35)
ng thi bng phng php gn ng ta tnh c chiu di ca
mt dy cung S(u
0
,v
i
) , t ta tnh c v
60
v =
v
l
S
(3.36)
S
v
c th c tnh gn ng bng cch tnh tng chiu di cc on
S
v
=A
0
A
1
+A
1
A
2
+A
2
A
3
+A
3
A
4
(3.37)
Vi A
0->4
l cc im tng ng ti v
i
={0,0.25,0.5,0.75,1}
*Tnh bc nhy u
Vi mt cp tham s (u,v) xc nh ta lun tnh c
S(u,v)=(S.x,S.y,S.z) xc nh, ta gi thit c gi tr ca v, bo ton t ra
l tm gi tr ca u tnh cc gi tr ca u. u
i
=u
i-1
+u
Tnh u ta da vo phng php tnh chiu cao d
max
vi d
max
c
tnh theo cng thc
y gi tr i tng ng vi im D, tnh gn ng D l im gia ca
cung
1 2
, CC CC
r(u,vi)
r
c
d
u=0
u=1
Hnh 3.11: Tnh
max
d
So snh d
max
vi lch tiu chun
0
, nu
max 0
d
th coi nh
tha mn v ta ly gi tr u ti im d
max
lm u , t ta c tp cc gi tr
tham s {u}. Trng hp
max 0
d > th ta ly im D
max
va tnh lm im
CC
2
, Gi nguyn gi tr CC
1
, tnh mt im D
max
mi ging nh phng
php trnh by, ta s lm nh vy n khi no
max 0
d
.
Bc 3: Tnh ton cc gi tr N
i
,
p
(u) v N
j
,
p
(v)
( ) ( ) ( )
( )( ) ( )( ) ( ) ( )
( ) ( ) ( )
2 2 2
1 1 1
max
2 1 1 2 1 1 2 1 1
2 2 2
2 1 2 1 2 1
(3.38)
i i i
i i i
x x y y z z
d
x x x x y y y y z z z z
x x y y z z
+ +
=
+ +
+ +
61
Ban u vi cp (u,v)=(0,0)
1
, , 1 1, 1
1 1
( ) ( ) ( )
i p
i
i p i p i p
i p i i p i
u u
u u
N u N u N u
u u u u
+ +
+
+ + + +
= +
(3.39)
1
, , 1 1, 1
1 1
( ) ( ) ( )
j q
i
j q j q j q
i p q j q i
v v
v v
N v N v N v
v v v v
+ +
+
+ + + +
= +
(3.40)
Vi cc gi tr ca u v v nh sau:
1 1
1 1
0, ... 0, , ... ,1, ... 1
p r p
p p
U u u
+
+ +
=
_ _
1 1
1 1
0, ... 0, , ... ,1, ... 1
q s q
q q
V v v
+
+ +
=
_ _
r=n+p+1
s=m+q+1
Bc 4: Xy dng hm tnh cc im CC(S.x,S.y,S.z) da vo cc cp
tham s (u,v)
T phng trnh tham s ca mt cong S(u,v)
, , , ,
0 0
, , ,
0 0
( ) ( )
( , )
( ) ( )
n m
i p j q i j i j
i j
n m
i p j q i j
i j
N u N v w P
S u v
N u N v w
= =
= =
=
Tp im iu khin {P
i
}, tp trng s {w
i
} c ly t d liu Exel,
cc gi tr N
i
,
p
(u) v N
j
,
p
(v) c tnh, ta ln lt thay cc cp gi tr
(u,v) vo phng trnh trn ta c cc gi tr tng ng ca S(u,v), t ta
c CC(S.x,S.y,S.z)=S(u,v), trn Visual Basic ta tnh ton cc im
CC(S.x,S.y,S.z) da vo vng lp c thit lp nh cc cu lnh sau:
*===========================================*
Cho j chy t 0 n q
Thit lp cc gi tr ban u
temp.x = 0: temp.y = 0: temp.z = 0: temp.w = 0
vind = vspan - q + i
cho j chy t 0 n p
62
temp.x = temp.x + funs_u(j) * CP(uind + j, vind).x
temp.y = temp.y + funs_u(j) * CP(uind + j, vind).y
temp.z = temp.z + funs_u(j) * CP(uind + j, vind).z
temp.w = temp.w + funs_u(j) * CP(uind + j, vind).w
tip tc
Sw.x = Sw.x + funs_v(i) * temp.x
Sw.y = Sw.y + funs_v(i) * temp.y
Sw.z = Sw.z + funs_v(i) * temp.z
Sw.w = Sw.w + funs_v(i) * temp.w
Nu Sw.w khc 0 Th
S.x = Sw.x / Sw.w: S.y = Sw.y / Sw.w: S.z = Sw.z / Sw.w
Cn li
S.x = Sw.x: S.y = Sw.y: S.z = Sw.z
Kt thc
Tip tc
*=======================================*
Ta c th minh ha thut ton bng hnh v:
Hnh 3.12: Thut ton xc nh CC
63
3.2.3. M phng hin th mt cong gia cng
m phng mt cong gia cng ta da vo phng trnh tham s ca
mt cong t do, t thut ton xc nh cc im CC trn ta c th v mt
cong trn AutoCAD bng cch tham chiu CAD ti Visual Basic, khai bo
trn Visual Basic, CAD nh mt i tng Object. Mt cong c xy dng
ln nh cc im CC xc nh v a ra lu trong Excel lm d liu u
vo ca AutoCAD. Ta gi lnh ca Visual Basic sang AutoCAD nh thc
hin bng nt lnh trn Visual Basic.
Hnh 3.13: Bng iu khin
Sau khi thc hin lnh ts c kt qu m phng nh sau:
Hnh 3.14: M phng mt gia cng
64
3.3 Tnh cc im CL
3.3.1. Thut ton tnh ton cc im CL
Vic tnh ton cc im CL da trn cc im CC c sn, cc im
CL c tnh ph thuc vo bn knh dao ct R, vecto php tuyn ca mt
cong ti im ct, gc ca trc dao ct
CL c tnh da vo CC nh cng thc sau
* CL CC R n = +
(3.41)
Vi R l bn knh dao ct, R
l vc t
ch phng ca mt cong gia cng ti im CL( im ct)
R
l gi tr ta c th thit lp, n