Tối ưu hóa đường chạy dao gia công 4 trục.

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Hi chào các bạn.

Bên công ty mình khi đổ chương trình gia công 4 trục cho máy CNC. Ví dụ máy chạy từ A20 đến A100, nó có rất nhiều giá trị trung gian ví dụ như A20, A2,001, À,003....A100, thực tế máy chỉ cần A20 A100 là đủ. Các bạn có biết phần mềm nào xử lý được nó không ?

Xin cảm ơn và hậu tạ.
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

iPumpkin Tung một đoạn Code lên đi cho dễ hiểu vấn đề !
Không biết phải ý iPumpkin nói Tool sẽ dứng yên cón A xoay từ A20 đên A100 giống như Tiện phải không ?
 

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

ipumpkin tung một đoạn code lên đi cho dễ hiểu vấn đề !
Không biết phải ý ipumpkin nói tool sẽ dứng yên cón a xoay từ a20 đên a100 giống như tiện phải không ?

n30 g0 x52.546 y-6.2 z243.178 a131.264 b0. S1800 m3
n31 z93.178
n32 g1 z92.678 f400.
N33 g41 y0
n34 x45.1 f300.
N35 x40.1 f150.
N36 a131.166
n37 a129.761
n38 a128.355
n39 a128.173
n40 a126.949 f300.
N41 a125.544
n42 a124.138
n43 a122.732
n44 a121.327
n45 a119.921
n46 a118.515
n47 a117.11
n48 a115.704
n49 a114.298
n50 a112.892
n51 a111.487
n52 a110.081
n53 a108.675
n54 a107.27
n55 a105.864
n56 a104.458
n57 a103.053
n58 a101.647
n59 a100.241
n60 a98.836
n61 a97.43
n62 a96.024
n63 a94.619
n64 a93.213
n65 a91.807
n66 a90.602
n67 a89.598
n68 a88.193
n69 a86.787
n70 a85.381
n71 a83.976
n72 a82.57
n73 a81.164
n74 a79.759
n75 a78.353
n76 a76.947
n77 a75.542
n78 a74.136
n79 a72.73
n80 a71.325
n81 a69.919
n82 a68.513
n83 a67.108
n84 a65.702
n85 a64.296
n86 a62.89
n87 a61.485
n88 a60.079
n89 a58.673
n90 a57.268
n91 a55.862
n92 a54.456
n93 a53.051
n94 a51.827
n95 a51.645 f150.
N96 a50.239
n97 a48.834
n98 a48.736
n99 x45.1
n100 x59.993 f300.
N101 x64.993 f150.
N102 a48.834
n103 a50.239
n104 a51.645
n105 a51.827
n106 a53.051 f300.
N107 a54.456
n108 a55.862
n109 a57.268
n110 a58.673
n111 a60.079
n112 a61.485
n113 a62.89
n114 a64.296
n115 a65.702
n116 a67.108
n117 a68.513
n118 a69.919
n119 a71.325
n120 a72.73
n121 a74.136
n122 a75.542
n123 a76.947
n124 a78.353
n125 a79.759
n126 a81.164
n127 a82.57
n128 a83.976
n129 a85.381
n130 a86.787
n131 a88.193
n132 a89.398
n133 a90.402
n134 a91.807
n135 a93.213
n136 a94.619
n137 a96.024
n138 a97.43
n139 a98.836
n140 a100.241
n141 a101.647
n142 a103.053
n143 a104.458
n144 a105.864
n145 a107.27
n146 a108.675
n147 a110.081
n148 a111.487
n149 a112.892
n150 a114.298
n151 a115.704
n152 a117.11
n153 a118.515
n154 a119.921
n155 a121.327
n156 a122.732
n157 a124.138
n158 a125.544
n159 a126.949
n160 a128.173
n161 a128.355 f150.
N162 a129.761
n163 a131.166
n164 a131.264
n165 x59.993
n166 x52.546 f300.
N167 g0 g40 y-6.2
n168 z242.678
n169 m5
 
D

Dang Nguyen

Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

có phải khi chạy thì trục A nó giật, khó chịu lắm phải không bác?
 

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

