STL, qui possède plusieurs acronymes tels que « Standard Triangle Language » et « Standard Tessellation Language », est un format de fichier natif du logiciel de CAO de stéréolithographie. Les fichiers STL décrivent uniquement la géométrie de surface d’un objet tridimensionnel sans couleur, texture ou autres attributs. Pour visualiser le fichier STL, vous devez utiliser l’une des applications suivantes (c’est-à-dire Microsoft 3D Viewer, Microsoft Print 3D, IMSI TurboCAD Pro, GOM Inspect, etc.).Certaines de ces applications ont des coûts de licence qui leur sont associés et si le destinataire est sur un appareil mobile, il devient assez difficile de visualiser ces fichiers et de fournir un retour rapide. Une solution rapide et viable consiste donc à les convertir en formats d’image raster tels que BMP. Discutons maintenant de la conversion de STL en BMP en C# à l’aide de l’API REST.

API de traitement des fichiers CAO

Aspose.CAD Cloud est notre API basée sur REST qui offre les capacités de mise à l’échelle, de rotation, de retournement, de modification de dessins CAO ou même d’exportation de dessins AutoCAD vers d’autres formats pris en charge, tels que des images (BMP, PNG, JPG) et une mise en page fixe (PDF en tant que vecteur et en tant que raster).Pour plus de détails, veuillez consulter formats de fichiers pris en charge. Étant donné que l’API est développée selon l’architecture REST, nous pouvons l’intégrer dans des applications de bureau, mobiles, Web et basées sur le cloud.

Pour faciliter encore davantage la tâche de nos clients, nous avons créé des SDK spécifiques au langage de programmation afin que vous puissiez bénéficier de toutes les fonctionnalités/capacités de votre langage de programmation préféré. Cet article mettra l’accent sur l’utilisation de Aspose.CAD Cloud SDK for .NET. Maintenant, pour utiliser le SDK, nous devons d’abord l’installer sur le système. Pour plus de détails, veuillez consulter Comment installer les SDK Aspose.Cloud.

Conversion de STL en BMP en C#

Veuillez suivre les instructions ci-dessous pour convertir les fichiers STL déjà disponibles dans le Cloud et enregistrer le BMP résultant dans le stockage Cloud. Le PostDrawingBmp est utilisé pour les opérations de conversion.

  • Tout d’abord, créez une instance de File.Createclass tout en passant les détails ClientID et ClientSecret comme arguments.
  • Deuxièmement, créez un objet de classe BmpOptionsDTO où nous pouvons fournir des propriétés pour les opérations de conversion.
  • Troisièmement, créez une instance de la classe PostDrawingBmpRequest en fournissant le nom de fichier STL d’entrée et l’objet BmpOptionsDTO comme arguments.
  • Appelez maintenant la méthode PostDrawingBmp(…) pour lancer l’opération de conversion.
  • Enfin, enregistrez l’instance Stream en tant que fichier à l’aide de l’objet File.Create.
// Pour des exemples complets et des fichiers de données, veuillez consulter https://github.com/aspose-cad-cloud/aspose-cad-cloud-dotnet
// Obtenez les informations d'identification du client à partir de https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// créer un objet de CADApi
CadApi cadApi = new CadApi(clientSecret,clientID);

// nom du fichier FBSTL d'entrée
String inputFileName = "galeon.stl";
// format de fichier résultant
String newFormat = "bmp";
// nom du fichier résultant
String newFileName = "Converted.bmp";

try
{
    // créer une instance de 
    BmpOptionsDTO bmpOptionsDTO = new BmpOptionsDTO();
    
    // créer une instance de PostDrawingBmp class while providing input 
    // Nom du fichier STL et objets BmpOptionsDTO comme argument
    var response = new PostDrawingBmpRequest(inputFileName, bmpOptionsDTO);
    // lancer l'opération de conversion
    var responseStream = cadApi.PostDrawingBmp(response);
    
    saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// méthode personnalisée pour enregistrer le contenu du flux en tant qu'objet fichier
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Les fichiers d’exemple utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir de galeon.stl et converted.bmp.

Convertir STL en BMP à l’aide de cURL

Grâce à l’architecture REST de nos API, elles sont facilement accessibles via des commandes cURL sur n’importe quelle plateforme. Cependant, une condition préalable est de générer un jeton d’accès JWT basé sur les détails ClientID et Client Secret spécifiés sur tableau de bord Aspose.Cloud. Veuillez exécuter la commande suivante pour générer un jeton JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Pour plus de détails, vous pouvez consulter Comment obtenir un jeton JWT à l’aide d’un ID client et d’une clé secrète client.

Maintenant que nous avons obtenu le jeton JWT, veuillez exécuter la commande suivante pour convertir le fichier STL au format BMP et enregistrer la sortie à l’emplacement spécifié.

curl -X GET "https://api.aspose.cloud/v3.0/cad/galeon.stl/saveAs/bmp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.bmp

Conclusion

Nous avons discuté de quelques étapes très simples sur la façon dont les fichiers STL peuvent être convertis en image raster BMP sans utiliser de composant tiers. De plus, toute l’opération de conversion a été effectuée dans le Cloud sans imposer de charge sur le système local. Comme nos SDK sont développés sous licence MIT, le code source complet peut être téléchargé depuis GitHub. Si vous rencontrez un problème ou si vous avez des questions connexes, n’hésitez pas à nous contacter via forum d’assistance produit gratuit.

Articles connexes

Nous vous recommandons également de visiter les liens suivants pour en savoir plus sur :