Motor de Python

Los usuarios también pueden ejecutar sus scripts de python dentro de Requirements & Systems Portal para realizar algunos cálculos mediante código python, de forma similar al motor de octave. Además, esto también permite a los usuarios acceder a la API rest y realizar modificaciones en los objetos de forma individual o masiva. El motor de python integrado actualmente admite los paquetes de python “Valispace”, pint y Scipy (incluye NumPy y otros). Actualmente no están disponibles todos los paquetes de python.

Flujo de scripts de Python en el módulo de scripting

El flujo de trabajo típico en un módulo de scripting que utiliza el motor de python se muestra en la imagen de abajo. En caso de que el usuario no quiera realizar un cálculo y desee hacer cambios masivos mediante la API rest, puede escribir el código python directamente y ejecutar el script.

Paquetes dentro del motor de python

Dado que implementamos el motor de python dentro de Requirements & Systems Portal como una función beta, el motor de python no admite todos los paquetes. Actualmente, solo se admiten muy pocos paquetes. Los paquetes compatibles actualmente se enumeran aquí.

Ejemplo de scripting en python

Con el motor de python, el usuario puede agregar las entradas y la salida, y puede escribir código python para calcular los resultados. Esto es similar a cómo funciona con el Octave Engine en Requirements & Systems Portal. En el siguiente ejemplo puede ver cómo escribir el script de python para agregar un subbloque a un bloque.

from typing import Any, Dict

import valispace

def main(**kwargs) -> Dict[str, Any]:
    """
    Esta es la función principal para ejecutar su script y debe existir.

    También se pueden crear otras funciones y archivos. Tiene a su disposición
    la importación de la API de Valispace, scipy, numpy y pint.

    :param kwargs: Diccionario con los datos recibidos de Valispace.
    :type kwargs: Dict[str, Any]

    :return: Diccionario con los datos que se enviarán de vuelta a Valispace.
    :rtype: Dict[str, Any]
    """
    # TODO: Escriba su código aquí
    
valispace = valispace.API(url="https://.valispace.com/", username = "", password = "") #agregue el nombre de su implementación, nombre de usuario y contraseña

# 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)

 

Actualmente, para acceder a la API rest de Requirements & Systems Portal, el usuario debe proporcionar el token temporal de acceso de inicio de sesión, que se almacena en los kwargs de la función principal, o usar los User Tokens; consulte aquí.

Aquí tiene algunas ideas de lo que puede hacer con el módulo de scripting:

  • Crear un vali y añadirlo a varios componentes existentes

  • Realizar ediciones masivas en los identificadores de los requisitos

  • Ejecutar una simulación usando python

  • Convertir las unidades de todos los valis de potencia a kW

  • Crear y ejecutar un script para exportar la jerarquía de componentes

  • Crear una exportación en formato ReqIF a partir de los requisitos

  • Crear una lista de materiales extrayendo el material, número de componente, masa y costo de los componentes

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.

Contenido