Công cụ Python

Người dùng cũng có thể chạy các script python của mình trong Requirements & Systems Portal để thực hiện một số phép tính thông qua mã python, tương tự như octave engine. Ngoài ra, điều này cũng cho phép người dùng truy cập rest API và thực hiện chỉnh sửa các đối tượng riêng lẻ hoặc hàng loạt. Python engine tích hợp hiện hỗ trợ các gói python “Valispace”, pint và Scipy (bao gồm NumPy và các gói khác). Hiện tại chưa phải tất cả các gói python đều khả dụng.

Luồng Python Script trong Scripting Module

Quy trình làm việc điển hình trong một scripting module có sử dụng python engine được minh họa trong hình bên dưới. Trong trường hợp người dùng không muốn thực hiện phép tính mà chỉ muốn thực hiện các thay đổi hàng loạt thông qua rest API, người dùng có thể viết mã python trực tiếp và chạy script.

Các gói trong python Engine

Vì chúng tôi triển khai python engine trong Requirements & Systems Portal như một tính năng beta, nên python engine không hỗ trợ tất cả các gói. Hiện tại chỉ có rất ít gói được hỗ trợ. Danh sách các gói hiện được hỗ trợ được liệt kê tại đây.

Ví dụ về python scripting

Với python engine, người dùng có thể thêm đầu vào và đầu ra, đồng thời viết mã python để tính toán kết quả. Cách hoạt động này tương tự như Octave Engine trong Requirements & Systems Portal. Trong ví dụ bên dưới, bạn có thể thấy cách viết script python để thêm một sub-Block vào một Block.

from typing import Any, Dict

import valispace

def main(**kwargs) -> Dict[str, Any]:
    """
    This is the main function to execute your script and it must exists.

    Other functions and files can be also created. You have at your disposal
    to import Valispace API, scipy, numpy and pint.

    :param kwargs: Dictionary with data received from Valispace.
    :type kwargs: Dict[str, Any]

    :return: Dictionary with data to send back to Valispace.
    :rtype: Dict[str, Any]
    """
    # TODO: Write your code here
    
valispace = valispace.API(url="https://.valispace.com/", username = "", password = "") #add your deployment name, username and the password

# The ID of the Parent Component; If it is at the highest level, parent is null, but project need to be specified.
parent_component = 57111

# Object with the new Component Property
component = {
	"name": "NewCompentName2",
	"parent": parent_component
}


# Function to get Vali by the fullname
componentPosted = valispace.post("components/", component)

 

Hiện tại, để truy cập rest API của Requirements & Systems Portal, người dùng phải cung cấp temporary access login token được lưu trong kwargs của hàm main hoặc sử dụng User Tokens, xem tại đây.

Dưới đây là một số ý tưởng về những việc bạn có thể làm với scripting module:

  • Tạo một vali và thêm nó vào nhiều component hiện có

  • Chỉnh sửa hàng loạt các định danh của requirement

  • Chạy một mô phỏng bằng python

  • Chuyển đổi đơn vị của tất cả power valis sang kW

  • Tạo và chạy một script để xuất cấu trúc phân cấp của các component

  • Tạo bản xuất ở định dạng ReqIF từ các requirement

  • Tạo bill of materials bằng cách trích xuất vật liệu, số hiệu component, khối lượng, chi phí của các component

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Nội dung