
Datum plane và datum axis cố định: tạo mặt phẳng tham chiếu bằng script
#Python#Datum1 lượt xem
Quản trị viênQuản trị· 0 điểm
Câu hỏi ·
Datum plane và axis là hệ quy chiếu cho sketch, mirror và pattern. Với script, cách nhanh nhất là tạo datum cố định (fixed) từ gốc và hướng cho trước.
Datum plane và datum axis cố địnhCác bước thực hiện
- Chọn gốc và hướng. Origin là Point3d, hướng là ma trận Matrix3x3 hoặc vectơ.
- Tạo datum plane. part.Datums.CreateFixedDatumPlane(origin, matrix).
- Tạo datum axis. part.Datums.CreateFixedDatumAxis(start, end).
- Đặt tên. Đặt tên cho feature để dễ tìm lại bằng script khác.
- Kiểm tra. Duyệt Datums để liệt kê.
Code tham khảo (Python)
import NXOpen def ma_tran_mat_phang_xy(): m = NXOpen.Matrix3x3() m.Xx, m.Xy, m.Xz = 1.0, 0.0, 0.0 # trục X m.Yx, m.Yy, m.Yz = 0.0, 1.0, 0.0 # trục Y m.Zx, m.Zy, m.Zz = 0.0, 0.0, 1.0 # trục Z (pháp tuyến) return m def main(): session = NXOpen.Session.GetSession() lw = session.ListingWindow lw.Open() part = session.Parts.Work if part is None: return mark = session.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Datum") mat_phang = part.Datums.CreateFixedDatumPlane(NXOpen.Point3d(0, 0, 30.0), ma_tran_mat_phang_xy()) truc = part.Datums.CreateFixedDatumAxis(NXOpen.Point3d(0, 0, 0), NXOpen.Point3d(0, 0, 100.0)) lw.WriteLine("Đã tạo datum plane và datum axis") lw.WriteLine("-- Các datum trong part --") for d in part.Datums: lw.WriteLine(" " + d.GetType().Name) if __name__ == "__main__": main()Giải thích code
Matrix3x3gồm 9 thành phần: ba hàng cho ba trục X, Y, Z của hệ tọa độ địa phương.- Datum plane lấy trục Z của ma trận làm pháp tuyến, nên đổi ma trận để quay mặt phẳng.
GetType().Namehiển thị tên lớp .NET của từng phần tử.
Lỗi thường gặp
- Ma trận phải trực chuẩn (ba trục vuông góc, độ dài 1); nếu không NX có thể từ chối.
- Datum 'fixed' không đi theo khi mô hình thay đổi; dùng datum tương đối nếu cần tham số hóa.
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.