Actuellement en train de faire une refonte de mon ERP(Access) en application PHP je me suis cette après midi intéressé à savoir si il était possible d’intégré un morceau de l'API de TopSolid dans mon application.
je cherche notamment à récuperer la listes des projets du PDM et la nomenclature de ceux ci.
n'ayant vu très peu de documentation à ce sujet sur le web je me permets de vous montrer ce que j'ai réussi à faire :
j'ai écris une classe en C# avec visualStudio:
Code : Tout sélectionner
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using TopSolid.Kernel.Automating;
using TopSolid.Cad.Design.Automating;
using TopSolid.Cad.Drafting.Automating;
namespace TestPhp
{
public class Class1
{
private bool retour;
public string HelloWorld()
{
return "Bonjour le monde";
}
public bool Connect()
{
retour = true;
retour = TopSolidHost.Connect();
TopSolidDesignHost.Connect();
TopSolidDraftingHost.Connect();
return retour;
}
public bool IsConnected()
{
return TopSolidHost.IsConnected;
}
public string Document()
{
if (!TopSolidHost.IsConnected)
{
return "";
}
DocumentId docId = TopSolidHost.Documents.EditedDocument;
return docId.ToString();
}
public bool Disconnect()
{
TopSolidHost.Disconnect();
TopSolidDesignHost.Disconnect();
TopSolidDraftingHost.Disconnect();
return true;
}
public string VersionTSHost()
{
return TopSolidHost.Version.ToString();
}
public string Projects()
{
//List<PdmObjectId>
var project_list = TopSolidHost.Pdm.GetProjects(true, false);
var retour = "";
foreach (PdmObjectId id in project_list)
retour += id.Id + " ; " ;
return retour;
}
public List<PdmObjectId> Projectss()
{
//List<PdmObjectId>
var project_list = TopSolidHost.Pdm.GetProjects(true, false);
//PdmObjectId[] project_array = project_list.ToArray();
return project_list;
}
}
}
Code : Tout sélectionner
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe C:\Users\Baptou\source\repos\TestPhp\bin\Debug\TestPhp.dll
Code : Tout sélectionner
$object = new \COM('TestPhp.Class1');
//$object = new \DOTNET('TestPhp','Class1');
dump($object->HelloWorld());
dump($object->Connect());
dump($object->IsConnected());
dump($object->Document());
dump($object->VersionTSHost());
dump($object->Projectss());
Cordialement Baptiste