có phải khi chạy thì trục A nó giật, khó chịu lắm phải không bác?
À, chạy bình thường bạn ơi. Chỉ có mỗi cái là file nặng kb lắm, chạy vài cái pocket phay tinh bằng dao ball nose ăn site step .15mm(dao ballose D12) thì file nặng gần 3-4MB, mà bộ nhớ máy CNC chạy trực tiếp chỉ cở 1 MB thôi, nên phải cắt file và xóa bằng tay bớt góc A đi. Nếu mà tự động xóa được góc A ở giửa thì hày quá.

n123 a76.947
n124 a78.353
n125 a79.759
n126 a81.164
n127 a82.57
n128 a83.976
n129 a85.381
n130 a86.787
n131 a88.193
n132 a89.398
n133 a90.402
n134 a91.807
n135 a93.213
n136 a94.619
n137 a96.024
n138 a97.43
n139 a98.836
n140 a100.241
n141 a101.647
n142 a103.053
n143 a104.458
n144 a105.864
n145 a107.27
n146 a108.675
n147 a110.081
n148 a111.487
n149 a112.892
n150 a114.298
n151 a115.704
n152 a117.11
n153 a118.515
n154 a119.921
n155 a121.327
n156 a122.732
n157 a124.138
n158 a125.544
n159 a126.949
n160 a128.173

n161 a128.355 f150.
N162 a129.761
n163 a131.166
n164 a131.264
n165 x59.993
n166 x52.546 f

(Ví dụ có thể xóa dòng tô đâm mà không ảnh hưởng gì đến ct)
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Phay không giống Tiện ! 4 trục hay 5 trục việc phân độ là bắt buộc ( ngoại trừ trung tâm gia công no bao gồm cả tiện nên có lênh quay trục A riêng giống như tiện ) Lý do : Nếu đường kính chi tiết là D thì D lớn hay nhỏ ta sẽ tính Feed ra sao đây và Post không có cơ sở để tính toán feed cho bạn tất nhiên nếu cố ép để được đoạn code đó thì cũng vẫn đúng nhưng yêu cầu phải tính toán xem trục A quay thế nào ? Tính feed ra sao khi mà Tool đứng yên mỗi trục A quay cái này với Mill 4 trục chỉ G93 là giải quyết đươc. Liêu có cách nào làm trục A xoay n vòng /phút không ? còn nếu đưa G94 F250 vào thông thường thì bài toán coi như đứt vì mỗi D khác nhau ta phải có F khác nhau tức là tính vận tôc phôi so với tool. đó là lý do Post nó vi phân nhỏ như bác phúc Post lên.
Khuyên luôn là không nên ép code cho ngắn lại chỉ nên tăng vi phân khi post ra và kèm theo Feed hợp lý thì code ngắn lại 50% kèm theo G93 !
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Giải pháp của mình là tăng vi phân khoản 0.5 độ mỗi bước và tính toán Feed cho G93 code sẽ giảm 80% chỉ cần 210 dòng lệnh để chạy từ 0 tới 100 độ mà Post nó có cơ sở tính toán rã ràng.
Khi chạy chương trình có vi phân độ như trên dùng G94 coi trừng nhé bởi G94 sinh ra để chạy Fix tool chứ không nên chạy simultaneous băng G94.
 

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Phay không giống Tiện ! 4 trục hay 5 trục việc phân độ là bắt buộc ( ngoại trừ trung tâm gia công no bao gồm cả tiện nên có lênh quay trục A riêng giống như tiện ) Lý do : Nếu đường kính chi tiết là D thì D lớn hay nhỏ ta sẽ tính Feed ra sao đây và Post không có cơ sở để tính toán feed cho bạn tất nhiên nếu cố ép để được đoạn code đó thì cũng vẫn đúng nhưng yêu cầu phải tính toán xem trục A quay thế nào ? Tính feed ra sao khi mà Tool đứng yên mỗi trục A quay cái này với Mill 4 trục chỉ G93 là giải quyết đươc. Liêu có cách nào làm trục A xoay n vòng /phút không ? còn nếu đưa G94 F250 vào thông thường thì bài toán coi như đứt vì mỗi D khác nhau ta phải có F khác nhau tức là tính vận tôc phôi so với tool. đó là lý do Post nó vi phân nhỏ như bác phúc Post lên.
Khuyên luôn là không nên ép code cho ngắn lại chỉ nên tăng vi phân khi post ra và kèm theo Feed hợp lý thì code ngắn lại 50% kèm theo G93 !
Rất cám ơn bác chimen, theo mình ý tưởng dùng G93 của Bác là khá thú vị và có lẻ là hướng đi đúng cho gia công 4/5 axis. Mình sẽ nghiên cứu thử xem. Mình cũng có thử chỉnh step cho góc xoay - tăng nó lên, tuy nhiên có cảm giác là post nó bỏ qua vài vị trí Angle đi kèm với giá trị X, (việc bỏ qua này khá nguy hiểm, tuy nhiên mình đang chuẩn bị phôi, máy để test trong thời gian tới.)


