STL que tem vários backronyms como “Standard Triangle Language” e “Standard Tessellation Language” é um formato de arquivo nativo para o software CAD de estereolitografia. Os arquivos STL descrevem apenas a geometria da superfície de um objeto tridimensional sem cor, textura ou outros atributos. Para visualizar o arquivo STL, você precisa usar um dos seguintes aplicativos (ou seja, Microsoft 3D Viewer, Microsoft Print 3D, IMSI TurboCAD Pro, GOM Inspect, etc.).Alguns desses aplicativos têm custos de licença associados a eles e se o destinatário estiver em um dispositivo móvel, fica muito difícil visualizar esses arquivos e fornecer feedback rápido. Portanto, uma solução rápida e viável é convertê-los para formatos de imagem raster, como BMP. Agora vamos discutir a conversão de STL para BMP em C# usando REST API.

API de processamento de arquivos CAD

Aspose.CAD Cloud é nossa API baseada em REST que oferece recursos para dimensionar, girar, inverter, editar desenhos CAD ou até mesmo exportar desenhos do AutoCAD para outros formatos suportados, como imagens (BMP, PNG, JPG) e layout fixo (PDF como um vetor e como um raster).Para mais detalhes, visite formatos de arquivo suportados. Como a API é desenvolvida de acordo com a arquitetura REST, podemos incorporá-la em aplicativos de desktop, móveis, web e baseados em nuvem.

Para facilitar ainda mais nossos clientes, criamos SDKs específicos para linguagens de programação para que você tenha todos os recursos/capacidades dentro de sua linguagem de programação favorita. Este artigo enfatizará a utilização do Aspose.CAD Cloud SDK para .NET. Agora, para usar o SDK, precisamos primeiro instalá-lo no sistema. Para detalhes relacionados, visite Como instalar Aspose.Cloud SDKs.

STL para BMP em C#

Siga as instruções abaixo para converter arquivos STL já disponíveis na Cloud e salvar o BMP resultante no armazenamento na Cloud. O PostDrawingBmp é usado para operações de conversão.

  • Primeiro, crie uma instância de File.Createclass enquanto passa os detalhes ClientID e ClientSecret como argumentos.
  • Em segundo lugar, crie um objeto da classe BmpOptionsDTO onde podemos fornecer propriedades para operações de conversão.
  • Em terceiro lugar, crie uma instância da classe PostDrawingBmpRequest fornecendo o nome do arquivo STL de entrada e o objeto BmpOptionsDTO como argumentos.
  • Agora chame o método PostDrawingBmp(…) para iniciar a operação de conversão.
  • Por fim, salve a instância do Stream como um arquivo usando o objeto File.Create.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-cad-cloud/aspose-cad-cloud-dotnet
// Obtenha credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// crie um objeto de CADApi
CadApi cadApi = new CadApi(clientSecret,clientID);

// nome do arquivo FBSTL de entrada
String inputFileName = "galeon.stl";
// formato de arquivo resultante
String newFormat = "bmp";
// nome do arquivo resultante
String newFileName = "Converted.bmp";

try
{
    // criar uma instância de 
    BmpOptionsDTO bmpOptionsDTO = new BmpOptionsDTO();
    
    // criar uma instância de PostDrawingBmp class while providing input 
    // Nome do arquivo STL e objetos BmpOptionsDTO como argumento
    var response = new PostDrawingBmpRequest(inputFileName, bmpOptionsDTO);
    // iniciar a operação de conversão
    var responseStream = cadApi.PostDrawingBmp(response);
    
    saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

// método personalizado para salvar o conteúdo do Stream como objeto de arquivo
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Os arquivos de amostra usados no exemplo acima podem ser baixados de galeon.stl e converted.bmp.

Converter STL para BMP usando cURL

Devido à arquitetura REST de nossas APIs, elas podem ser facilmente acessadas por meio de comandos cURL em qualquer plataforma. No entanto, um pré-requisito é gerar o token de acesso JWT com base nos detalhes do ClientID e do Client Secret especificados em Aspose.Cloud dashboard. Execute o comando a seguir para gerar o token 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"

Para mais detalhes, você pode considerar visitar Como obter um token JWT usando um ID de cliente e uma chave secreta de cliente.

Agora que temos o token JWT, execute o seguinte comando para converter o arquivo STL para o formato BMP e salvar a saída no local especificado.

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

Conclusão

Discutimos alguns passos muito simples sobre como arquivos STL podem ser convertidos para imagem raster BMP sem usar nenhum componente de terceiros. Além disso, toda a operação de conversão foi realizada na Cloud sem colocar carga no sistema local. Como nossos SDKs são desenvolvidos sob licença MIT, o código-fonte completo pode ser baixado do GitHub. Se você encontrar algum problema ou tiver alguma dúvida relacionada, sinta-se à vontade para entrar em contato conosco via fórum de suporte gratuito ao produto.

Artigos relacionados

Recomendamos também que você visite os seguintes links para saber mais sobre: