Tiện ích mở rộng Altium Designer
Altium Designer's extension model lets you add functionality that runs inside the design environment itself – not alongside it.
Extension là các DLL đã được biên dịch, được xây dựng bằng SDK của Altium Designer trong C# hoặc C++. Chúng tích hợp vào kiến trúc client-server của Altium Designer như những mô-đun hạng nhất – không thể phân biệt với chức năng tích hợp sẵn từ góc nhìn của người dùng. Một extension có thể thêm mục menu, panel, thanh công cụ và lệnh; truy cập và chỉnh sửa toàn bộ mô hình đối tượng thiết kế, bao gồm PCB, Schematic, BOM và dữ liệu dự án; đồng thời tạo đầu ra như một phần của quy trình Outjob thông thường.
Đây là một mô hình khác với scripting. Script được thông dịch tại thời điểm chạy và bị giới hạn trong tập con API scripting. Extension được biên dịch, có toàn quyền truy cập SDK, và có thể triển khai trình chỉnh sửa tài liệu cũng như bộ tạo đầu ra riêng. Với bất kỳ thứ gì cần chạy ổn định ở quy mô lớn, tích hợp sâu với môi trường thiết kế, hoặc được phân phối cho nhiều kỹ sư như một công cụ được hỗ trợ chính thức, extension là cách tiếp cận phù hợp.
Extension Thực Tế Được Dùng Để Làm Gì
-
Custom panels and UI within Altium Designer – trường hợp sử dụng phổ biến nhất. Một extension thêm panel có thể dock để hiển thị thông tin từ hệ thống bên ngoài – trạng thái linh kiện từ ERP, dữ liệu nhà sản xuất đã được phê duyệt từ cơ sở dữ liệu nội bộ, dữ liệu chuỗi cung ứng theo thời gian thực – trực tiếp bên trong môi trường thiết kế. Kỹ sư có thể thấy những gì họ cần mà không phải chuyển đổi công cụ.
-
Proprietary output generators – hệ thống Outjob của Altium Designer hỗ trợ các bộ tạo đầu ra tùy chỉnh có thể tích hợp như những loại đầu ra hạng nhất. Một extension có thể tạo đầu ra ở các định dạng chưa được hỗ trợ sẵn – định dạng netlist tùy chỉnh, cấu trúc dữ liệu sản xuất độc quyền, mẫu tài liệu nội bộ – và tích hợp chúng vào quy trình đầu ra và phát hành hiện có.
-
Design rule extensions – extension có thể bổ sung các kiểm tra DRC tùy chỉnh chạy trong chính hệ thống DRC gốc của PCB editor. Phần kiểm tra này xuất hiện trong cùng panel, tạo ra cùng các dấu vi phạm và cross-probe đến cùng các đối tượng như DRC tích hợp sẵn. Kỹ sư thậm chí không cần biết đó là một kiểm tra tùy chỉnh.
-
Automation beyond scripting – extension có thể tự động hóa các chuỗi thao tác thiết kế phức tạp mà script khó thực hiện hiệu quả – lặp qua các thiết kế lớn, thực hiện thao tác hàng loạt trên nhiều tệp, tích hợp với API bên ngoài trong quá trình thiết kế. Vì extension đã được biên dịch, chúng chạy với mức hiệu năng tương đương chính ứng dụng.
Extension so với Scripting: Khi Nào Nên Dùng Loại Nào
Hãy dùng scripting cho việc lặp nhanh, tự động hóa một lần, và các tác vụ cần được chỉnh sửa thường xuyên. Script viết nhanh hơn và dễ thay đổi hơn.
Hãy dùng extension khi bạn cần toàn quyền truy cập SDK, độ tin cậy ở mức production, các thành phần giao diện người dùng, trình chỉnh sửa tài liệu hoặc bộ tạo đầu ra tùy chỉnh, hoặc khả năng phân phối như một công cụ được quản lý trên toàn nhóm. Extension đòi hỏi một bước build và môi trường phát triển, nhưng khoản đầu tư đó rất xứng đáng với bất kỳ thứ gì trở thành một phần tiêu chuẩn trong quy trình làm việc của nhóm bạn.
Phân Phối và Bảo Trì
Extension được phân phối và quản lý thông qua Altium Workspace. Sau khi được phát hành, kỹ sư có thể cài đặt extension từ Workspace của họ mà không cần phân phối tệp thủ công hay các bước cài đặt cục bộ. Việc cập nhật cũng được quản lý thông qua cùng cơ chế đó. Điều này khiến extension trở nên thực tế như các công cụ dùng cho nhóm – không chỉ là các tiện ích cá nhân – vì bài toán phân phối và cập nhật đã được giải quyết sẵn.
Khi Extension Không Phải Là Lựa Chọn Phù Hợp
Nếu nhu cầu của bạn chỉ là một tác vụ tự động hóa đơn giản hoặc một phép chuyển đổi dữ liệu dùng một lần, scripting sẽ giúp bạn đạt mục tiêu nhanh hơn với ít chi phí phụ hơn. Extension phù hợp khi chức năng đó cần đáng tin cậy, dễ bảo trì và sẵn sàng cho nhiều kỹ sư sử dụng như một phần được hỗ trợ của quy trình làm việc. Nếu bạn chưa chắc nên bắt đầu với cách nào, hãy bắt đầu bằng scripting – extension là bước tiếp theo rất tự nhiên nếu script vượt quá các giới hạn của nó.