Python Engine

Benutzer können ihre Python-Skripte auch innerhalb des Requirements & Systems Portal ausführen, um mithilfe von Python-Code Berechnungen ähnlich wie mit der Octave Engine durchzuführen. Darüber hinaus können Benutzer damit auch auf die REST-API zugreifen und Änderungen an Objekten einzeln oder gesammelt vornehmen. Die integrierte Python-Engine unterstützt derzeit die Python-„Valispace“-Pakete, pint und Scipy (einschließlich NumPy und weiterer Pakete). Derzeit sind nicht alle Python-Pakete verfügbar.

Python-Skript-Ablauf im Scripting Module

Der typische Workflow in einem Scripting Module mit der Python-Engine ist im folgenden Bild dargestellt. Falls der Benutzer keine Berechnung durchführen, sondern über die REST-API Massenänderungen vornehmen möchte, kann er den Python-Code direkt schreiben und das Skript ausführen.

Pakete innerhalb der Python-Engine

Da wir die Python-Engine im Requirements & Systems Portal als Beta-Funktion implementiert haben, unterstützt die Python-Engine nicht alle Pakete. Derzeit werden nur sehr wenige Pakete unterstützt. Die aktuell unterstützten Pakete sind hier aufgeführt.

Beispiel für Python-Scripting

Mit der Python-Engine kann der Benutzer Eingaben und Ausgaben hinzufügen und Python-Code schreiben, um die Ergebnisse zu berechnen. Dies funktioniert ähnlich wie bei der Octave Engine im Requirements & Systems Portal. Im folgenden Beispiel sehen Sie, wie Sie ein Python-Skript schreiben, um einem Block einen Unterblock hinzuzufügen.

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)

 

Derzeit muss der Benutzer, um auf die REST-API des Requirements & Systems Portal zuzugreifen, das temporäre Zugriffstoken für die Anmeldung angeben, das in den kwargs der main-Funktion gespeichert ist, oder die User Tokens verwenden, siehe hier.

Hier sind einige Ideen, was Sie mit dem Scripting Module tun können:

  • Ein Vali erstellen und es mehreren vorhandenen Komponenten hinzufügen

  • Massenbearbeitungen an den Kennungen von Anforderungen vornehmen

  • Eine Simulation mit Python ausführen

  • Die Einheiten aller Power-Valis in kW umwandeln

  • Ein Skript erstellen und ausführen, um die Komponentenhierarchie zu exportieren

  • Einen Export der Anforderungen im ReqIF-Format erstellen

  • Eine Stückliste erstellen, die Material, Komponentennummer, Masse und Kosten der Komponenten extrahiert

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.

Inhalt