
Hậu xử lý (Postprocess) ra file NC: chọn post, đơn vị, thư mục và đặt tên theo chương trình
#Python#CAM#Post1 lượt xem
Quản trị viênQuản trị· 0 điểm
Câu hỏi ·
Hậu xử lý là bước cuối: chuyển đường chạy dao thành mã máy. Script chọn post, đơn vị xuất và đặt tên file theo quy ước, thay vì nhập tay cho từng chương trình.
Hậu xử lý (Postprocess) ra file NCCác bước thực hiện
- Chọn nhóm chương trình. Lấy nhóm trong Program Order.
- Chọn post. Tên post như trong hộp thoại Postprocess.
- Đặt đơn vị đầu ra. OutputUnits.Metric hoặc Inch hoặc PostDefined.
- Gọi Postprocess. Danh sách đối tượng, tên post, đường dẫn, đơn vị.
- Kiểm tra file. Tồn tại và có kích thước.
Code tham khảo (Python)
import os import NXOpen import NXOpen.CAM def tim_nhom(setup, ten): ngan_xep = [setup.GetRoot(NXOpen.CAM.CAMSetup.View.ProgramOrder)] while ngan_xep: nhom = ngan_xep.pop() for obj in nhom.GetMembers(): if setup.IsGroup(obj): if obj.Name == ten: return obj ngan_xep.append(obj) return None def hau_xu_ly(setup, nhom, ten_post, duong_dan): os.makedirs(os.path.dirname(duong_dan), exist_ok=True) setup.Postprocess([nhom], ten_post, duong_dan, NXOpen.CAM.CAMSetup.OutputUnits.Metric) if not os.path.isfile(duong_dan) or os.path.getsize(duong_dan) == 0: raise RuntimeError("Hậu xử lý xong nhưng không thấy file: " + duong_dan) return os.path.getsize(duong_dan) def main(): session = NXOpen.Session.GetSession() lw = session.ListingWindow lw.Open() part = session.Parts.Work setup = part.CAMSetup if part else None if setup is None: lw.WriteLine("Part chưa có CAM Setup") return nhom = tim_nhom(setup, "PROGRAM") # thay bằng tên nhóm chương trình thật if nhom is None: lw.WriteLine("Không thấy nhóm chương trình") return ra = "D:/NXLab_xuat/nc/%s_OP10.nc" % part.Leaf try: kich = hau_xu_ly(setup, nhom, "MILL_3_AXIS", ra) # tên post theo máy của bạn lw.WriteLine("Đã xuất NC (%d byte): %s" % (kich, ra)) except Exception as ex: lw.WriteLine("Lỗi hậu xử lý: %s" % ex) if __name__ == "__main__": main()Giải thích code
- Tên post (
MILL_3_AXIS) phải khớp tên post có trong thư viện của site; đây là giá trị thường sai nhất. - Kiểm tra file đầu ra giúp phát hiện trường hợp post chạy xong nhưng không ghi gì.
PostprocessWithSettingcho thêm tùy chọn cảnh báo và công cụ xem lại nếu cần.
Lỗi thường gặp
- Hậu xử lý operation chưa có path cho file rỗng hoặc lỗi; chạy bước sinh path trước.
- Đừng chạy NC chưa được người có trách nhiệm duyệt và mô phỏng lên máy thật; script chỉ sinh file, không thay việc kiểm tra an toàn.
Code mang tính tham khảo, viết cho NX 12 trở lên (Python journal). Tên menu và một số lớp có thể khác theo phiên bản NX; hãy chạy thử trên bản sao của chi tiết trước khi dùng cho dữ liệu thật.
Điểm: 0
Trả lời
Đăng nhập để tham gia thảo luận.