Giải pháp của mình là tăng vi phân khoản 0.5 độ mỗi bước và tính toán Feed cho G93 code sẽ giảm 80% chỉ cần 210 dòng lệnh để chạy từ 0 tới 100 độ mà Post nó có cơ sở tính toán rã ràng. Khi chạy chương trình có vi phân độ như trên dùng G94 coi chừng nhé bởi G94 sinh ra để chạy Fix tool chứ không nên chạy simultaneous băng G94.
Mình vẫn chưa từng post ra hay dùng G93 bao giờ, theo như bác thì khá thú vị. Tuy nhiên hiện nay bên mình dùng G94 thì máy vẫn chạy 4 axis OK bác ạ. Thằng bên hãng Dassault System (Pháp) nó bảo chỉnh một số chổ thì có thể rút ngắn chương trình lại, tuy nhiên mình test như nó chỉ thì không giảm được bao nhiêu. Thằng ấy nó làm được nhưng mà nó làm thì phải có $, mà bên mình thì mấy sếp muốn dùng "trí tuệ" giá rẻ trong nhà để mà làm ra.

À, mình có công trình "tự nghiên cứu" lập trình với Catia chạy helical, circular milling a chỉ có G3 X,Y,Z I,J dùng cho Simens dùng rất ok, giảm kb cho file G-Code đáng kể. Lúc nào đó share với các bạn.

Chân thành cám ơn các bác đóng góp ý kiến.
 

QuyenQCM

Active Member
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

À, chạy bình thường bạn ơi. Chỉ có mỗi cái là file nặng kb lắm, chạy vài cái pocket phay tinh bằng dao ball nose ăn site step .15mm(dao ballose D12) thì file nặng gần 3-4MB, mà bộ nhớ máy CNC chạy trực tiếp chỉ cở 1 MB thôi, nên phải cắt file và xóa bằng tay bớt góc A đi. Nếu mà tự động xóa được góc A ở giửa thì hày quá.

n123 a76.947
n124 a78.353
n125 a79.759
n126 a81.164
n127 a82.57
n128 a83.976
n129 a85.381
n130 a86.787
n131 a88.193
n132 a89.398
n133 a90.402
n134 a91.807
n135 a93.213
n136 a94.619
n137 a96.024
n138 a97.43
n139 a98.836
n140 a100.241
n141 a101.647
n142 a103.053
n143 a104.458
n144 a105.864
n145 a107.27
n146 a108.675
n147 a110.081
n148 a111.487
n149 a112.892
n150 a114.298
n151 a115.704
n152 a117.11
n153 a118.515
n154 a119.921
n155 a121.327
n156 a122.732
n157 a124.138
n158 a125.544
n159 a126.949
n160 a128.173

n161 a128.355 f150.
N162 a129.761
n163 a131.166
n164 a131.264
n165 x59.993
n166 x52.546 f

(Ví dụ có thể xóa dòng tô đâm mà không ảnh hưởng gì đến ct)
anh Bí có quy luật về mấy cái góc A cần xóa không, em viết phần mềm xóa tự động giúp cho, keke
giống cái phần mềm cắt đầu câu lệnh của em hôm trước thôi
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

QuyenQCM Vấn đề mình nghĩ không phải là Xóa đi ! Nếu tìm xóa dòng thì viết cái macro MSword là xong ! Làm sao điều chỉnh được từ Post là tốt nhất đó mới là hương ( liên quan Calculator Feed ).
 

QuyenQCM

Active Member
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

QuyenQCM Vấn đề mình nghĩ không phải là Xóa đi ! Nếu tìm xóa dòng thì viết cái macro MSword là xong ! Làm sao điều chỉnh được từ Post là tốt nhất đó mới là hương ( liên quan Calculator Feed ).
mọi con đường đều dẫn đến thành Rome anhchimen_bka
à
Đây cũng là 1 cách, liệu cơm gắp mắm thôi,
Ví như em có con máy phay 3 trục nhưng đầu Z có thể xoay được bằng cơm( xoay xong cố định lại ) thế mà e cũng biến nó thành máy 4 trục....

