NX Lab

Chạy script tự động khi NX khởi động: startup journal và thư mục startup của site

#Tùy biến#Journal1 lượt xem

  1. Quản trị viênQuản trị· 0 điểm

    Câu hỏi ·

    Có những việc cần làm mỗi khi NX mở: nạp thư viện nội bộ, hiển thị thông báo, đặt biến môi trường. NX có nhiều cơ chế khởi động; đơn giản nhất là đặt file vào thư mục startup của thư mục tùy biến.

    Chạy script tự động khi NX khởi động Chạy script tự động khi NX khởi động

    Các bước thực hiện

    1. Chọn cơ chế. Thư mục startup, hoặc DLL nạp tự động bằng đăng ký.
    2. Viết journal khởi động. Việc nhẹ, chạy nhanh, bọc try/except.
    3. Khai báo trong .men hoặc dat. Hoặc dùng cơ chế riêng của site.
    4. Kiểm tra bằng syslog. Đọc log khi NX khởi động.
    5. Cho phép tắt. Biến môi trường NXLAB_KHONG_KHOI_DONG.

    Code tham khảo (Python)

    # khoi_dong.py - chạy nhẹ, không bao giờ làm NX khởi động lỗi
    import os
    import time
    import NXOpen
    
    def main():
        if os.environ.get("NXLAB_KHONG_KHOI_DONG"):
            return
        try:
            session = NXOpen.Session.GetSession()
            session.LogFile.WriteLine("[NXLAB] khởi động lúc " + time.strftime("%H:%M:%S"))
            thu_vien = "D:/NXLab/lib"
            import sys
            if thu_vien not in sys.path:
                sys.path.insert(0, thu_vien)
        except Exception as ex:
            # Không ném lỗi ra ngoài để không ảnh hưởng quá trình khởi động của NX
            try:
                NXOpen.Session.GetSession().LogFile.WriteLine("[NXLAB] lỗi khởi động: %s" % ex)
            except Exception:
                pass
    
    if __name__ == "__main__":
        main()
    

    Giải thích code

    • Script khởi động phải cực nhẹ và bọc try/except ngoài cùng; lỗi ở đây ảnh hưởng mọi người dùng.
    • Biến môi trường tắt khởi động giúp bạn bỏ qua script khi cần gỡ lỗi mà không phải sửa file.
    • Ghi vào syslog để xác nhận script đã chạy, thay vì hộp thoại làm chậm khởi động.

    Lỗi thường gặp

    • Đừng mở hộp thoại hay kết nối mạng trong script khởi động; có thể làm NX treo vài chục giây.
    • Cách đăng ký chạy khi khởi động khác nhau giữa các phiên bản và cấu hình; hỏi quản trị NX của công ty.

    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.