
Chụp ảnh khung nhìn ra file PNG bằng ImageExportBuilder: ảnh minh họa cho báo cáo tự động
#Python#Hình ảnh1 lượt xem
Quản trị viênQuản trị· 0 điểm
Câu hỏi ·
Báo cáo kiểm tra thường cần ảnh chi tiết kèm theo. NX có ImageExportBuilder cho phép xuất khung nhìn đồ họa ra file ảnh PNG, nền giữ nguyên hoặc trong suốt.
Chụp ảnh khung nhìn ra file PNG bằng…Các bước thực hiện
- Chuẩn bị khung nhìn. Fit và đổi sang hướng nhìn đẳng cự.
- Tạo builder. NXOpen.UI.GetUI().CreateImageExportBuilder().
- Đặt định dạng và tên file. FileFormat = Png, FileName = đường dẫn.
- Chọn nền. BackgroundOption = Original hoặc Transparent.
- Commit và hủy. Commit() rồi Destroy().
Code tham khảo (Python)
import os import NXOpen def chup_anh(duong_dan, nen_trong_suot=False): os.makedirs(os.path.dirname(duong_dan), exist_ok=True) b = NXOpen.UI.GetUI().CreateImageExportBuilder() try: b.FileFormat = NXOpen.Gateway.ImageExportBuilder.FileFormats.Png b.FileName = duong_dan b.RegionMode = False # xuất toàn bộ cửa sổ đồ họa b.EnhanceEdges = False b.BackgroundOption = (NXOpen.Gateway.ImageExportBuilder.BackgroundOptions.Transparent if nen_trong_suot else NXOpen.Gateway.ImageExportBuilder.BackgroundOptions.Original) b.Commit() finally: b.Destroy() def main(): session = NXOpen.Session.GetSession() lw = session.ListingWindow lw.Open() part = session.Parts.Work if part is None: return view = part.ModelingViews.WorkView view.Orient(NXOpen.View.Canned.Isometric, NXOpen.View.ScaleAdjustment.Fit) view.UpdateDisplay() duong_dan = "D:/NXLab_xuat/%s.png" % part.Leaf chup_anh(duong_dan) lw.WriteLine("Đã chụp ảnh: " + duong_dan) if __name__ == "__main__": main()Giải thích code
CreateImageExportBuildernằm trênUIvì ảnh chụp lấy từ cửa sổ đồ họa.RegionMode = Truekết hợpRegionWidth,RegionHeightdùng để chụp một vùng nhỏ thay vì toàn bộ cửa sổ.- Luôn
Destroy()builder sau khi xuất để giải phóng tài nguyên.
Lỗi thường gặp
- Cần cửa sổ đồ họa đang hiển thị; không dùng được trong chế độ chạy nền.
- Tên file phải có đuôi
.pngkhớp với định dạng đã chọ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.