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 플러그인을 작성하려면:
AutoCAD: AutoCAD용 플러그인 교육
Inventor: Inventor용 플러그인 교육
작동 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)
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 });