
Xuất bản vẽ hoặc mô hình sang DXF/DWG bằng DxfdwgCreator cho đối tác dùng AutoCAD
#Python#DXF#Xuất file1 lượt xem
Quản trị viênQuản trị· 0 điểm
Câu hỏi ·
Đối tác thường yêu cầu DXF/DWG để mở bằng AutoCAD. DxfdwgCreator cho phép chọn xuất 2D hay 3D, loại file, và phiên bản AutoCAD.
Xuất bản vẽ hoặc mô hình sang DXF/DWG bằng…Các bước thực hiện
- Tạo creator. session.DexManager.CreateDxfdwgCreator().
- Chọn nguồn. ExportFrom = DisplayPart hoặc ExistingPart, InputFile.
- Chọn dạng xuất. ExportAs = TwoD hoặc ThreeD.
- Chọn loại file. OutputFileType = Dxf hoặc Dwg; OutputFile.
- Commit và hủy. Commit() rồi Destroy().
Code tham khảo (Python)
import os import NXOpen def xuat_dxf(session, duong_dan_prt, duong_dan_ra, dwg=False, hai_chieu=True, file_cau_hinh=None): os.makedirs(os.path.dirname(duong_dan_ra), exist_ok=True) c = session.DexManager.CreateDxfdwgCreator() try: c.ExportFrom = NXOpen.DxfdwgCreator.ExportFromOption.ExistingPart c.InputFile = duong_dan_prt c.OutputFile = duong_dan_ra c.ExportAs = (NXOpen.DxfdwgCreator.ExportAsOption.TwoD if hai_chieu else NXOpen.DxfdwgCreator.ExportAsOption.ThreeD) c.OutputFileType = (NXOpen.DxfdwgCreator.OutputFileTypeOption.Dwg if dwg else NXOpen.DxfdwgCreator.OutputFileTypeOption.Dxf) c.FileSaveFlag = False if file_cau_hinh and os.path.isfile(file_cau_hinh): c.SettingsFile = file_cau_hinh # file .def tạo từ hộp thoại Export DXF/DWG c.Commit() finally: c.Destroy() def main(): session = NXOpen.Session.GetSession() lw = session.ListingWindow lw.Open() part = session.Parts.Work if part is None: return prt = part.FullPath ra = "D:/NXLab_xuat/%s.dxf" % part.Leaf try: xuat_dxf(session, prt, ra, dwg=False, hai_chieu=True) lw.WriteLine("Đã xuất DXF: " + ra) except NXOpen.NXException as ex: lw.WriteLine("Lỗi xuất DXF: " + ex.Message) if __name__ == "__main__": main()Giải thích code
ExistingPartxuất từ file.prttrên đĩa, cònDisplayPartxuất từ part đang hiển thị.- File cấu hình
.deflưu mọi tùy chọn (phiên bản AutoCAD, ánh xạ layer, font...) và nên dùng để kết quả nhất quán. FileSaveFlag = Falsekhông mở lại file ra sau khi xuất.
Lỗi thường gặp
- Muốn xuất đúng một số sheet cần đặt
DrawingList; mặc định xuất mô hình hoặc sheet hiện hành tùy tùy chọn. - Part chưa lưu có
FullPathrỗng hoặc cũ; lưu part trước khi xuất theoExistingPart.
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.