( mượn con máy trên mạng của Thái Hùng )
Liệu cơm gắp mắm
Đành rằng chỉnh sửa thực tế trong Post là thơm, nhưng trong khi chờ đợi,rồi thử nghiệm thì có cái sài đỡ đã.... kekeke
Còn đây là cái phần mềm e sửa đầu câu lệnh:
[video=youtube;qT75uLmpcxA]http://www.youtube.com/watch?v=qT75uLmpcxA&amp;feature=youtu.be[/video]
 
Last edited:

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

anh Bí có quy luật về mấy cái góc A cần xóa không, em viết phần mềm xóa tự động giúp cho, keke
giống cái phần mềm cắt đầu câu lệnh của em hôm trước thôi
Về lâu dài nói như bác Chimen thì khá là ok và hợp lý,search trên mạng thì thấy các diễn đàn nước ngoài cũng cãi nhau chí chóe về cách dùng cũng như ưu điểm của G93.

Tuy nhiên trước mắt thì bên mình xóa chương trình bằng tay. Vị dụ giửa hai góc A100 và A200 nếu như chính giửa nó không có giá trị X, (hay Y) thì mình xóa bỏ các giá trị trung gian ví dụ A101, A102...A200. Thông thường mở CIMCO ra và delete bớt các point nằm trên 1 cung tròn (có bán kính =nhau). Bác Quyền xem viết cái chương trình như thế có ok không ? Cắt mà đúng thì ok, chứ G-Code mà bác cắt ...lộn chổ thì tiêu con máy. Kakaka:21:
 

QuyenQCM

Active Member
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Về lâu dài nói như bác Chimen thì khá là ok và hợp lý,search trên mạng thì thấy các diễn đàn nước ngoài cũng cãi nhau chí chóe về cách dùng cũng như ưu điểm của G93.

Tuy nhiên trước mắt thì bên mình xóa chương trình bằng tay. Vị dụ giửa hai góc A100 và A200 nếu như chính giửa nó không có giá trị X, (hay Y) thì mình xóa bỏ các giá trị trung gian ví dụ A101, A102...A200. Thông thường mở CIMCO ra và delete bớt các point nằm trên 1 cung tròn (có bán kính =nhau). Bác Quyền xem viết cái chương trình như thế có ok không ? Cắt mà đúng thì ok, chứ G-Code mà bác cắt ...lộn chổ thì tiêu con máy. Kakaka:21:
cắt mà cắt lộn thì còn gì là programer :p nhưng bác phải cho em quy luật bất biến vì phần mềm nó làm việc theo quy luật, giống kiểu macro ấy.
Bác gửi em một số file trước và sau khi cắt,,, keke.
 

QuyenQCM

Active Member

QuyenQCM

Active Member
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Anh chim đi nghỉ mát hay sao mà không thấy trả lời!
Anh Bí chuyển cho em một số file mẫu trước và sau khi edit......... Chi phí thì free bác không phải ngại!!!!!!!!!!
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Uh thì cho file code xong yêu cầu cắt cái j quy tắc ra sao thì đc ngay mà.
 

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Vị dụ giửa hai góc A100 và A200 nếu như chính giửa nó không có giá trị X, (hay Y) thì mình xóa bỏ các giá trị trung gian ví dụ A101, A102...A200. Thông thường mở CIMCO ra và delete bớt các point nằm trên 1 cung tròn (có bán kính =nhau). Bác Quyền xem viết cái chương trình như thế có ok không ? Cắt mà đúng thì ok, chứ G-Code mà bác cắt ...lộn chổ thì tiêu con máy.
Yêu cầu của mình đây nè, kakaka. Chỉ rất kà simple thôi, Bác viết được thì báo mình cái giá nhé.

Ví dụ,
G1



[TD="width: 64"]A[/TD]
[TD="width: 64, align: right"]100[/TD]



[TD="align: right"]100.01[/TD]



[TD="align: right"]100.02[/TD]



[TD="align: right"]100.03[/TD]



[TD="align: right"]100.04[/TD]



