Движок Python

Пользователи также могут запускать свои скрипты python на портале Requirements & Systems Portal для выполнения некоторых вычислений с помощью кодирования на python, аналогичного движку octave. Кроме того, это также позволяет пользователям получать доступ к остальным API и выполнять модификации объектов по отдельности или в большом количестве. Встроенный движок python в настоящее время поддерживает пакеты python "Valispace", pint и Scipy (включает NumPy и другие). В настоящее время доступны не все пакеты python.

Поток сценариев Python в модуле сценариев

Типичный рабочий процесс в модуле сценариев с использованием движка python показан на рисунке ниже. Если пользователь не хочет выполнять вычисления и вносить массовые изменения через rest API, он может написать код на python напрямую и запустить скрипт.

Пакеты внутри движка python

Поскольку мы внедрили движок python в портал требований и систем в качестве бета-версии, движок python поддерживает не все пакеты. В настоящее время поддерживается очень мало пакетов. Пакеты, которые поддерживаются в настоящее время, перечислены здесь.

Пример сценария на python

С помощью движка python пользователь может добавить входные и выходные данные и написать код на языке python для вычисления результатов. Это похоже на то, как это работает с движком Octave в Requirements & Systems Portal. В приведенном ниже примере показано, как написать скрипт на языке python для добавления подблока к блоку.

from typing import Any, Dict

import valispace

def main(**kwargs) -> Dict[str, Any]:
    """
    Это главная функция для выполнения вашего скрипта, и она должна существовать.

    Также могут быть созданы другие функции и файлы. В вашем распоряжении
    импортировать Valispace API, scipy, numpy и pint.

    :param kwargs: Словарь с данными, полученными от Valispace.
    :type kwargs: Dict[str, Any]

    :return: Словарь с данными для отправки обратно в Valispace.
    :rtype: Dict[str, Any]
    """
    # TODO: Напишите здесь свой код
    
valispace = valispace.API(url="https://.valispace.com/", имя пользователя = "", пароль = "") # добавьте свое имя развертывания, имя пользователя и пароль

# ID родительского компонента; если компонент находится на самом высоком уровне, parent будет равен null, но проект должен быть указан.
родительский_компонент = 57111

# Объект с новым свойством Component
компонент = {
	"name": "NewCompentName2",
	"parent": parent_component
}


# Функция для получения Вали по полному имени
componentPosted = valispace.post("components/", component)

В настоящее время для доступа к Rest API портала Requirements & Systems Portal пользователю необходимо предоставить временный токен входа, который хранится в kwargs основной функции, или использовать User Tokens, см. здесь.

Вот несколько идей того, что можно сделать с помощью модуля сценариев:

  • Создание вали и добавление его к нескольким существующим компонентам

  • Вносить массовые изменения в идентификаторы требований

  • Запуск моделирования с помощью python

  • Переведите единицы измерения всех значений мощности в кВт

  • Создание и запуск сценария для экспорта иерархии компонентов

  • Создание экспорта в формате ReqIF из требований

  • Создание ведомости материалов с извлечением материала компонентов, номера компонента, массы, стоимости

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Content