Factory Design용 API(응용 프로그램 인터페이스)

API를 통해 Factory Design 배치를 조작합니다.

Factory Design, In-CAD API(응용 프로그램 인터페이스)는 Factory Design 배치에 대한 프로그래밍 방식 액세스 및 조작을 허용하도록 설계되었습니다. 이 API는 Inventor 및 AutoCAD에서 사용할 수 있습니다.

Factory Design API를 사용하면 Factory 배치를 다른 컴퓨터 시스템과 통합할 수 있습니다. 예를 들어, 제품 조립품 워크플로우의 인체 공학을 분석하고 그에 따라 워크스테이션이나 컴퓨터 위치를 조정하는 데 사용되는 사용자 도구가 있는 경우 이 도구의 결과물을 사용하여 Factory Design 배치의 자산 위치에 프로그래밍 방식으로 영향을 줄 수 있습니다.

이 API를 사용하려면 CAD 프로세스에서 .NET 코드가 실행되어야 합니다. CAD 프로세스에서 이 코드를 실행하려면 플러그인을 작성합니다.

Microsoft.NET 기술을 사용하여 CAD 플러그인을 작성하려면:

  1. 다음에서 제공하는 교육을 참조하십시오.
  2. 작동 CAD 플러그인이 있으면 다음 경로에 있는 Autodesk.Factory.PublicAPI.dll을 참조하면 됩니다.

    C:\Program Files\Autodesk\ApplicationPlugins\FactApplication_R22.0.bundle\Contents\x64\(AutoCAD) 및 C:\Program Files\Autodesk\Inventor 2018\Bin\InventorFactory\(Inventor)
  3. Autodesk.Factory.PublicAPI.dll을 참조하여 Factory Design API를 호출합니다.
    중요사항: CAD 플러그인과 함께 DLL을 배치하지 마십시오.

Factory Design In-CAD API는 Inventor와 AutoCAD 모두에서 동일한 인터페이스를 표시하며 한 번에 하나의 배치에서 작동합니다(하위 배치 조작 없음). 모든 API 메서드는 영향을 받는 배치 문서를 나타내는 배치 매개변수를 사용합니다. Inventor의 경우 이 매개변수는 AssemblyDocument이며 AutoCAD의 경우에는 Autodesk.AutoCAD.DatabaseServices.Database입니다.

이 API는 다음 4가지 메서드를 제공합니다.

모든 메서드는 자산 인스턴스 객체에서 작동합니다.

자산의 AssetID를 가져오려면 family.xml의 <Family ID>를 참조하십시오.

자산 인스턴스는 다음 Factory Design 데이터를 공급합니다.

AddAssetInstances

이 API를 사용하여 배치에 새 자산 인스턴스를 추가합니다. 각 인스턴스에서 인스턴스가 배치될 위치와 인스턴스를 구성하는 데 사용할 라이브러리 자산을 지정해야 합니다. 필요에 따라 호출자가 인스턴스를 구성하는 데 사용할 매개변수 값을 지정할 수 있습니다. 매개변수를 지정하지 않으면 라이브러리의 기본값이 사용됩니다.

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

이 API는 인스턴스 위치, 매개변수 및 특성을 변경하는 데 사용됩니다.

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 });