[TD="align: right"]100.05[/TD]



[TD="align: right"]100.06[/TD]



[TD="align: right"]100.07[/TD]



[TD="align: right"]100.08[/TD]



[TD="align: right"]100.09[/TD]



[TD="align: right"]100.1[/TD]



[TD="align: right"]100.11[/TD]



[TD="align: right"]100.12[/TD]



[TD="align: right"]100.13[/TD]



[TD="align: right"]100.14[/TD]



[TD="align: right"]100.15[/TD]



[TD="align: right"]100.16[/TD]



[TD="align: right"]100.17[/TD]



[TD="align: right"]100.18[/TD]



[TD="align: right"]100.19[/TD]

A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A

Thực tế đoạn code này chỉ cần

G1 A100
....
A100.19
 
Last edited:
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Sau một số ngày nghiên cứu thì em đã cho ra được kết quả như bác Bí mong muốn. Vấn đề ở đây là chỉ dùng dc cho NX mà thôi :).
Ở đây post được chỉnh lại để khi có chuyển động quay liên tục không có thay đổi các tọa độ X Y Z thì các góc quay được cộng lại, cùng với việc bỏ qua (skip) các chuyển động này để có một chương trình đơn giản.
Nếu muốn làm vc thuận tiện để k phải xử dụng 2 post khi muốn hay không muốn thực hiện chức năng này thì tạo thêm một tùy chọn trực tiếp trên NX để on hay off nó nữa là ok.
Các bác xem và cho em nhận xét:
[video=youtube_share;QyyeIh7c2ms]http://youtu.be/QyyeIh7c2ms[/video]
 

iPumpkin

<center><b>CAM Programmer</b></center>
Author
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Ở đây post được chỉnh lại để khi có chuyển động quay liên tục không có thay đổi các tọa độ X Y Z thì các góc quay được cộng lại, cùng với việc bỏ qua (skip) các chuyển động này để có một chương trình đơn giản.
Hi man, anh kiểm tra G-Code thì OK, perfect. Tuy nhiên anh có vài thắc mắc sau:

Gia công 4 trục trừ trường hợp lệch tâm thì tọa độ khi xoay A thì chỉ có X,Z thôi (lúc này Y=> A). Khi em nói X, Z không đổi thì được CỘNG LẠI ? Cộng lại như thế nào nhỉ ? Em có thể trình bày nguyên lý (các tùy chọn mà em làm trong NX Post Builder không ?.

Trong IMSPost thì nó là Arc Fit / Spiral - Spiral là một hình trụ tròn xoay quanh trục X, tuy nhiên Macro Spiral có sẵn trong IMSPost cho Siemen thì chưa đầy đủ.
 
Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

Hi bác Bí!
Gia công 4 trục trừ trường hợp lệch tâm thì tọa độ khi xoay A thì chỉ có X,Z thôi (lúc này Y=> A).
Chúng ta cần tính toán để xác định ra các chuyển động quay liên tục k có sự thay đổi X, Y, Z. Trục quay có thể là trục thứ 4 hoặc thứ 5 nên cần có việc check cả Y ở đây. Nếu 4 trục thì X Z là đủ.

Khi em nói X, Z không đổi thì được CỘNG LẠI ? Cộng lại như thế nào nhỉ ?
Để tính toán việc cộng góc và bỏ qua các Bolck đã cộng cần những cái sau:
+ Góc giới hạn là 180 độ. Anh em giải thích thử tại sao k thể cộng được giá trị lớn hơn nhé :)
+ Theo như mục đích thì ở đây các góc A di chuyển những giá trị nhỏ liên tục, vì vậy chúng ta sẽ cộng các giá trị góc (đây là giá trị tương đối giữu hai điểm kế tiếp) lại với nhau. Xét các chuyển động liên tục và tính giá trị đó nếu thay đổi giá trị trong khoảng 0 đến 180 thì bỏ qua block trước, output block sau. Việc này tiếp tục được thực hiện với các chuyển động tiếp theo và dừng lại khi có chuyển động ngược hướng hoặc giá trị (tổng các phép trừ) lớn hơn 180 độ.
Vậy thực ra ở việc cộng góc ở đây mục đích là để xác định giá trị tổng không được vượt quá 180 độ.
Còn trường hợp chạy xoắn ốc bác Bí có cao kiến gì k?
 
Top