Autodesk.Intent.Services-DLL

Die erste zu beachtende Komponente ist die DLL, die den Web Services-API-Vertrag und die Client-Proxy-Klasse enthält. Die Verwendung dieser DLL in Ihrer Client-Anwendung ist optional. Sie stellt einige nützliche Werkzeuge für das Erstellen eigener Proxys und Services bereit. Alternativ können Sie die Intent Services verwenden, indem Sie eine Servicereferenz auf Ihre .NET-Anwendung hinzufügen, wodurch ein Client-Proxy für Sie generiert werden kann.

IntentServicesClient

Dies ist eine vorgefertigte Client-Proxy-Klasse, die von .NET-Clients verwendet werden kann, um auf die Web Services zuzugreifen. Sie verfügt über mehrere Konstruktoren, die auf die gleiche Weise funktionieren wie die Konstruktoren, die von einem Client-Proxy bereitgestellt werden, der durch eine Servicereferenz und dadurch, dass ein zusätzlicher Konstruktor ein URI-Argument annimmt, generiert wird.

Der Vorgabekonstruktor erfordert, dass der Client in der Anwendungskonfigurationsdatei (oder in web.config, wenn der Client eine Website ist) konfiguriert wird. Nachfolgend sehen Sie ein Beispiel dafür, wie die Konfiguration für einen Named-Pipe-Endpunkt aussehen würde:
<configuration>
  <system.serviceModel>
    <bindings>
      <netNamedPipeBinding>
        <binding name="NetNamedPipeBinding_IIntentServices" closeTimeout="00:01:00"
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:05:00"
          transactionFlow="false" transferMode="Buffered"
          hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="67108864"
          maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="67108864">
          <readerQuotas maxDepth="32"
                        maxStringContentLength="33554432"
                        maxArrayLength="67108864"
                        maxBytesPerRead="4096"
                        maxNameTableCharCount="16384" />
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign" />
          </security>
        </binding>
      </netNamedPipeBinding>
    </bindings>
    <client>
      <endpoint address="net.pipe://localhost/Autodesk/Intent/Services"
                binding="netNamedPipeBinding"
                bindingConfiguration="NetNamedPipeBinding_IIntentServices"
                contract="Autodesk.Intent.Services.IIntentServices"
                name="NetNamedPipeBinding_IIntentServices">
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

Der zusätzliche Konstruktor nimmt einen URI an, der auf den WCF-Endpunkt zeigt, der die IIntentServices hostet. Er sollte mit dem URI des Intent-Sitzungsmanager-Diensts (siehe unten) instanziiert werden, damit die Client-Anwendung auf die Remote-API zugreifen kann.

IIntentServices:

Diese Schnittstelle definiert, welche Operationen in den Web Services verfügbar sind. Die API entspricht von einigen Ausnahmen abgesehen der Intent-Standard-API.

Übersicht über die Remote-API

Anmerkung: Eine WCF-API ist keine objektorientierte API. Beispielsweise können Objekte oder Sammlungen von Objekten, die eigene Operationen enthalten, nicht zurückgegeben werden. Stattdessen sind alle Operationen auf einer einzigen Schnittstelle (IIntentServices) vorhanden. Außerdem werden Operationen, die in einer OO-API auf ein enthaltenes Objekt angewendet werden, mit einem Parameter zur Angabe der ID des Objekts implementiert. Beispielsweise nehmen Operationen, die auf ein Bauteil angewendet werden, das Argument partRefChain an. Nachfolgend sehen Sie eine allgemeine Übersicht. Die gesamte API finden Sie in der Datei IntentAPI.chm im Ordner \Help im Installationsverzeichnis.
Verwaltung
  • SetApplication - Initialisiert die Intent-Sitzung, indem die angegebene Intent-Anwendung geladen wird, die zuvor im Inventor ETO Server-Konfigurator konfiguriert wurde.
  • GetApplication - Gibt den Namen der in SetApplication angegebenen Anwendung zurück.
  • IntentVersion - Gibt eine string , die die Intent-Versionsnummer darstellt.
Laden/Speichern des Modells
  • ImportModel - Lädt ein Modell aus einer string mit dem Modell. (Dies schlägt fehl, wenn das Modell nicht leer ist.)
  • ExportModel - Exportiert das aktuelle Modell in eine string .
  • Reset - Setzt das Modell zurück. Dies muss vor ImportModel aufgerufen werden, wenn das Modell nicht leer ist.
Bauteilspezifische Operationen
Regeln

Die API verfügt über eine Get- und Set-Methode für jeden der unterstützten Typen. Für jede Methode gibt es eine schwach typisierte Version ( GetValue , SetValue ), die den Wert mittels Boxing in ein .NET-Objekt konvertiert.

Es gibt auch eine stark typisierte Version für jeden der internen Intent-Typen.

  • Boolescher Wert
  • Ganzzahl
  • Zahl
  • Zeichenfolge
  • Punkt
  • Vektor
  • Name
  • Liste (als Objekt[])

Die schwach typisierte Version unterstützt alle internen Intent-Typen sowie Objekte zur Unterstützung beliebiger binärer Datenströme (z. B. byte[], Stream, MemoryStream).

Darüber hinaus gibt es eine Operation, die die Einrichtung einer Regel durch eine Formel ermöglicht.

  • SetRuleFormula – Nimmt eine Zeichenfolge an, die die Formel darstellt, mit der die Regel eingerichtet wird.
Weitere
  • AddDynamicChildRule - Fügt eine neue dynamische child rule , um die part .
  • DeleteDynamicRules - Löscht alle dynamischen rules auf der angegebenen part .
  • Unbind - Löst die Bindung der Regel.
  • IsBound - Ermittelt, ob eine Regel gebunden ist.
  • Render - Rendert das Modell.

IntentServicesWrapper

Diese abstrakte Basisklasse fungiert als Wrapper für eine andere Klasse, die IIntentServices implementiert. Sie können mit ihr eine SOAP-basierte Webdienst-Implementierung erstellen, die Sie über Ihre Webanwendung anzeigen können. Verwenden Sie sie als Wrapper für ein IntentServicesClient-Objekt.