API (Application Programming Interface) für Factory Design

Bearbeiten Sie Ihre Factory Design-Layouts über die API.

Die Factory Design-In-CAD-API (Application Programming Interface) wurde entwickelt, um Programmierzugriff auf Factory Design-Layouts bzw. deren Bearbeitung zu ermöglichen. Die API ist in Inventor und AutoCAD verfügbar.

Mit der Factory Design-API können Sie Ihre Factory-Layouts in andere Computersysteme integrieren. Wenn Sie beispielsweise über ein benutzerdefiniertes Werkzeug zur Analyse der Ergonomie eines Produktbaugruppen-Arbeitsablaufs verfügen und die Positionen der Arbeitsstation oder Maschine entsprechend anpassen, kann die Ausgabe dieses Werkzeugs verwendet werden, um die Position von Objekten in Ihrem Factory Design-Layout programmatisch zu beeinflussen.

Um diese API zu verwenden, müssen Sie während des CAD-Prozesses .NET-Code ausführen. Erstellen Sie ein Plugin, um den Code während des CAD-Prozesses auszuführen.

So erstellen Sie CAD-Plugins mithilfe der Microsoft.NET-Technologie

  1. Weitere Informationen erhalten Sie in den folgenden Schulungen:
  2. Wenn Sie über ein funktionierendes CAD-Plugin verfügen, können Sie die Datei Autodesk.Factory.PublicAPI.dll referenzieren, die sich unter folgendem Pfad befindet:

    C:\Programme\Autodesk\ApplicationPlugins\FactApplication_R22.0.bundle\Contents\x64\ (AutoCAD) bzw. C:\Programme\Autodesk\Inventor 2018\Bin\InventorFactory\ (Inventor)
  3. Referenzieren Sie die Datei Autodesk.Factory.PublicAPI.dll, um die Factory Design-API aufzurufen.
    Wichtig: Stellen Sie die DLL-Datei nicht mit Ihrem CAD-Plugin bereit.

Die Benutzeroberfläche der Factory Design-In-CAD-API ist in Inventor und AutoCAD gleich, und es wird jeweils ein Layout bearbeitet (keine Bearbeitung von Unterlayouts). Der Layout-Parameter kann für alle API-Methoden verwendet werden und steht für das Layout-Dokument, das bearbeitet wird. In Inventor ist dies ein AssemblyDocument und in AutoCAD eine Autodesk.AutoCAD.DatabaseServices.Database.

Die API bietet vier Methoden:

Alle Methoden gelten für Objektexemplare:

Zum Abrufen der AssetID eines Objekts sehen Sie in der <Family ID> in der Datei family.xml nach.

Ein Objektexemplar beinhaltet die folgenden Factory Design-Daten:

AddAssetInstances

Verwenden Sie diese API zum Hinzufügen neuer Objektexemplare zu einem Layout. Für jedes Exemplar muss die Position angegeben werden, an der es platziert wird, sowie das Bibliotheksobjekt, das verwendet wird, um das Exemplar zu konstruieren. (Optional) Sie können Parameterwerte angeben, die für die Konstruktion des Exemplars verwendet werden sollen. Wenn keine Parameter festgelegt wurden, werden die vorgegebenen Werte aus der Bibliothek verwendet.

using APIv2 = Autodesk.Factory.PublicAPI.Objects.v2;
…
var api = Autodesk.Factory.PublicAPI.API.Instance;
APIv2.AssetInstance newInst1 = new APIv2.AssetInstance()
{
AssetID = "41c84844-7b28-4903-bebd-365ca3a6a53c",  //Straight Belt Conveyor
Position = new System.Windows.Media.Media3D.Matrix3D() { OffsetX = 0, OffsetY = 0, OffsetZ = 0 },
};
var insts = api.AddAssetInstances(layout, new PublicAPI.Currency.v2.IAssetInstance[] { newInst1 });
System.Windows.MessageBox.Show(insts.Length.ToString(), "Added instances");

GetAssetInstances

var insts = api.GetAssetInstances(layout);
System.Windows.MessageBox.Show(insts.Length.ToString(), "Get - COUNT");

UpdateAssetInstances

Diese API wird verwendet, um die Position, Parameter und Eigenschaften des Exemplars zu ändern.

var insts = api.GetAssetInstances(layout);
foreach (var item in insts)
{
var position = item.Position;
position.OffsetX += 200;
item.Position = position;
item.Parameters["Length"] = "400";
}
insts = api.UpdateAssetInstances(layout, insts);
System.Windows.MessageBox.Show("update position done");

DeleteAssetInstances

api.DeleteAssetInstances(layout, new PublicAPI.Currency.v2.IAssetInstance[] { instToDelete });